Skip to content

Instantly share code, notes, and snippets.

@bamford
Created December 4, 2024 23:07
Show Gist options
  • Save bamford/33930c630abd720bc8940c7daa4739b7 to your computer and use it in GitHub Desktop.
Save bamford/33930c630abd720bc8940c7daa4739b7 to your computer and use it in GitHub Desktop.
Reading a set of FITS files to a dask xarray Dataset
Display the source blob
Display the rendered blob
Raw
{"metadata":{"kernelspec":{"name":"conda-env-icl-py","display_name":"Python [conda env:icl]","language":"python"},"language_info":{"name":"python","version":"3.12.3","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat_minor":5,"nbformat":4,"cells":[{"id":"69e99aab-2ca0-44e2-9e7f-c2829e5e334e","cell_type":"markdown","source":"# xarray\n\n> Utilities for handling Euclid FITS images as xarray Datasets, using dask for efficient computation and memory usage.","metadata":{}},{"id":"f5c20e40-c559-4d29-9dd3-58f5210a0fd0","cell_type":"code","source":"# | default_exp euclid.xarray","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"id":"04164637-e84c-4e28-8d3c-bb436347e488","cell_type":"code","source":"# | export\n\nimport json\nfrom warnings import catch_warnings, filterwarnings\n\nimport numpy as np\nimport xarray as xr\nfrom astropy.io import fits\nfrom kerchunk.combine import MultiZarrToZarr\nfrom kerchunk.fits import process_file\nfrom nicl.euclid.utilities import (\n get_dither_id_from_filename,\n get_filter_from_filename,\n get_obs_id_from_filename,\n get_tile_index_from_filename,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"id":"525e8351-adaa-4c06-a922-992496b4438b","cell_type":"code","source":"# | hide\n# # Additional imports used in the examples\n\nfrom nicl.euclid.utilities import default_data_path, get_nisp_images_for_observation","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"id":"b0bded1e-03b5-4fea-8e61-26f331fb55ee","cell_type":"code","source":"# | exporti\n\ndef _fix_byte_order(refs):\n \"\"\"Correctly identify the byte order as bigendian.\n\n This is a workaround. A proper fix has been submitted via this PR:\n https://github.com/fsspec/kerchunk/pull/531\n When that PR is merged this function will be unnecessary, but not cause any harm.\n \"\"\"\n for k in refs.keys():\n if \"zarray\" in k:\n z = json.loads(refs[k])\n z[\"dtype\"] = np.dtype(z[\"dtype\"]).newbyteorder(\">\").str\n refs[k] = json.dumps(z).encode()\n return refs","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"id":"027d944a-d705-447a-ac34-fb8b99050f40","cell_type":"code","source":"# | exporti\n\ndef _rename(refs, new_name):\n \"\"\"Rename the zarray in a kerchunk json reference.\"\"\"\n new_refs = {}\n for key in refs.keys():\n if \"/\" in key:\n parts = key[key.find(\"/\")+1:]\n new_key = f\"{new_name}/{parts}\"\n new_refs[new_key] = refs[key]\n return new_refs","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"id":"5ee9111b-4eef-4b57-9c71-63815cd4ef63","cell_type":"code","source":"# | exporti\n\ndef _get_ext_type(x):\n return x.split(\".\")[1] if \".\" in x else None\n\ndef _get_ext_det(x):\n return x.split(\".\")[0] if \".\" in x else x","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"id":"639e1a23-ae8b-4e0a-a1c8-95ad190145a5","cell_type":"code","source":"# | export\n\ndef create_zarr_ref_from_fits(fns):\n \"\"\"Create a zarr reference from a set of Euclid fits files.\n\n This uses kerchunk to build a zarr reference file for accessing data directly from fits files.\n The resulting reference can then be opened as a xarray Dataset with `open_zarr_ref_as_dataset`.\n \"\"\"\n if isinstance(fns, str):\n fns = [fns]\n fn = fns[0]\n if \"MER\" in str(fn):\n product_id_name = \"tile_index\"\n get_product_id = get_tile_index_from_filename\n else:\n product_id_name = \"observation_id\"\n get_product_id = get_obs_id_from_filename\n with fits.open(fn) as hdul:\n exts = list(h.name for h in hdul if h.size > 0)\n ref_files = []\n product_ids = []\n dither_ids = []\n filters = []\n for fn in fns:\n ref_exts = []\n coords = []\n coord_name = \"extension\"\n for ext in exts:\n ext_type = _get_ext_type(ext)\n out = process_file(fn, extension=ext)\n if ext_type is not None:\n out = _rename(out, ext_type)\n coord_name = \"detector\"\n out = _fix_byte_order(out)\n ref_exts.append(out)\n coords.append(_get_ext_det(ext))\n mzz = MultiZarrToZarr(\n ref_exts,\n coo_map = {coord_name: coords},\n concat_dims=[coord_name],\n identical_dims = ['x', 'y']\n )\n ref_exts = mzz.translate()\n ref_files.append(ref_exts)\n product_id = get_product_id(fn)\n product_ids.append(product_id)\n dither_id = get_dither_id_from_filename(fn)\n if dither_id is not None:\n dither_ids.append(dither_id)\n filter = get_filter_from_filename(fn)\n if dither_id is not None:\n filters.append(filter)\n print(fn, product_id, dither_id, filter)\n coo_map = {}\n concat_dims = []\n if len(np.unique(product_ids)) > 0:\n coo_map[product_id_name] = product_ids\n concat_dims.append(product_id_name)\n if len(np.unique(dither_ids)) > 0:\n coo_map[\"dither\"] = dither_ids\n concat_dims.append(\"dither\")\n if len(np.unique(filters)) > 0:\n coo_map[\"filter\"] = filters\n concat_dims.append(\"filter\")\n mzz = MultiZarrToZarr(\n ref_files,\n coo_map = coo_map,\n concat_dims=concat_dims,\n identical_dims = ['x', 'y']\n )\n with catch_warnings():\n filterwarnings(\"ignore\", \"Concatenated coordinate .* contains less than expected\")\n out = mzz.translate()\n return out","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"id":"dd022f71-741c-4e44-8b63-1404c8ce3fa4","cell_type":"code","source":"# | export\n\ndef open_zarr_ref_as_dataset(ref):\n \"\"\"Open a zarr reference as a dask xarray Dataset.\"\"\"\n ds = xr.open_dataset(\n \"reference://\", engine=\"zarr\",\n chunks='auto',\n backend_kwargs={\n \"storage_options\": {\n \"fo\": ref,\n },\n \"consolidated\": False,\n }\n )\n return ds","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"id":"093eca4b-a1c3-484b-be4d-fcd97a1f0692","cell_type":"code","source":"# | export\n\ndef open_fits_as_dataset(fns):\n \"\"\"Create a zarr reference from a set of fits files and open as a dask xarray Dataset.\n \n If you plan to reopen the Dataset repeatedly, then is would be better to create the\n JSON reference once with `create_zarr_ref_from_fits`, save it, and then just open\n the reference as needed with `open_zarr_ref_as_dataset`.\n \"\"\"\n ref = create_zarr_ref_from_fits(fns)\n ds = open_zarr_ref_as_dataset(ref)\n return ds","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"id":"479147ce-6862-42b7-8f0f-e71231731515","cell_type":"markdown","source":"## Example","metadata":{}},{"id":"627c5bcd-4539-47ad-88e5-76388a35441a","cell_type":"code","source":"path = default_data_path(\"Q1_R1\")\nimage_info = get_nisp_images_for_observation(2683, path=path)\nfns = image_info.filename","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"id":"2c3c66ab-0800-42c3-8d9c-dd334ef6f88c","cell_type":"code","source":"%%time\nref = create_zarr_ref_from_fits(fns)","metadata":{"trusted":false},"outputs":[{"name":"stdout","output_type":"stream","text":"/Users/spb/euclid_data/Q1_R1/NIR/2683/EUC_NIR_W-CAL-IMAGE_J-2683-0_20240930T172941.852898Z.fits 2683 0 J\n/Users/spb/euclid_data/Q1_R1/NIR/2683/EUC_NIR_W-CAL-IMAGE_H-2683-0_20240930T184607.344746Z.fits 2683 0 H\n/Users/spb/euclid_data/Q1_R1/NIR/2683/EUC_NIR_W-CAL-IMAGE_Y-2683-0_20240930T174927.996060Z.fits 2683 0 Y\n/Users/spb/euclid_data/Q1_R1/NIR/2683/EUC_NIR_W-CAL-IMAGE_J-2683-1_20240930T172941.702020Z.fits 2683 1 J\n/Users/spb/euclid_data/Q1_R1/NIR/2683/EUC_NIR_W-CAL-IMAGE_H-2683-1_20240930T184607.455806Z.fits 2683 1 H\n/Users/spb/euclid_data/Q1_R1/NIR/2683/EUC_NIR_W-CAL-IMAGE_Y-2683-1_20240930T174928.133198Z.fits 2683 1 Y\n/Users/spb/euclid_data/Q1_R1/NIR/2683/EUC_NIR_W-CAL-IMAGE_J-2683-2_20240930T172941.856270Z.fits 2683 2 J\n/Users/spb/euclid_data/Q1_R1/NIR/2683/EUC_NIR_W-CAL-IMAGE_H-2683-2_20240930T184607.453358Z.fits 2683 2 H\n/Users/spb/euclid_data/Q1_R1/NIR/2683/EUC_NIR_W-CAL-IMAGE_Y-2683-2_20240930T174928.131907Z.fits 2683 2 Y\n/Users/spb/euclid_data/Q1_R1/NIR/2683/EUC_NIR_W-CAL-IMAGE_J-2683-3_20240930T172941.846371Z.fits 2683 3 J\n/Users/spb/euclid_data/Q1_R1/NIR/2683/EUC_NIR_W-CAL-IMAGE_H-2683-3_20240930T184607.529026Z.fits 2683 3 H\n/Users/spb/euclid_data/Q1_R1/NIR/2683/EUC_NIR_W-CAL-IMAGE_Y-2683-3_20240930T174928.130205Z.fits 2683 3 Y\nCPU times: user 15.4 s, sys: 346 ms, total: 15.7 s\nWall time: 16.1 s\n"}],"execution_count":null},{"id":"271e4fe6-4a86-457e-9d61-3b0f96bdffad","cell_type":"code","source":"%%time\nds = open_zarr_ref_as_dataset(ref)","metadata":{"trusted":false},"outputs":[{"name":"stdout","output_type":"stream","text":"CPU times: user 16 ms, sys: 2.48 ms, total: 18.5 ms\nWall time: 18.3 ms\n"}],"execution_count":null},{"id":"44cfe20b-6d49-44d4-b70b-b08712eb3feb","cell_type":"code","source":"ds","metadata":{"trusted":false},"outputs":[{"data":{"text/html":"<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n<defs>\n<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n</symbol>\n<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n</symbol>\n</defs>\n</svg>\n<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n *\n */\n\n:root {\n --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n --xr-border-color: var(--jp-border-color2, #e0e0e0);\n --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n --xr-background-color: var(--jp-layout-color0, white);\n --xr-background-color-row-even: var(--jp-layout-color1, white);\n --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n}\n\nhtml[theme=dark],\nhtml[data-theme=dark],\nbody[data-theme=dark],\nbody.vscode-dark {\n --xr-font-color0: rgba(255, 255, 255, 1);\n --xr-font-color2: rgba(255, 255, 255, 0.54);\n --xr-font-color3: rgba(255, 255, 255, 0.38);\n --xr-border-color: #1F1F1F;\n --xr-disabled-color: #515151;\n --xr-background-color: #111111;\n --xr-background-color-row-even: #111111;\n --xr-background-color-row-odd: #313131;\n}\n\n.xr-wrap {\n display: block !important;\n min-width: 300px;\n max-width: 700px;\n}\n\n.xr-text-repr-fallback {\n /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n display: none;\n}\n\n.xr-header {\n padding-top: 6px;\n padding-bottom: 6px;\n margin-bottom: 4px;\n border-bottom: solid 1px var(--xr-border-color);\n}\n\n.xr-header > div,\n.xr-header > ul {\n display: inline;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.xr-obj-type,\n.xr-array-name {\n margin-left: 2px;\n margin-right: 10px;\n}\n\n.xr-obj-type {\n color: var(--xr-font-color2);\n}\n\n.xr-sections {\n padding-left: 0 !important;\n display: grid;\n grid-template-columns: 150px auto auto 1fr 0 20px 0 20px;\n}\n\n.xr-section-item {\n display: contents;\n}\n\n.xr-section-item input {\n display: inline-block;\n opacity: 0;\n}\n\n.xr-section-item input + label {\n color: var(--xr-disabled-color);\n}\n\n.xr-section-item input:enabled + label {\n cursor: pointer;\n color: var(--xr-font-color2);\n}\n\n.xr-section-item input:focus + label {\n border: 2px solid var(--xr-font-color0);\n}\n\n.xr-section-item input:enabled + label:hover {\n color: var(--xr-font-color0);\n}\n\n.xr-section-summary {\n grid-column: 1;\n color: var(--xr-font-color2);\n font-weight: 500;\n}\n\n.xr-section-summary > span {\n display: inline-block;\n padding-left: 0.5em;\n}\n\n.xr-section-summary-in:disabled + label {\n color: var(--xr-font-color2);\n}\n\n.xr-section-summary-in + label:before {\n display: inline-block;\n content: '►';\n font-size: 11px;\n width: 15px;\n text-align: center;\n}\n\n.xr-section-summary-in:disabled + label:before {\n color: var(--xr-disabled-color);\n}\n\n.xr-section-summary-in:checked + label:before {\n content: '▼';\n}\n\n.xr-section-summary-in:checked + label > span {\n display: none;\n}\n\n.xr-section-summary,\n.xr-section-inline-details {\n padding-top: 4px;\n padding-bottom: 4px;\n}\n\n.xr-section-inline-details {\n grid-column: 2 / -1;\n}\n\n.xr-section-details {\n display: none;\n grid-column: 1 / -1;\n margin-bottom: 5px;\n}\n\n.xr-section-summary-in:checked ~ .xr-section-details {\n display: contents;\n}\n\n.xr-array-wrap {\n grid-column: 1 / -1;\n display: grid;\n grid-template-columns: 20px auto;\n}\n\n.xr-array-wrap > label {\n grid-column: 1;\n vertical-align: top;\n}\n\n.xr-preview {\n color: var(--xr-font-color3);\n}\n\n.xr-array-preview,\n.xr-array-data {\n padding: 0 5px !important;\n grid-column: 2;\n}\n\n.xr-array-data,\n.xr-array-in:checked ~ .xr-array-preview {\n display: none;\n}\n\n.xr-array-in:checked ~ .xr-array-data,\n.xr-array-preview {\n display: inline-block;\n}\n\n.xr-dim-list {\n display: inline-block !important;\n list-style: none;\n padding: 0 !important;\n margin: 0;\n}\n\n.xr-dim-list li {\n display: inline-block;\n padding: 0;\n margin: 0;\n}\n\n.xr-dim-list:before {\n content: '(';\n}\n\n.xr-dim-list:after {\n content: ')';\n}\n\n.xr-dim-list li:not(:last-child):after {\n content: ',';\n padding-right: 5px;\n}\n\n.xr-has-index {\n font-weight: bold;\n}\n\n.xr-var-list,\n.xr-var-item {\n display: contents;\n}\n\n.xr-var-item > div,\n.xr-var-item label,\n.xr-var-item > .xr-var-name span {\n background-color: var(--xr-background-color-row-even);\n margin-bottom: 0;\n}\n\n.xr-var-item > .xr-var-name:hover span {\n padding-right: 5px;\n}\n\n.xr-var-list > li:nth-child(odd) > div,\n.xr-var-list > li:nth-child(odd) > label,\n.xr-var-list > li:nth-child(odd) > .xr-var-name span {\n background-color: var(--xr-background-color-row-odd);\n}\n\n.xr-var-name {\n grid-column: 1;\n}\n\n.xr-var-dims {\n grid-column: 2;\n}\n\n.xr-var-dtype {\n grid-column: 3;\n text-align: right;\n color: var(--xr-font-color2);\n}\n\n.xr-var-preview {\n grid-column: 4;\n}\n\n.xr-index-preview {\n grid-column: 2 / 5;\n color: var(--xr-font-color2);\n}\n\n.xr-var-name,\n.xr-var-dims,\n.xr-var-dtype,\n.xr-preview,\n.xr-attrs dt {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding-right: 10px;\n}\n\n.xr-var-name:hover,\n.xr-var-dims:hover,\n.xr-var-dtype:hover,\n.xr-attrs dt:hover {\n overflow: visible;\n width: auto;\n z-index: 1;\n}\n\n.xr-var-attrs,\n.xr-var-data,\n.xr-index-data {\n display: none;\n background-color: var(--xr-background-color) !important;\n padding-bottom: 5px !important;\n}\n\n.xr-var-attrs-in:checked ~ .xr-var-attrs,\n.xr-var-data-in:checked ~ .xr-var-data,\n.xr-index-data-in:checked ~ .xr-index-data {\n display: block;\n}\n\n.xr-var-data > table {\n float: right;\n}\n\n.xr-var-name span,\n.xr-var-data,\n.xr-index-name div,\n.xr-index-data,\n.xr-attrs {\n padding-left: 25px !important;\n}\n\n.xr-attrs,\n.xr-var-attrs,\n.xr-var-data,\n.xr-index-data {\n grid-column: 1 / -1;\n}\n\ndl.xr-attrs {\n padding: 0;\n margin: 0;\n display: grid;\n grid-template-columns: 125px auto;\n}\n\n.xr-attrs dt,\n.xr-attrs dd {\n padding: 0;\n margin: 0;\n float: left;\n padding-right: 10px;\n width: auto;\n}\n\n.xr-attrs dt {\n font-weight: normal;\n grid-column: 1;\n}\n\n.xr-attrs dt:hover span {\n display: inline-block;\n background: var(--xr-background-color);\n padding-right: 10px;\n}\n\n.xr-attrs dd {\n grid-column: 2;\n white-space: pre-wrap;\n word-break: break-all;\n}\n\n.xr-icon-database,\n.xr-icon-file-text2,\n.xr-no-icon {\n display: inline-block;\n vertical-align: middle;\n width: 1em;\n height: 1.5em !important;\n stroke-width: 0;\n stroke: currentColor;\n fill: currentColor;\n}\n</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt; Size: 10GB\nDimensions: (observation_id: 1, dither: 4, filter: 3, detector: 16,\n y: 2040, x: 2040)\nCoordinates:\n * detector (detector) object 128B &#x27;DET11&#x27; &#x27;DET12&#x27; ... &#x27;DET43&#x27; &#x27;DET44&#x27;\n * dither (dither) int64 32B 0 1 2 3\n * filter (filter) object 24B &#x27;H&#x27; &#x27;J&#x27; &#x27;Y&#x27;\n * observation_id (observation_id) int64 8B 2683\nDimensions without coordinates: y, x\nData variables:\n DQ (observation_id, dither, filter, detector, y, x) int32 3GB dask.array&lt;chunksize=(1, 2, 2, 2, 2040, 2040), meta=np.ndarray&gt;\n RMS (observation_id, dither, filter, detector, y, x) float32 3GB dask.array&lt;chunksize=(1, 2, 2, 2, 2040, 2040), meta=np.ndarray&gt;\n SCI (observation_id, dither, filter, detector, y, x) float32 3GB dask.array&lt;chunksize=(1, 2, 2, 2, 2040, 2040), meta=np.ndarray&gt;</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-604a7afb-a90d-4608-895c-37aab2d635de' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-604a7afb-a90d-4608-895c-37aab2d635de' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>observation_id</span>: 1</li><li><span class='xr-has-index'>dither</span>: 4</li><li><span class='xr-has-index'>filter</span>: 3</li><li><span class='xr-has-index'>detector</span>: 16</li><li><span>y</span>: 2040</li><li><span>x</span>: 2040</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-72854d20-9fd1-4183-83e3-8e6166c6b5d7' class='xr-section-summary-in' type='checkbox' checked><label for='section-72854d20-9fd1-4183-83e3-8e6166c6b5d7' class='xr-section-summary' >Coordinates: <span>(4)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>detector</span></div><div class='xr-var-dims'>(detector)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>&#x27;DET11&#x27; &#x27;DET12&#x27; ... &#x27;DET43&#x27; &#x27;DET44&#x27;</div><input id='attrs-c6cd57f0-55b1-43e8-ad75-cb046a268176' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-c6cd57f0-55b1-43e8-ad75-cb046a268176' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-a5d34ac0-823b-422b-8c4f-cfd7fe6e8604' class='xr-var-data-in' type='checkbox'><label for='data-a5d34ac0-823b-422b-8c4f-cfd7fe6e8604' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([&#x27;DET11&#x27;, &#x27;DET12&#x27;, &#x27;DET13&#x27;, &#x27;DET14&#x27;, &#x27;DET21&#x27;, &#x27;DET22&#x27;, &#x27;DET23&#x27;, &#x27;DET24&#x27;,\n &#x27;DET31&#x27;, &#x27;DET32&#x27;, &#x27;DET33&#x27;, &#x27;DET34&#x27;, &#x27;DET41&#x27;, &#x27;DET42&#x27;, &#x27;DET43&#x27;, &#x27;DET44&#x27;],\n dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>dither</span></div><div class='xr-var-dims'>(dither)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0 1 2 3</div><input id='attrs-4f41d868-a2d3-4942-9e28-c26392177011' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-4f41d868-a2d3-4942-9e28-c26392177011' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-b2ce8ac8-6654-4a05-a911-7441c1c36f52' class='xr-var-data-in' type='checkbox'><label for='data-b2ce8ac8-6654-4a05-a911-7441c1c36f52' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([0, 1, 2, 3])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>filter</span></div><div class='xr-var-dims'>(filter)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>&#x27;H&#x27; &#x27;J&#x27; &#x27;Y&#x27;</div><input id='attrs-2ea796fb-adae-4eba-93e9-2afa6816ee6f' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-2ea796fb-adae-4eba-93e9-2afa6816ee6f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-113a072a-22f4-4c04-802f-a9ac5af80205' class='xr-var-data-in' type='checkbox'><label for='data-113a072a-22f4-4c04-802f-a9ac5af80205' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([&#x27;H&#x27;, &#x27;J&#x27;, &#x27;Y&#x27;], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>observation_id</span></div><div class='xr-var-dims'>(observation_id)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>2683</div><input id='attrs-61d8d5ae-2cd1-4e77-a73c-ca52e999558e' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-61d8d5ae-2cd1-4e77-a73c-ca52e999558e' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-97d788d5-dfff-46f3-a40d-8146e30bfa86' class='xr-var-data-in' type='checkbox'><label for='data-97d788d5-dfff-46f3-a40d-8146e30bfa86' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([2683])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-bf9f6358-2cd2-4a7e-bd70-f3ce7fb479c1' class='xr-section-summary-in' type='checkbox' checked><label for='section-bf9f6358-2cd2-4a7e-bd70-f3ce7fb479c1' class='xr-section-summary' >Data variables: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>DQ</span></div><div class='xr-var-dims'>(observation_id, dither, filter, detector, y, x)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(1, 2, 2, 2, 2040, 2040), meta=np.ndarray&gt;</div><input id='attrs-9b6f01bb-9332-4d03-8b28-2990a0437341' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-9b6f01bb-9332-4d03-8b28-2990a0437341' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-6705524d-ced9-491a-a0b0-4fab08cef043' class='xr-var-data-in' type='checkbox'><label for='data-6705524d-ced9-491a-a0b0-4fab08cef043' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>BITPIX :</span></dt><dd>32</dd><dt><span>BSCALE :</span></dt><dd>1</dd><dt><span>BZERO :</span></dt><dd>2147483648</dd><dt><span>CD1_1 :</span></dt><dd>-4.317137911772e-05</dd><dt><span>CD1_2 :</span></dt><dd>-7.021206376427e-05</dd><dt><span>CD2_1 :</span></dt><dd>7.020989364988e-05</dd><dt><span>CD2_2 :</span></dt><dd>-4.317055703463e-05</dd><dt><span>CRPIX1 :</span></dt><dd>4170.390230645</dd><dt><span>CRPIX2 :</span></dt><dd>4621.116938306</dd><dt><span>CRVAL1 :</span></dt><dd>268.4903179024</dd><dt><span>CRVAL2 :</span></dt><dd>68.22826031136</dd><dt><span>CTYPE1 :</span></dt><dd>RA---TPV</dd><dt><span>CTYPE2 :</span></dt><dd>DEC--TPV</dd><dt><span>CUNIT1 :</span></dt><dd>deg</dd><dt><span>CUNIT2 :</span></dt><dd>deg</dd><dt><span>DET_ID :</span></dt><dd>11</dd><dt><span>EXTNAME :</span></dt><dd>DET11.DQ</dd><dt><span>GCOUNT :</span></dt><dd>1</dd><dt><span>MSK_FLAG_BADBASE :</span></dt><dd>4</dd><dt><span>MSK_FLAG_COSMIC :</span></dt><dd>16</dd><dt><span>MSK_FLAG_CROSSTALK :</span></dt><dd>22</dd><dt><span>MSK_FLAG_DARKNODET :</span></dt><dd>15</dd><dt><span>MSK_FLAG_DISCONNECTED :</span></dt><dd>2</dd><dt><span>MSK_FLAG_FLATLH :</span></dt><dd>17</dd><dt><span>MSK_FLAG_FLOWER :</span></dt><dd>23</dd><dt><span>MSK_FLAG_GHOST :</span></dt><dd>18</dd><dt><span>MSK_FLAG_HOT :</span></dt><dd>7</dd><dt><span>MSK_FLAG_INVALID :</span></dt><dd>0</dd><dt><span>MSK_FLAG_LOWQE :</span></dt><dd>5</dd><dt><span>MSK_FLAG_MOVING :</span></dt><dd>20</dd><dt><span>MSK_FLAG_NLINEAR :</span></dt><dd>11</dd><dt><span>MSK_FLAG_NLMODFAIL :</span></dt><dd>12</dd><dt><span>MSK_FLAG_OBMASK :</span></dt><dd>1</dd><dt><span>MSK_FLAG_PERMODFAIL :</span></dt><dd>14</dd><dt><span>MSK_FLAG_PERSIST :</span></dt><dd>13</dd><dt><span>MSK_FLAG_RTN :</span></dt><dd>8</dd><dt><span>MSK_FLAG_SATUR :</span></dt><dd>10</dd><dt><span>MSK_FLAG_SCATTER :</span></dt><dd>19</dd><dt><span>MSK_FLAG_SNOWBALL :</span></dt><dd>9</dd><dt><span>MSK_FLAG_SUPERQE :</span></dt><dd>6</dd><dt><span>MSK_FLAG_TRANS :</span></dt><dd>21</dd><dt><span>MSK_FLAG_VIGNET :</span></dt><dd>24</dd><dt><span>MSK_FLAG_ZEROQE :</span></dt><dd>3</dd><dt><span>NAXIS :</span></dt><dd>2</dd><dt><span>NAXIS1 :</span></dt><dd>2040</dd><dt><span>NAXIS2 :</span></dt><dd>2040</dd><dt><span>PCOUNT :</span></dt><dd>0</dd><dt><span>PV1_0 :</span></dt><dd>-0.002173393464378</dd><dt><span>PV1_1 :</span></dt><dd>1.005824927214</dd><dt><span>PV1_10 :</span></dt><dd>0.0001206529364239</dd><dt><span>PV1_2 :</span></dt><dd>-0.002431304780575</dd><dt><span>PV1_4 :</span></dt><dd>-0.0009170811131314</dd><dt><span>PV1_5 :</span></dt><dd>0.0144219923779</dd><dt><span>PV1_6 :</span></dt><dd>0.003649338188522</dd><dt><span>PV1_7 :</span></dt><dd>-0.01604086520008</dd><dt><span>PV1_8 :</span></dt><dd>-0.01043384353857</dd><dt><span>PV1_9 :</span></dt><dd>-0.01675436172723</dd><dt><span>PV2_0 :</span></dt><dd>-0.0002494082323815</dd><dt><span>PV2_1 :</span></dt><dd>1.007402158036</dd><dt><span>PV2_10 :</span></dt><dd>-0.0003660470533285</dd><dt><span>PV2_2 :</span></dt><dd>-0.001862692907038</dd><dt><span>PV2_4 :</span></dt><dd>0.003308933505195</dd><dt><span>PV2_5 :</span></dt><dd>-0.005251600014565</dd><dt><span>PV2_6 :</span></dt><dd>-0.003643638381087</dd><dt><span>PV2_7 :</span></dt><dd>-0.01568911656822</dd><dt><span>PV2_8 :</span></dt><dd>-0.001787993309014</dd><dt><span>PV2_9 :</span></dt><dd>-0.01428673641109</dd><dt><span>XTENSION :</span></dt><dd>IMAGE</dd></dl></div><div class='xr-var-data'><table>\n <tr>\n <td>\n <table style=\"border-collapse: collapse;\">\n <thead>\n <tr>\n <td> </td>\n <th> Array </th>\n <th> Chunk </th>\n </tr>\n </thead>\n <tbody>\n \n <tr>\n <th> Bytes </th>\n <td> 2.98 GiB </td>\n <td> 127.00 MiB </td>\n </tr>\n \n <tr>\n <th> Shape </th>\n <td> (1, 4, 3, 16, 2040, 2040) </td>\n <td> (1, 2, 2, 2, 2040, 2040) </td>\n </tr>\n <tr>\n <th> Dask graph </th>\n <td colspan=\"2\"> 32 chunks in 2 graph layers </td>\n </tr>\n <tr>\n <th> Data type </th>\n <td colspan=\"2\"> int32 numpy.ndarray </td>\n </tr>\n </tbody>\n </table>\n </td>\n <td>\n <svg width=\"424\" height=\"184\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n\n <!-- Horizontal lines -->\n <line x1=\"10\" y1=\"0\" x2=\"24\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"10\" y1=\"12\" x2=\"24\" y2=\"27\" />\n <line x1=\"10\" y1=\"25\" x2=\"24\" y2=\"40\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"25\" style=\"stroke-width:2\" />\n <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"40\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"10.0,0.0 24.9485979497544,14.948597949754403 24.9485979497544,40.36121446433689 10.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Horizontal lines -->\n <line x1=\"10\" y1=\"0\" x2=\"35\" y2=\"0\" style=\"stroke-width:2\" />\n <line x1=\"24\" y1=\"14\" x2=\"50\" y2=\"14\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"10\" y1=\"0\" x2=\"24\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"26\" y1=\"0\" x2=\"41\" y2=\"14\" />\n <line x1=\"35\" y1=\"0\" x2=\"50\" y2=\"14\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"10.0,0.0 35.41261651458248,0.0 50.36121446433688,14.948597949754403 24.9485979497544,14.948597949754403\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Horizontal lines -->\n <line x1=\"24\" y1=\"14\" x2=\"50\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"24\" y1=\"27\" x2=\"50\" y2=\"27\" />\n <line x1=\"24\" y1=\"40\" x2=\"50\" y2=\"40\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"40\" style=\"stroke-width:2\" />\n <line x1=\"41\" y1=\"14\" x2=\"41\" y2=\"40\" />\n <line x1=\"50\" y1=\"14\" x2=\"50\" y2=\"40\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"24.9485979497544,14.948597949754403 50.36121446433688,14.948597949754403 50.36121446433688,40.36121446433689 24.9485979497544,40.36121446433689\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Text -->\n <text x=\"37.654906\" y=\"60.361214\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >3</text>\n <text x=\"70.361214\" y=\"27.654906\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,70.361214,27.654906)\">4</text>\n <text x=\"7.474299\" y=\"52.886915\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,7.474299,52.886915)\">1</text>\n\n\n <!-- Horizontal lines -->\n <line x1=\"120\" y1=\"0\" x2=\"134\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"120\" y1=\"120\" x2=\"134\" y2=\"134\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"120\" style=\"stroke-width:2\" />\n <line x1=\"121\" y1=\"1\" x2=\"121\" y2=\"121\" />\n <line x1=\"123\" y1=\"3\" x2=\"123\" y2=\"123\" />\n <line x1=\"125\" y1=\"5\" x2=\"125\" y2=\"125\" />\n <line x1=\"127\" y1=\"7\" x2=\"127\" y2=\"127\" />\n <line x1=\"129\" y1=\"9\" x2=\"129\" y2=\"129\" />\n <line x1=\"131\" y1=\"11\" x2=\"131\" y2=\"131\" />\n <line x1=\"133\" y1=\"13\" x2=\"133\" y2=\"133\" />\n <line x1=\"134\" y1=\"14\" x2=\"134\" y2=\"134\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"120.0,0.0 134.9485979497544,14.948597949754403 134.9485979497544,134.9485979497544 120.0,120.0\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Horizontal lines -->\n <line x1=\"120\" y1=\"0\" x2=\"240\" y2=\"0\" style=\"stroke-width:2\" />\n <line x1=\"121\" y1=\"1\" x2=\"241\" y2=\"1\" />\n <line x1=\"123\" y1=\"3\" x2=\"243\" y2=\"3\" />\n <line x1=\"125\" y1=\"5\" x2=\"245\" y2=\"5\" />\n <line x1=\"127\" y1=\"7\" x2=\"247\" y2=\"7\" />\n <line x1=\"129\" y1=\"9\" x2=\"249\" y2=\"9\" />\n <line x1=\"131\" y1=\"11\" x2=\"251\" y2=\"11\" />\n <line x1=\"133\" y1=\"13\" x2=\"253\" y2=\"13\" />\n <line x1=\"134\" y1=\"14\" x2=\"254\" y2=\"14\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"120\" y1=\"0\" x2=\"134\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"240\" y1=\"0\" x2=\"254\" y2=\"14\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"120.0,0.0 240.0,0.0 254.9485979497544,14.948597949754403 134.9485979497544,14.948597949754403\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Horizontal lines -->\n <line x1=\"134\" y1=\"14\" x2=\"254\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"134\" y1=\"134\" x2=\"254\" y2=\"134\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"134\" y1=\"14\" x2=\"134\" y2=\"134\" style=\"stroke-width:2\" />\n <line x1=\"254\" y1=\"14\" x2=\"254\" y2=\"134\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"134.9485979497544,14.948597949754403 254.9485979497544,14.948597949754403 254.9485979497544,134.9485979497544 134.9485979497544,134.9485979497544\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Text -->\n <text x=\"194.948598\" y=\"154.948598\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >2040</text>\n <text x=\"274.948598\" y=\"74.948598\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,274.948598,74.948598)\">2040</text>\n <text x=\"117.474299\" y=\"147.474299\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,117.474299,147.474299)\">16</text>\n</svg>\n </td>\n </tr>\n</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>RMS</span></div><div class='xr-var-dims'>(observation_id, dither, filter, detector, y, x)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(1, 2, 2, 2, 2040, 2040), meta=np.ndarray&gt;</div><input id='attrs-ecb5a68d-1857-4ee3-b6d2-71b941fcb69d' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-ecb5a68d-1857-4ee3-b6d2-71b941fcb69d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e5cdf70e-7225-4700-be8e-429dc32bf94e' class='xr-var-data-in' type='checkbox'><label for='data-e5cdf70e-7225-4700-be8e-429dc32bf94e' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>BITPIX :</span></dt><dd>-32</dd><dt><span>CD1_1 :</span></dt><dd>-4.317137911772e-05</dd><dt><span>CD1_2 :</span></dt><dd>-7.021206376427e-05</dd><dt><span>CD2_1 :</span></dt><dd>7.020989364988e-05</dd><dt><span>CD2_2 :</span></dt><dd>-4.317055703463e-05</dd><dt><span>CRPIX1 :</span></dt><dd>4170.390230645</dd><dt><span>CRPIX2 :</span></dt><dd>4621.116938306</dd><dt><span>CRVAL1 :</span></dt><dd>268.4903179024</dd><dt><span>CRVAL2 :</span></dt><dd>68.22826031136</dd><dt><span>CTYPE1 :</span></dt><dd>RA---TPV</dd><dt><span>CTYPE2 :</span></dt><dd>DEC--TPV</dd><dt><span>CUNIT1 :</span></dt><dd>deg</dd><dt><span>CUNIT2 :</span></dt><dd>deg</dd><dt><span>DET_ID :</span></dt><dd>11</dd><dt><span>EXTNAME :</span></dt><dd>DET11.RMS</dd><dt><span>GCOUNT :</span></dt><dd>1</dd><dt><span>NAXIS :</span></dt><dd>2</dd><dt><span>NAXIS1 :</span></dt><dd>2040</dd><dt><span>NAXIS2 :</span></dt><dd>2040</dd><dt><span>PCOUNT :</span></dt><dd>0</dd><dt><span>PV1_0 :</span></dt><dd>-0.002173393464378</dd><dt><span>PV1_1 :</span></dt><dd>1.005824927214</dd><dt><span>PV1_10 :</span></dt><dd>0.0001206529364239</dd><dt><span>PV1_2 :</span></dt><dd>-0.002431304780575</dd><dt><span>PV1_4 :</span></dt><dd>-0.0009170811131314</dd><dt><span>PV1_5 :</span></dt><dd>0.0144219923779</dd><dt><span>PV1_6 :</span></dt><dd>0.003649338188522</dd><dt><span>PV1_7 :</span></dt><dd>-0.01604086520008</dd><dt><span>PV1_8 :</span></dt><dd>-0.01043384353857</dd><dt><span>PV1_9 :</span></dt><dd>-0.01675436172723</dd><dt><span>PV2_0 :</span></dt><dd>-0.0002494082323815</dd><dt><span>PV2_1 :</span></dt><dd>1.007402158036</dd><dt><span>PV2_10 :</span></dt><dd>-0.0003660470533285</dd><dt><span>PV2_2 :</span></dt><dd>-0.001862692907038</dd><dt><span>PV2_4 :</span></dt><dd>0.003308933505195</dd><dt><span>PV2_5 :</span></dt><dd>-0.005251600014565</dd><dt><span>PV2_6 :</span></dt><dd>-0.003643638381087</dd><dt><span>PV2_7 :</span></dt><dd>-0.01568911656822</dd><dt><span>PV2_8 :</span></dt><dd>-0.001787993309014</dd><dt><span>PV2_9 :</span></dt><dd>-0.01428673641109</dd><dt><span>XTENSION :</span></dt><dd>IMAGE</dd></dl></div><div class='xr-var-data'><table>\n <tr>\n <td>\n <table style=\"border-collapse: collapse;\">\n <thead>\n <tr>\n <td> </td>\n <th> Array </th>\n <th> Chunk </th>\n </tr>\n </thead>\n <tbody>\n \n <tr>\n <th> Bytes </th>\n <td> 2.98 GiB </td>\n <td> 127.00 MiB </td>\n </tr>\n \n <tr>\n <th> Shape </th>\n <td> (1, 4, 3, 16, 2040, 2040) </td>\n <td> (1, 2, 2, 2, 2040, 2040) </td>\n </tr>\n <tr>\n <th> Dask graph </th>\n <td colspan=\"2\"> 32 chunks in 2 graph layers </td>\n </tr>\n <tr>\n <th> Data type </th>\n <td colspan=\"2\"> float32 numpy.ndarray </td>\n </tr>\n </tbody>\n </table>\n </td>\n <td>\n <svg width=\"424\" height=\"184\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n\n <!-- Horizontal lines -->\n <line x1=\"10\" y1=\"0\" x2=\"24\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"10\" y1=\"12\" x2=\"24\" y2=\"27\" />\n <line x1=\"10\" y1=\"25\" x2=\"24\" y2=\"40\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"25\" style=\"stroke-width:2\" />\n <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"40\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"10.0,0.0 24.9485979497544,14.948597949754403 24.9485979497544,40.36121446433689 10.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Horizontal lines -->\n <line x1=\"10\" y1=\"0\" x2=\"35\" y2=\"0\" style=\"stroke-width:2\" />\n <line x1=\"24\" y1=\"14\" x2=\"50\" y2=\"14\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"10\" y1=\"0\" x2=\"24\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"26\" y1=\"0\" x2=\"41\" y2=\"14\" />\n <line x1=\"35\" y1=\"0\" x2=\"50\" y2=\"14\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"10.0,0.0 35.41261651458248,0.0 50.36121446433688,14.948597949754403 24.9485979497544,14.948597949754403\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Horizontal lines -->\n <line x1=\"24\" y1=\"14\" x2=\"50\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"24\" y1=\"27\" x2=\"50\" y2=\"27\" />\n <line x1=\"24\" y1=\"40\" x2=\"50\" y2=\"40\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"40\" style=\"stroke-width:2\" />\n <line x1=\"41\" y1=\"14\" x2=\"41\" y2=\"40\" />\n <line x1=\"50\" y1=\"14\" x2=\"50\" y2=\"40\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"24.9485979497544,14.948597949754403 50.36121446433688,14.948597949754403 50.36121446433688,40.36121446433689 24.9485979497544,40.36121446433689\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Text -->\n <text x=\"37.654906\" y=\"60.361214\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >3</text>\n <text x=\"70.361214\" y=\"27.654906\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,70.361214,27.654906)\">4</text>\n <text x=\"7.474299\" y=\"52.886915\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,7.474299,52.886915)\">1</text>\n\n\n <!-- Horizontal lines -->\n <line x1=\"120\" y1=\"0\" x2=\"134\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"120\" y1=\"120\" x2=\"134\" y2=\"134\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"120\" style=\"stroke-width:2\" />\n <line x1=\"121\" y1=\"1\" x2=\"121\" y2=\"121\" />\n <line x1=\"123\" y1=\"3\" x2=\"123\" y2=\"123\" />\n <line x1=\"125\" y1=\"5\" x2=\"125\" y2=\"125\" />\n <line x1=\"127\" y1=\"7\" x2=\"127\" y2=\"127\" />\n <line x1=\"129\" y1=\"9\" x2=\"129\" y2=\"129\" />\n <line x1=\"131\" y1=\"11\" x2=\"131\" y2=\"131\" />\n <line x1=\"133\" y1=\"13\" x2=\"133\" y2=\"133\" />\n <line x1=\"134\" y1=\"14\" x2=\"134\" y2=\"134\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"120.0,0.0 134.9485979497544,14.948597949754403 134.9485979497544,134.9485979497544 120.0,120.0\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Horizontal lines -->\n <line x1=\"120\" y1=\"0\" x2=\"240\" y2=\"0\" style=\"stroke-width:2\" />\n <line x1=\"121\" y1=\"1\" x2=\"241\" y2=\"1\" />\n <line x1=\"123\" y1=\"3\" x2=\"243\" y2=\"3\" />\n <line x1=\"125\" y1=\"5\" x2=\"245\" y2=\"5\" />\n <line x1=\"127\" y1=\"7\" x2=\"247\" y2=\"7\" />\n <line x1=\"129\" y1=\"9\" x2=\"249\" y2=\"9\" />\n <line x1=\"131\" y1=\"11\" x2=\"251\" y2=\"11\" />\n <line x1=\"133\" y1=\"13\" x2=\"253\" y2=\"13\" />\n <line x1=\"134\" y1=\"14\" x2=\"254\" y2=\"14\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"120\" y1=\"0\" x2=\"134\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"240\" y1=\"0\" x2=\"254\" y2=\"14\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"120.0,0.0 240.0,0.0 254.9485979497544,14.948597949754403 134.9485979497544,14.948597949754403\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Horizontal lines -->\n <line x1=\"134\" y1=\"14\" x2=\"254\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"134\" y1=\"134\" x2=\"254\" y2=\"134\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"134\" y1=\"14\" x2=\"134\" y2=\"134\" style=\"stroke-width:2\" />\n <line x1=\"254\" y1=\"14\" x2=\"254\" y2=\"134\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"134.9485979497544,14.948597949754403 254.9485979497544,14.948597949754403 254.9485979497544,134.9485979497544 134.9485979497544,134.9485979497544\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Text -->\n <text x=\"194.948598\" y=\"154.948598\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >2040</text>\n <text x=\"274.948598\" y=\"74.948598\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,274.948598,74.948598)\">2040</text>\n <text x=\"117.474299\" y=\"147.474299\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,117.474299,147.474299)\">16</text>\n</svg>\n </td>\n </tr>\n</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>SCI</span></div><div class='xr-var-dims'>(observation_id, dither, filter, detector, y, x)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(1, 2, 2, 2, 2040, 2040), meta=np.ndarray&gt;</div><input id='attrs-d4a5f4ac-2132-4f5b-9262-e480d51fa88d' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-d4a5f4ac-2132-4f5b-9262-e480d51fa88d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-436f4768-6e82-44a7-a052-9d50b4076713' class='xr-var-data-in' type='checkbox'><label for='data-436f4768-6e82-44a7-a052-9d50b4076713' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>ASTINST :</span></dt><dd>1</dd><dt><span>ASTIRMS1 :</span></dt><dd>3.05569063784834e-06</dd><dt><span>ASTIRMS2 :</span></dt><dd>3.43985898128206e-06</dd><dt><span>ASTRRMS1 :</span></dt><dd>1.95031557920332e-06</dd><dt><span>ASTRRMS2 :</span></dt><dd>1.5372777913172e-06</dd><dt><span>BITPIX :</span></dt><dd>-32</dd><dt><span>BUNIT :</span></dt><dd>ELECTRON</dd><dt><span>CD1_1 :</span></dt><dd>-4.317137911772e-05</dd><dt><span>CD1_2 :</span></dt><dd>-7.021206376427e-05</dd><dt><span>CD2_1 :</span></dt><dd>7.020989364988e-05</dd><dt><span>CD2_2 :</span></dt><dd>-4.317055703463e-05</dd><dt><span>CMPRTSCI :</span></dt><dd>2.82266420267871</dd><dt><span>CRPIX1 :</span></dt><dd>4170.390230645</dd><dt><span>CRPIX2 :</span></dt><dd>4621.116938306</dd><dt><span>CRVAL1 :</span></dt><dd>268.4903179024</dd><dt><span>CRVAL2 :</span></dt><dd>68.22826031136</dd><dt><span>CTYPE1 :</span></dt><dd>RA---TPV</dd><dt><span>CTYPE2 :</span></dt><dd>DEC--TPV</dd><dt><span>CUNIT1 :</span></dt><dd>deg</dd><dt><span>CUNIT2 :</span></dt><dd>deg</dd><dt><span>DARKFILL :</span></dt><dd>0.0</dd><dt><span>DET_ID :</span></dt><dd>11</dd><dt><span>DPU_ID :</span></dt><dd>1</dd><dt><span>DTEXPNUM :</span></dt><dd>16</dd><dt><span>EQUINOX :</span></dt><dd>2000.0</dd><dt><span>EXTNAME :</span></dt><dd>DET11.SCI</dd><dt><span>FGROUPNO :</span></dt><dd>1</dd><dt><span>FLTCAL :</span></dt><dd>EUC_NIR_C-LARGEFLAT_J_20240614T124741.872920Z.fits.gz</dd><dt><span>FLTCORR :</span></dt><dd>True</dd><dt><span>FLXSCALE :</span></dt><dd>0.0</dd><dt><span>GAIN :</span></dt><dd>0.520833333333333</dd><dt><span>GAIN_DET :</span></dt><dd>192</dd><dt><span>GCOUNT :</span></dt><dd>1</dd><dt><span>MAGZEROP :</span></dt><dd>0.0</dd><dt><span>MASTER :</span></dt><dd>0</dd><dt><span>NARPIXS :</span></dt><dd>0</dd><dt><span>NAXIS :</span></dt><dd>2</dd><dt><span>NAXIS1 :</span></dt><dd>2040</dd><dt><span>NAXIS2 :</span></dt><dd>2040</dd><dt><span>NBADPIXT :</span></dt><dd>3129</dd><dt><span>NCRPIXM :</span></dt><dd>356</dd><dt><span>NCRPIXS :</span></dt><dd>38509</dd><dt><span>NDFILL :</span></dt><dd>1654683</dd><dt><span>NDGPIXS :</span></dt><dd>1444</dd><dt><span>NFGPIXS :</span></dt><dd>0</dd><dt><span>NGHPIXS :</span></dt><dd>1444</dd><dt><span>NPERSPIX :</span></dt><dd>55857</dd><dt><span>NREJNL :</span></dt><dd>4160130</dd><dt><span>NREJPERS :</span></dt><dd>8398</dd><dt><span>NSATPIX :</span></dt><dd>772</dd><dt><span>NSCPIXS :</span></dt><dd>0</dd><dt><span>NSRC :</span></dt><dd>80</dd><dt><span>NSRCASTR :</span></dt><dd>80</dd><dt><span>PCOUNT :</span></dt><dd>0</dd><dt><span>PHOTINST :</span></dt><dd>1</dd><dt><span>PHOTIRMS :</span></dt><dd>0.02802758</dd><dt><span>PHOTLINK :</span></dt><dd>False</dd><dt><span>PHRELDT :</span></dt><dd>1.00826890200315</dd><dt><span>PHRELDTE :</span></dt><dd>0.0</dd><dt><span>PIXSCALE :</span></dt><dd>0.298925548730467</dd><dt><span>PV1_0 :</span></dt><dd>-0.002173393464378</dd><dt><span>PV1_1 :</span></dt><dd>1.005824927214</dd><dt><span>PV1_10 :</span></dt><dd>0.0001206529364239</dd><dt><span>PV1_2 :</span></dt><dd>-0.002431304780575</dd><dt><span>PV1_4 :</span></dt><dd>-0.0009170811131314</dd><dt><span>PV1_5 :</span></dt><dd>0.0144219923779</dd><dt><span>PV1_6 :</span></dt><dd>0.003649338188522</dd><dt><span>PV1_7 :</span></dt><dd>-0.01604086520008</dd><dt><span>PV1_8 :</span></dt><dd>-0.01043384353857</dd><dt><span>PV1_9 :</span></dt><dd>-0.01675436172723</dd><dt><span>PV2_0 :</span></dt><dd>-0.0002494082323815</dd><dt><span>PV2_1 :</span></dt><dd>1.007402158036</dd><dt><span>PV2_10 :</span></dt><dd>-0.0003660470533285</dd><dt><span>PV2_2 :</span></dt><dd>-0.001862692907038</dd><dt><span>PV2_4 :</span></dt><dd>0.003308933505195</dd><dt><span>PV2_5 :</span></dt><dd>-0.005251600014565</dd><dt><span>PV2_6 :</span></dt><dd>-0.003643638381087</dd><dt><span>PV2_7 :</span></dt><dd>-0.01568911656822</dd><dt><span>PV2_8 :</span></dt><dd>-0.001787993309014</dd><dt><span>PV2_9 :</span></dt><dd>-0.01428673641109</dd><dt><span>RADESYS :</span></dt><dd>ICRS</dd><dt><span>RDNOISE :</span></dt><dd>4.87078555344531</dd><dt><span>RON_DET :</span></dt><dd>61</dd><dt><span>SATURATE :</span></dt><dd>64511</dd><dt><span>SCA_ID :</span></dt><dd>18453</dd><dt><span>SCEINDEX :</span></dt><dd>3</dd><dt><span>XTENSION :</span></dt><dd>IMAGE</dd><dt><span>ZPAB :</span></dt><dd>30.0180117487827</dd><dt><span>ZPABE :</span></dt><dd>0.108757678355967</dd><dt><span>ZPVEGA :</span></dt><dd>28.9550117487827</dd><dt><span>ZPVEGAE :</span></dt><dd>0.102557678355967</dd></dl></div><div class='xr-var-data'><table>\n <tr>\n <td>\n <table style=\"border-collapse: collapse;\">\n <thead>\n <tr>\n <td> </td>\n <th> Array </th>\n <th> Chunk </th>\n </tr>\n </thead>\n <tbody>\n \n <tr>\n <th> Bytes </th>\n <td> 2.98 GiB </td>\n <td> 127.00 MiB </td>\n </tr>\n \n <tr>\n <th> Shape </th>\n <td> (1, 4, 3, 16, 2040, 2040) </td>\n <td> (1, 2, 2, 2, 2040, 2040) </td>\n </tr>\n <tr>\n <th> Dask graph </th>\n <td colspan=\"2\"> 32 chunks in 2 graph layers </td>\n </tr>\n <tr>\n <th> Data type </th>\n <td colspan=\"2\"> float32 numpy.ndarray </td>\n </tr>\n </tbody>\n </table>\n </td>\n <td>\n <svg width=\"424\" height=\"184\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n\n <!-- Horizontal lines -->\n <line x1=\"10\" y1=\"0\" x2=\"24\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"10\" y1=\"12\" x2=\"24\" y2=\"27\" />\n <line x1=\"10\" y1=\"25\" x2=\"24\" y2=\"40\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"25\" style=\"stroke-width:2\" />\n <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"40\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"10.0,0.0 24.9485979497544,14.948597949754403 24.9485979497544,40.36121446433689 10.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Horizontal lines -->\n <line x1=\"10\" y1=\"0\" x2=\"35\" y2=\"0\" style=\"stroke-width:2\" />\n <line x1=\"24\" y1=\"14\" x2=\"50\" y2=\"14\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"10\" y1=\"0\" x2=\"24\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"26\" y1=\"0\" x2=\"41\" y2=\"14\" />\n <line x1=\"35\" y1=\"0\" x2=\"50\" y2=\"14\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"10.0,0.0 35.41261651458248,0.0 50.36121446433688,14.948597949754403 24.9485979497544,14.948597949754403\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Horizontal lines -->\n <line x1=\"24\" y1=\"14\" x2=\"50\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"24\" y1=\"27\" x2=\"50\" y2=\"27\" />\n <line x1=\"24\" y1=\"40\" x2=\"50\" y2=\"40\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"40\" style=\"stroke-width:2\" />\n <line x1=\"41\" y1=\"14\" x2=\"41\" y2=\"40\" />\n <line x1=\"50\" y1=\"14\" x2=\"50\" y2=\"40\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"24.9485979497544,14.948597949754403 50.36121446433688,14.948597949754403 50.36121446433688,40.36121446433689 24.9485979497544,40.36121446433689\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Text -->\n <text x=\"37.654906\" y=\"60.361214\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >3</text>\n <text x=\"70.361214\" y=\"27.654906\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,70.361214,27.654906)\">4</text>\n <text x=\"7.474299\" y=\"52.886915\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,7.474299,52.886915)\">1</text>\n\n\n <!-- Horizontal lines -->\n <line x1=\"120\" y1=\"0\" x2=\"134\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"120\" y1=\"120\" x2=\"134\" y2=\"134\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"120\" style=\"stroke-width:2\" />\n <line x1=\"121\" y1=\"1\" x2=\"121\" y2=\"121\" />\n <line x1=\"123\" y1=\"3\" x2=\"123\" y2=\"123\" />\n <line x1=\"125\" y1=\"5\" x2=\"125\" y2=\"125\" />\n <line x1=\"127\" y1=\"7\" x2=\"127\" y2=\"127\" />\n <line x1=\"129\" y1=\"9\" x2=\"129\" y2=\"129\" />\n <line x1=\"131\" y1=\"11\" x2=\"131\" y2=\"131\" />\n <line x1=\"133\" y1=\"13\" x2=\"133\" y2=\"133\" />\n <line x1=\"134\" y1=\"14\" x2=\"134\" y2=\"134\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"120.0,0.0 134.9485979497544,14.948597949754403 134.9485979497544,134.9485979497544 120.0,120.0\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Horizontal lines -->\n <line x1=\"120\" y1=\"0\" x2=\"240\" y2=\"0\" style=\"stroke-width:2\" />\n <line x1=\"121\" y1=\"1\" x2=\"241\" y2=\"1\" />\n <line x1=\"123\" y1=\"3\" x2=\"243\" y2=\"3\" />\n <line x1=\"125\" y1=\"5\" x2=\"245\" y2=\"5\" />\n <line x1=\"127\" y1=\"7\" x2=\"247\" y2=\"7\" />\n <line x1=\"129\" y1=\"9\" x2=\"249\" y2=\"9\" />\n <line x1=\"131\" y1=\"11\" x2=\"251\" y2=\"11\" />\n <line x1=\"133\" y1=\"13\" x2=\"253\" y2=\"13\" />\n <line x1=\"134\" y1=\"14\" x2=\"254\" y2=\"14\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"120\" y1=\"0\" x2=\"134\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"240\" y1=\"0\" x2=\"254\" y2=\"14\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"120.0,0.0 240.0,0.0 254.9485979497544,14.948597949754403 134.9485979497544,14.948597949754403\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Horizontal lines -->\n <line x1=\"134\" y1=\"14\" x2=\"254\" y2=\"14\" style=\"stroke-width:2\" />\n <line x1=\"134\" y1=\"134\" x2=\"254\" y2=\"134\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"134\" y1=\"14\" x2=\"134\" y2=\"134\" style=\"stroke-width:2\" />\n <line x1=\"254\" y1=\"14\" x2=\"254\" y2=\"134\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"134.9485979497544,14.948597949754403 254.9485979497544,14.948597949754403 254.9485979497544,134.9485979497544 134.9485979497544,134.9485979497544\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Text -->\n <text x=\"194.948598\" y=\"154.948598\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >2040</text>\n <text x=\"274.948598\" y=\"74.948598\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,274.948598,74.948598)\">2040</text>\n <text x=\"117.474299\" y=\"147.474299\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,117.474299,147.474299)\">16</text>\n</svg>\n </td>\n </tr>\n</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-0a2be3bf-3a4b-41e3-a5e7-e6440d6f7c65' class='xr-section-summary-in' type='checkbox' ><label for='section-0a2be3bf-3a4b-41e3-a5e7-e6440d6f7c65' class='xr-section-summary' >Indexes: <span>(4)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>detector</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-2d02be6f-f0d9-461b-ac55-6ccc78b07788' class='xr-index-data-in' type='checkbox'/><label for='index-2d02be6f-f0d9-461b-ac55-6ccc78b07788' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([&#x27;DET11&#x27;, &#x27;DET12&#x27;, &#x27;DET13&#x27;, &#x27;DET14&#x27;, &#x27;DET21&#x27;, &#x27;DET22&#x27;, &#x27;DET23&#x27;, &#x27;DET24&#x27;,\n &#x27;DET31&#x27;, &#x27;DET32&#x27;, &#x27;DET33&#x27;, &#x27;DET34&#x27;, &#x27;DET41&#x27;, &#x27;DET42&#x27;, &#x27;DET43&#x27;, &#x27;DET44&#x27;],\n dtype=&#x27;object&#x27;, name=&#x27;detector&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>dither</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-77b049f3-7138-4a99-b209-32afaf366573' class='xr-index-data-in' type='checkbox'/><label for='index-77b049f3-7138-4a99-b209-32afaf366573' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([0, 1, 2, 3], dtype=&#x27;int64&#x27;, name=&#x27;dither&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>filter</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-8299fd43-d6d5-471e-9870-78e5b2e85dc1' class='xr-index-data-in' type='checkbox'/><label for='index-8299fd43-d6d5-471e-9870-78e5b2e85dc1' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([&#x27;H&#x27;, &#x27;J&#x27;, &#x27;Y&#x27;], dtype=&#x27;object&#x27;, name=&#x27;filter&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>observation_id</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-49248eb0-8eb3-4f1a-ac5c-a1073e02b37f' class='xr-index-data-in' type='checkbox'/><label for='index-49248eb0-8eb3-4f1a-ac5c-a1073e02b37f' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([2683], dtype=&#x27;int64&#x27;, name=&#x27;observation_id&#x27;))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-13e73ab9-28d7-4f4b-b67c-c2a7dfc1d78c' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-13e73ab9-28d7-4f4b-b67c-c2a7dfc1d78c' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>","text/plain":"<xarray.Dataset> Size: 10GB\nDimensions: (observation_id: 1, dither: 4, filter: 3, detector: 16,\n y: 2040, x: 2040)\nCoordinates:\n * detector (detector) object 128B 'DET11' 'DET12' ... 'DET43' 'DET44'\n * dither (dither) int64 32B 0 1 2 3\n * filter (filter) object 24B 'H' 'J' 'Y'\n * observation_id (observation_id) int64 8B 2683\nDimensions without coordinates: y, x\nData variables:\n DQ (observation_id, dither, filter, detector, y, x) int32 3GB dask.array<chunksize=(1, 2, 2, 2, 2040, 2040), meta=np.ndarray>\n RMS (observation_id, dither, filter, detector, y, x) float32 3GB dask.array<chunksize=(1, 2, 2, 2, 2040, 2040), meta=np.ndarray>\n SCI (observation_id, dither, filter, detector, y, x) float32 3GB dask.array<chunksize=(1, 2, 2, 2, 2040, 2040), meta=np.ndarray>"},"execution_count":null,"metadata":{},"output_type":"execute_result"}],"execution_count":null},{"id":"72b66a2e-6585-4c93-b38e-84ae814be00d","cell_type":"code","source":"median = ds['SCI'].median(dim=[\"observation_id\", \"dither\", \"filter\"])","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"id":"60343a86-a9cc-4c88-acc4-adde0ba8eda3","cell_type":"code","source":"%%time\nmedian.compute()","metadata":{"trusted":false},"outputs":[{"name":"stdout","output_type":"stream","text":"CPU times: user 1min 36s, sys: 1min 26s, total: 3min 3s\nWall time: 29.3 s\n"},{"data":{"text/html":"<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n<defs>\n<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n</symbol>\n<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n</symbol>\n</defs>\n</svg>\n<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n *\n */\n\n:root {\n --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n --xr-border-color: var(--jp-border-color2, #e0e0e0);\n --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n --xr-background-color: var(--jp-layout-color0, white);\n --xr-background-color-row-even: var(--jp-layout-color1, white);\n --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n}\n\nhtml[theme=dark],\nhtml[data-theme=dark],\nbody[data-theme=dark],\nbody.vscode-dark {\n --xr-font-color0: rgba(255, 255, 255, 1);\n --xr-font-color2: rgba(255, 255, 255, 0.54);\n --xr-font-color3: rgba(255, 255, 255, 0.38);\n --xr-border-color: #1F1F1F;\n --xr-disabled-color: #515151;\n --xr-background-color: #111111;\n --xr-background-color-row-even: #111111;\n --xr-background-color-row-odd: #313131;\n}\n\n.xr-wrap {\n display: block !important;\n min-width: 300px;\n max-width: 700px;\n}\n\n.xr-text-repr-fallback {\n /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n display: none;\n}\n\n.xr-header {\n padding-top: 6px;\n padding-bottom: 6px;\n margin-bottom: 4px;\n border-bottom: solid 1px var(--xr-border-color);\n}\n\n.xr-header > div,\n.xr-header > ul {\n display: inline;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.xr-obj-type,\n.xr-array-name {\n margin-left: 2px;\n margin-right: 10px;\n}\n\n.xr-obj-type {\n color: var(--xr-font-color2);\n}\n\n.xr-sections {\n padding-left: 0 !important;\n display: grid;\n grid-template-columns: 150px auto auto 1fr 0 20px 0 20px;\n}\n\n.xr-section-item {\n display: contents;\n}\n\n.xr-section-item input {\n display: inline-block;\n opacity: 0;\n}\n\n.xr-section-item input + label {\n color: var(--xr-disabled-color);\n}\n\n.xr-section-item input:enabled + label {\n cursor: pointer;\n color: var(--xr-font-color2);\n}\n\n.xr-section-item input:focus + label {\n border: 2px solid var(--xr-font-color0);\n}\n\n.xr-section-item input:enabled + label:hover {\n color: var(--xr-font-color0);\n}\n\n.xr-section-summary {\n grid-column: 1;\n color: var(--xr-font-color2);\n font-weight: 500;\n}\n\n.xr-section-summary > span {\n display: inline-block;\n padding-left: 0.5em;\n}\n\n.xr-section-summary-in:disabled + label {\n color: var(--xr-font-color2);\n}\n\n.xr-section-summary-in + label:before {\n display: inline-block;\n content: '►';\n font-size: 11px;\n width: 15px;\n text-align: center;\n}\n\n.xr-section-summary-in:disabled + label:before {\n color: var(--xr-disabled-color);\n}\n\n.xr-section-summary-in:checked + label:before {\n content: '▼';\n}\n\n.xr-section-summary-in:checked + label > span {\n display: none;\n}\n\n.xr-section-summary,\n.xr-section-inline-details {\n padding-top: 4px;\n padding-bottom: 4px;\n}\n\n.xr-section-inline-details {\n grid-column: 2 / -1;\n}\n\n.xr-section-details {\n display: none;\n grid-column: 1 / -1;\n margin-bottom: 5px;\n}\n\n.xr-section-summary-in:checked ~ .xr-section-details {\n display: contents;\n}\n\n.xr-array-wrap {\n grid-column: 1 / -1;\n display: grid;\n grid-template-columns: 20px auto;\n}\n\n.xr-array-wrap > label {\n grid-column: 1;\n vertical-align: top;\n}\n\n.xr-preview {\n color: var(--xr-font-color3);\n}\n\n.xr-array-preview,\n.xr-array-data {\n padding: 0 5px !important;\n grid-column: 2;\n}\n\n.xr-array-data,\n.xr-array-in:checked ~ .xr-array-preview {\n display: none;\n}\n\n.xr-array-in:checked ~ .xr-array-data,\n.xr-array-preview {\n display: inline-block;\n}\n\n.xr-dim-list {\n display: inline-block !important;\n list-style: none;\n padding: 0 !important;\n margin: 0;\n}\n\n.xr-dim-list li {\n display: inline-block;\n padding: 0;\n margin: 0;\n}\n\n.xr-dim-list:before {\n content: '(';\n}\n\n.xr-dim-list:after {\n content: ')';\n}\n\n.xr-dim-list li:not(:last-child):after {\n content: ',';\n padding-right: 5px;\n}\n\n.xr-has-index {\n font-weight: bold;\n}\n\n.xr-var-list,\n.xr-var-item {\n display: contents;\n}\n\n.xr-var-item > div,\n.xr-var-item label,\n.xr-var-item > .xr-var-name span {\n background-color: var(--xr-background-color-row-even);\n margin-bottom: 0;\n}\n\n.xr-var-item > .xr-var-name:hover span {\n padding-right: 5px;\n}\n\n.xr-var-list > li:nth-child(odd) > div,\n.xr-var-list > li:nth-child(odd) > label,\n.xr-var-list > li:nth-child(odd) > .xr-var-name span {\n background-color: var(--xr-background-color-row-odd);\n}\n\n.xr-var-name {\n grid-column: 1;\n}\n\n.xr-var-dims {\n grid-column: 2;\n}\n\n.xr-var-dtype {\n grid-column: 3;\n text-align: right;\n color: var(--xr-font-color2);\n}\n\n.xr-var-preview {\n grid-column: 4;\n}\n\n.xr-index-preview {\n grid-column: 2 / 5;\n color: var(--xr-font-color2);\n}\n\n.xr-var-name,\n.xr-var-dims,\n.xr-var-dtype,\n.xr-preview,\n.xr-attrs dt {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding-right: 10px;\n}\n\n.xr-var-name:hover,\n.xr-var-dims:hover,\n.xr-var-dtype:hover,\n.xr-attrs dt:hover {\n overflow: visible;\n width: auto;\n z-index: 1;\n}\n\n.xr-var-attrs,\n.xr-var-data,\n.xr-index-data {\n display: none;\n background-color: var(--xr-background-color) !important;\n padding-bottom: 5px !important;\n}\n\n.xr-var-attrs-in:checked ~ .xr-var-attrs,\n.xr-var-data-in:checked ~ .xr-var-data,\n.xr-index-data-in:checked ~ .xr-index-data {\n display: block;\n}\n\n.xr-var-data > table {\n float: right;\n}\n\n.xr-var-name span,\n.xr-var-data,\n.xr-index-name div,\n.xr-index-data,\n.xr-attrs {\n padding-left: 25px !important;\n}\n\n.xr-attrs,\n.xr-var-attrs,\n.xr-var-data,\n.xr-index-data {\n grid-column: 1 / -1;\n}\n\ndl.xr-attrs {\n padding: 0;\n margin: 0;\n display: grid;\n grid-template-columns: 125px auto;\n}\n\n.xr-attrs dt,\n.xr-attrs dd {\n padding: 0;\n margin: 0;\n float: left;\n padding-right: 10px;\n width: auto;\n}\n\n.xr-attrs dt {\n font-weight: normal;\n grid-column: 1;\n}\n\n.xr-attrs dt:hover span {\n display: inline-block;\n background: var(--xr-background-color);\n padding-right: 10px;\n}\n\n.xr-attrs dd {\n grid-column: 2;\n white-space: pre-wrap;\n word-break: break-all;\n}\n\n.xr-icon-database,\n.xr-icon-file-text2,\n.xr-no-icon {\n display: inline-block;\n vertical-align: middle;\n width: 1em;\n height: 1.5em !important;\n stroke-width: 0;\n stroke: currentColor;\n fill: currentColor;\n}\n</style><pre class='xr-text-repr-fallback'>&lt;xarray.DataArray &#x27;SCI&#x27; (detector: 16, y: 2040, x: 2040)&gt; Size: 266MB\narray([[[ 64.19491 , 67.078766 , 66.44539 , ..., 64.04256 ,\n 62.787518 , 59.350792 ],\n [ 64.54579 , 63.714226 , 60.695328 , ..., 62.01454 ,\n 63.63827 , 60.694565 ],\n [ 60.816174 , 61.2768 , 63.714226 , ..., 66.12628 ,\n 55.953312 , 55.2466 ],\n ...,\n [ 63.453663 , 67.74246 , 62.702446 , ..., 59.646862 ,\n 62.916855 , 63.85218 ],\n [ 64.9606 , 59.288826 , 63.397884 , ..., 63.160946 ,\n 63.157394 , 65.6652 ],\n [ 59.76058 , 60.67249 , 68.97561 , ..., 62.60383 ,\n 58.301983 , 62.16313 ]],\n\n [[ 70.7383 , 69.91258 , 72.29007 , ..., -8.780915 ,\n -5.9143744, -6.920571 ],\n [ 69.49198 , 67.1319 , 75.94953 , ..., -4.9328685,\n -12.070469 , -10.73223 ],\n [ 71.27069 , 71.91942 , 63.27051 , ..., -4.968932 ,\n -4.938717 , -5.9631076],\n...\n [ 72.38832 , 67.58812 , 69.579926 , ..., -19.608631 ,\n -10.109669 , -8.403699 ],\n [ 66.27293 , 69.674515 , 61.857292 , ..., -9.210991 ,\n -16.680946 , -10.271188 ],\n [ 69.171005 , 69.53067 , 62.534737 , ..., -17.500885 ,\n -15.873654 , -7.4193735]],\n\n [[ 76.75749 , 83.60602 , 83.27513 , ..., 67.20813 ,\n 62.931004 , 68.58031 ],\n [ 74.80112 , 72.93109 , 80.6994 , ..., 64.274536 ,\n 61.619118 , 65.80408 ],\n [ 76.75749 , 74.95543 , 78.44336 , ..., 71.57124 ,\n 72.47168 , 70.66237 ],\n ...,\n [ 68.75368 , 69.03995 , 65.620316 , ..., 68.860085 ,\n 64.969086 , 63.070034 ],\n [ 66.44855 , 64.932816 , 72.47544 , ..., 64.05542 ,\n 59.470894 , 71.957886 ],\n [ 68.491776 , 64.79114 , 68.05373 , ..., 68.38541 ,\n 65.33897 , 66.87998 ]]], dtype=float32)\nCoordinates:\n * detector (detector) object 128B &#x27;DET11&#x27; &#x27;DET12&#x27; &#x27;DET13&#x27; ... &#x27;DET43&#x27; &#x27;DET44&#x27;\nDimensions without coordinates: y, x</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'>'SCI'</div><ul class='xr-dim-list'><li><span class='xr-has-index'>detector</span>: 16</li><li><span>y</span>: 2040</li><li><span>x</span>: 2040</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-07d53140-8c34-4b89-937a-1c316e0f4787' class='xr-array-in' type='checkbox' checked><label for='section-07d53140-8c34-4b89-937a-1c316e0f4787' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>64.19 67.08 66.45 64.07 60.24 65.98 ... 59.06 56.04 68.39 65.34 66.88</span></div><div class='xr-array-data'><pre>array([[[ 64.19491 , 67.078766 , 66.44539 , ..., 64.04256 ,\n 62.787518 , 59.350792 ],\n [ 64.54579 , 63.714226 , 60.695328 , ..., 62.01454 ,\n 63.63827 , 60.694565 ],\n [ 60.816174 , 61.2768 , 63.714226 , ..., 66.12628 ,\n 55.953312 , 55.2466 ],\n ...,\n [ 63.453663 , 67.74246 , 62.702446 , ..., 59.646862 ,\n 62.916855 , 63.85218 ],\n [ 64.9606 , 59.288826 , 63.397884 , ..., 63.160946 ,\n 63.157394 , 65.6652 ],\n [ 59.76058 , 60.67249 , 68.97561 , ..., 62.60383 ,\n 58.301983 , 62.16313 ]],\n\n [[ 70.7383 , 69.91258 , 72.29007 , ..., -8.780915 ,\n -5.9143744, -6.920571 ],\n [ 69.49198 , 67.1319 , 75.94953 , ..., -4.9328685,\n -12.070469 , -10.73223 ],\n [ 71.27069 , 71.91942 , 63.27051 , ..., -4.968932 ,\n -4.938717 , -5.9631076],\n...\n [ 72.38832 , 67.58812 , 69.579926 , ..., -19.608631 ,\n -10.109669 , -8.403699 ],\n [ 66.27293 , 69.674515 , 61.857292 , ..., -9.210991 ,\n -16.680946 , -10.271188 ],\n [ 69.171005 , 69.53067 , 62.534737 , ..., -17.500885 ,\n -15.873654 , -7.4193735]],\n\n [[ 76.75749 , 83.60602 , 83.27513 , ..., 67.20813 ,\n 62.931004 , 68.58031 ],\n [ 74.80112 , 72.93109 , 80.6994 , ..., 64.274536 ,\n 61.619118 , 65.80408 ],\n [ 76.75749 , 74.95543 , 78.44336 , ..., 71.57124 ,\n 72.47168 , 70.66237 ],\n ...,\n [ 68.75368 , 69.03995 , 65.620316 , ..., 68.860085 ,\n 64.969086 , 63.070034 ],\n [ 66.44855 , 64.932816 , 72.47544 , ..., 64.05542 ,\n 59.470894 , 71.957886 ],\n [ 68.491776 , 64.79114 , 68.05373 , ..., 68.38541 ,\n 65.33897 , 66.87998 ]]], dtype=float32)</pre></div></div></li><li class='xr-section-item'><input id='section-f48541c2-806c-42b7-b017-c542bfa0bcba' class='xr-section-summary-in' type='checkbox' checked><label for='section-f48541c2-806c-42b7-b017-c542bfa0bcba' class='xr-section-summary' >Coordinates: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>detector</span></div><div class='xr-var-dims'>(detector)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>&#x27;DET11&#x27; &#x27;DET12&#x27; ... &#x27;DET43&#x27; &#x27;DET44&#x27;</div><input id='attrs-ae112dbf-dde0-4f7b-bb02-198843ec018f' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-ae112dbf-dde0-4f7b-bb02-198843ec018f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-acd43158-1646-487c-9b53-9e65ac8ec1e4' class='xr-var-data-in' type='checkbox'><label for='data-acd43158-1646-487c-9b53-9e65ac8ec1e4' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([&#x27;DET11&#x27;, &#x27;DET12&#x27;, &#x27;DET13&#x27;, &#x27;DET14&#x27;, &#x27;DET21&#x27;, &#x27;DET22&#x27;, &#x27;DET23&#x27;, &#x27;DET24&#x27;,\n &#x27;DET31&#x27;, &#x27;DET32&#x27;, &#x27;DET33&#x27;, &#x27;DET34&#x27;, &#x27;DET41&#x27;, &#x27;DET42&#x27;, &#x27;DET43&#x27;, &#x27;DET44&#x27;],\n dtype=object)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-4208a7dd-5128-4ed3-b018-d3a941879500' class='xr-section-summary-in' type='checkbox' ><label for='section-4208a7dd-5128-4ed3-b018-d3a941879500' class='xr-section-summary' >Indexes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>detector</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-daeefab2-4fbd-4554-929c-207d84ad5b5c' class='xr-index-data-in' type='checkbox'/><label for='index-daeefab2-4fbd-4554-929c-207d84ad5b5c' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([&#x27;DET11&#x27;, &#x27;DET12&#x27;, &#x27;DET13&#x27;, &#x27;DET14&#x27;, &#x27;DET21&#x27;, &#x27;DET22&#x27;, &#x27;DET23&#x27;, &#x27;DET24&#x27;,\n &#x27;DET31&#x27;, &#x27;DET32&#x27;, &#x27;DET33&#x27;, &#x27;DET34&#x27;, &#x27;DET41&#x27;, &#x27;DET42&#x27;, &#x27;DET43&#x27;, &#x27;DET44&#x27;],\n dtype=&#x27;object&#x27;, name=&#x27;detector&#x27;))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-7a202dac-11f2-482b-8612-1e5680285b4d' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-7a202dac-11f2-482b-8612-1e5680285b4d' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>","text/plain":"<xarray.DataArray 'SCI' (detector: 16, y: 2040, x: 2040)> Size: 266MB\narray([[[ 64.19491 , 67.078766 , 66.44539 , ..., 64.04256 ,\n 62.787518 , 59.350792 ],\n [ 64.54579 , 63.714226 , 60.695328 , ..., 62.01454 ,\n 63.63827 , 60.694565 ],\n [ 60.816174 , 61.2768 , 63.714226 , ..., 66.12628 ,\n 55.953312 , 55.2466 ],\n ...,\n [ 63.453663 , 67.74246 , 62.702446 , ..., 59.646862 ,\n 62.916855 , 63.85218 ],\n [ 64.9606 , 59.288826 , 63.397884 , ..., 63.160946 ,\n 63.157394 , 65.6652 ],\n [ 59.76058 , 60.67249 , 68.97561 , ..., 62.60383 ,\n 58.301983 , 62.16313 ]],\n\n [[ 70.7383 , 69.91258 , 72.29007 , ..., -8.780915 ,\n -5.9143744, -6.920571 ],\n [ 69.49198 , 67.1319 , 75.94953 , ..., -4.9328685,\n -12.070469 , -10.73223 ],\n [ 71.27069 , 71.91942 , 63.27051 , ..., -4.968932 ,\n -4.938717 , -5.9631076],\n...\n [ 72.38832 , 67.58812 , 69.579926 , ..., -19.608631 ,\n -10.109669 , -8.403699 ],\n [ 66.27293 , 69.674515 , 61.857292 , ..., -9.210991 ,\n -16.680946 , -10.271188 ],\n [ 69.171005 , 69.53067 , 62.534737 , ..., -17.500885 ,\n -15.873654 , -7.4193735]],\n\n [[ 76.75749 , 83.60602 , 83.27513 , ..., 67.20813 ,\n 62.931004 , 68.58031 ],\n [ 74.80112 , 72.93109 , 80.6994 , ..., 64.274536 ,\n 61.619118 , 65.80408 ],\n [ 76.75749 , 74.95543 , 78.44336 , ..., 71.57124 ,\n 72.47168 , 70.66237 ],\n ...,\n [ 68.75368 , 69.03995 , 65.620316 , ..., 68.860085 ,\n 64.969086 , 63.070034 ],\n [ 66.44855 , 64.932816 , 72.47544 , ..., 64.05542 ,\n 59.470894 , 71.957886 ],\n [ 68.491776 , 64.79114 , 68.05373 , ..., 68.38541 ,\n 65.33897 , 66.87998 ]]], dtype=float32)\nCoordinates:\n * detector (detector) object 128B 'DET11' 'DET12' 'DET13' ... 'DET43' 'DET44'\nDimensions without coordinates: y, x"},"execution_count":null,"metadata":{},"output_type":"execute_result"}],"execution_count":null},{"id":"74bb8e71-16d6-4f83-bdc1-06055891d3ab","cell_type":"code","source":"# | hide\nimport nbdev\n\nnbdev.nbdev_export()","metadata":{"trusted":false},"outputs":[],"execution_count":null}]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment