A simplified version is shown below. { "DATASIZE": { "x": 4096, "y": 4004 }, "DETSIZE": { "x": 4352, "y": 4096 }, "NUM_AMPS": 16, "SEG_DATASIZE": { "x": 512, "y": 2002 }, "SEG_SIZE": { "x": 544, "y": 2048 }, "BOUNDARY": [ [ {},...,{} ], [ {},...{} ] ], "BOUNDARY_OVERSCAN": [ [ {},...{} ], [ {},...{} ] ] } Inside BOUNDARY or BOUNDARY_OVERSCAN field each segment is being described as: { "width": 544, "height": 2048, "x": 10, "y": 2094, "index": 15, "reverse_slice": { "x": false, "y": true } } Keywords x, y, width and height are describing a region as a rectangular box (similar to ds9 region). index is the index of segment/extension in the multi-extension FITS file. reverse_slice is describing the orientation (whether the slicing in data/matrix should be reversed or not for displaying) in X and Y direction, which is used when converting multi-extension to single-extension FITS. I think it's not very helpful in the front end since the image displayed is already single-extension. Front end can get information of a particular segment by indices (assume 8×2 segments). For example, json_var["BOUNDARY_OVERSCAN"][0][7] Here is the complete version. { "BOUNDARY": [ [ { "height": 2002, "index": 15, "reverse_slice": { "x": false, "y": true }, "width": 512, "x": 0, "y": 2002 }, { "height": 2002, "index": 14, "reverse_slice": { "x": false, "y": true }, "width": 512, "x": 512, "y": 2002 }, { "height": 2002, "index": 13, "reverse_slice": { "x": false, "y": true }, "width": 512, "x": 1024, "y": 2002 }, { "height": 2002, "index": 12, "reverse_slice": { "x": false, "y": true }, "width": 512, "x": 1536, "y": 2002 }, { "height": 2002, "index": 11, "reverse_slice": { "x": false, "y": true }, "width": 512, "x": 2048, "y": 2002 }, { "height": 2002, "index": 10, "reverse_slice": { "x": false, "y": true }, "width": 512, "x": 2560, "y": 2002 }, { "height": 2002, "index": 9, "reverse_slice": { "x": false, "y": true }, "width": 512, "x": 3072, "y": 2002 }, { "height": 2002, "index": 8, "reverse_slice": { "x": false, "y": true }, "width": 512, "x": 3584, "y": 2002 } ], [ { "height": 2002, "index": 0, "reverse_slice": { "x": true, "y": false }, "width": 512, "x": 0, "y": 0 }, { "height": 2002, "index": 1, "reverse_slice": { "x": true, "y": false }, "width": 512, "x": 512, "y": 0 }, { "height": 2002, "index": 2, "reverse_slice": { "x": true, "y": false }, "width": 512, "x": 1024, "y": 0 }, { "height": 2002, "index": 3, "reverse_slice": { "x": true, "y": false }, "width": 512, "x": 1536, "y": 0 }, { "height": 2002, "index": 4, "reverse_slice": { "x": true, "y": false }, "width": 512, "x": 2048, "y": 0 }, { "height": 2002, "index": 5, "reverse_slice": { "x": true, "y": false }, "width": 512, "x": 2560, "y": 0 }, { "height": 2002, "index": 6, "reverse_slice": { "x": true, "y": false }, "width": 512, "x": 3072, "y": 0 }, { "height": 2002, "index": 7, "reverse_slice": { "x": true, "y": false }, "width": 512, "x": 3584, "y": 0 } ] ], "BOUNDARY_OVERSCAN": [ [ { "height": 2048, "index": 15, "reverse_slice": { "x": false, "y": true }, "width": 544, "x": 10, "y": 2094 }, { "height": 2048, "index": 14, "reverse_slice": { "x": false, "y": true }, "width": 544, "x": 554, "y": 2094 }, { "height": 2048, "index": 13, "reverse_slice": { "x": false, "y": true }, "width": 544, "x": 1098, "y": 2094 }, { "height": 2048, "index": 12, "reverse_slice": { "x": false, "y": true }, "width": 544, "x": 1642, "y": 2094 }, { "height": 2048, "index": 11, "reverse_slice": { "x": false, "y": true }, "width": 544, "x": 2186, "y": 2094 }, { "height": 2048, "index": 10, "reverse_slice": { "x": false, "y": true }, "width": 544, "x": 2730, "y": 2094 }, { "height": 2048, "index": 9, "reverse_slice": { "x": false, "y": true }, "width": 544, "x": 3274, "y": 2094 }, { "height": 2048, "index": 8, "reverse_slice": { "x": false, "y": true }, "width": 544, "x": 3818, "y": 2094 } ], [ { "height": 2048, "index": 0, "reverse_slice": { "x": true, "y": false }, "width": 544, "x": 22, "y": 0 }, { "height": 2048, "index": 1, "reverse_slice": { "x": true, "y": false }, "width": 544, "x": 566, "y": 0 }, { "height": 2048, "index": 2, "reverse_slice": { "x": true, "y": false }, "width": 544, "x": 1110, "y": 0 }, { "height": 2048, "index": 3, "reverse_slice": { "x": true, "y": false }, "width": 544, "x": 1654, "y": 0 }, { "height": 2048, "index": 4, "reverse_slice": { "x": true, "y": false }, "width": 544, "x": 2198, "y": 0 }, { "height": 2048, "index": 5, "reverse_slice": { "x": true, "y": false }, "width": 544, "x": 2742, "y": 0 }, { "height": 2048, "index": 6, "reverse_slice": { "x": true, "y": false }, "width": 544, "x": 3286, "y": 0 }, { "height": 2048, "index": 7, "reverse_slice": { "x": true, "y": false }, "width": 544, "x": 3830, "y": 0 } ] ], "DATASIZE": { "x": 4096, "y": 4004 }, "DETSIZE": { "x": 4352, "y": 4096 }, "NUM_AMPS": 16, "SEG_DATASIZE": { "x": 512, "y": 2002 }, "SEG_SIZE": { "x": 544, "y": 2048 } }