.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/run_single_fov_ome_zarr.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_run_single_fov_ome_zarr.py: Single-FOV OME-Zarr =================== This script shows how to create a single-FOV, single-scale OME-Zarr dataset, read data in read-only mode, append an extra time point to an existing dataset, and adding a new channel to an existing dataset. .. GENERATED FROM PYTHON SOURCE LINES 12-19 .. code-block:: Python import os from tempfile import TemporaryDirectory import numpy as np from iohub.ngff import open_ome_zarr .. GENERATED FROM PYTHON SOURCE LINES 20-21 Set storage path .. GENERATED FROM PYTHON SOURCE LINES 21-25 .. code-block:: Python tmp_dir = TemporaryDirectory() store_path = os.path.join(tmp_dir.name, "ome.zarr") print("Zarr store path", store_path) .. rst-class:: sphx-glr-script-out .. code-block:: none Zarr store path /tmp/tmptanjsjpp/ome.zarr .. GENERATED FROM PYTHON SOURCE LINES 26-27 Write 5D data to a new Zarr store .. GENERATED FROM PYTHON SOURCE LINES 27-37 .. code-block:: Python tczyx = np.random.randint( 0, np.iinfo(np.uint16).max, size=(5, 2, 3, 32, 32), dtype=np.uint16 ) with open_ome_zarr( store_path, layout="fov", mode="a", channel_names=["DAPI", "GFP"] ) as dataset: dataset["img"] = tczyx .. GENERATED FROM PYTHON SOURCE LINES 38-39 Opening in read-only mode prevents writing .. GENERATED FROM PYTHON SOURCE LINES 39-49 .. code-block:: Python with open_ome_zarr(store_path, layout="auto", mode="r") as dataset: img = dataset["img"] print(img) print(img.numpy()) try: img[0, 0, 0, 0, 0] = 0 except Exception as e: print(f"Writing was rejected: {e}") .. rst-class:: sphx-glr-script-out .. code-block:: none [[[[[57380 51115 41492 ... 42118 62594 6091] [26772 62839 59006 ... 19804 63151 44647] [14735 2493 35782 ... 60528 19365 34024] ... [ 7144 63825 19114 ... 42192 30157 9190] [49700 50772 39073 ... 57184 56739 15670] [26147 24482 3520 ... 64342 36546 22734]] [[55804 38343 40622 ... 63685 65146 9] [40379 20816 33059 ... 42396 27813 58288] [ 7750 3623 14323 ... 17538 10961 54892] ... [41279 18421 12338 ... 63934 17324 57434] [ 3892 45116 59479 ... 36398 51965 9737] [ 9448 36219 21234 ... 60273 43091 52934]] [[26733 48602 22609 ... 31091 712 35155] [20047 45143 42319 ... 18628 39696 43728] [18304 61022 41469 ... 64613 54071 9355] ... [59826 51923 43075 ... 28989 62778 63056] [55389 28663 24728 ... 59808 53030 24333] [ 2292 55774 42538 ... 23440 38675 60141]]] [[[12580 47578 55433 ... 34605 37507 15649] [63567 37132 63042 ... 21191 2866 22805] [49338 12166 53781 ... 54623 48899 22635] ... [17477 54674 5651 ... 28770 24863 12981] [25122 268 44863 ... 60309 40748 47909] [64589 19582 12195 ... 21501 29609 2098]] [[19659 50886 45709 ... 20397 43260 7461] [ 2769 39895 15243 ... 41669 34893 37367] [31381 4940 37641 ... 55036 705 6805] ... [39267 32729 8420 ... 16837 64053 4372] [42755 37173 48050 ... 1345 37541 8765] [56688 49883 38240 ... 28655 31019 6295]] [[51110 51772 2647 ... 26961 44358 15959] [32094 2047 43904 ... 2070 8591 18555] [41575 37426 11640 ... 45209 39088 11177] ... [39090 25231 32639 ... 55091 21917 24498] [38629 50835 58998 ... 511 50751 19353] [53906 55885 16042 ... 26034 16944 16776]]]] [[[[20983 6065 7418 ... 40914 39197 19228] [ 9675 37732 1678 ... 4607 35641 63688] [ 1091 44734 41098 ... 63124 32941 55488] ... [ 9500 3014 56992 ... 33738 40639 45110] [55413 1011 52422 ... 62102 43842 21109] [60006 13756 19171 ... 30434 23811 21009]] [[19634 44513 16327 ... 34654 10697 4088] [35127 33295 29366 ... 37201 884 3406] [57154 31855 11957 ... 49749 56909 21212] ... [44419 16978 24834 ... 36137 36139 31741] [55611 61941 50563 ... 43815 28465 61602] [10413 10367 21889 ... 18209 5786 1708]] [[ 8093 202 9359 ... 47898 48050 51138] [49046 35188 22981 ... 59490 11975 9188] [34827 49995 25426 ... 60926 33357 54996] ... [17133 27480 14502 ... 58816 15441 21408] [30627 43172 2008 ... 3198 23356 28586] [32968 39768 27720 ... 61996 26687 48779]]] [[[64403 42891 893 ... 25430 52448 7641] [64764 24384 54285 ... 42005 58954 34277] [51856 30697 54830 ... 23399 50060 2988] ... [37521 4229 31462 ... 8732 28135 63005] [31503 34319 49661 ... 24820 40766 58506] [17036 46359 22573 ... 42203 49814 19133]] [[17820 39437 47019 ... 45453 59489 42965] [54463 35606 38876 ... 63179 28515 50914] [46565 25471 48050 ... 36036 33903 20693] ... [37677 50936 6087 ... 41797 28933 21346] [39482 9158 4976 ... 4340 14574 2373] [25129 24663 53137 ... 39877 5566 14582]] [[15050 24834 55847 ... 3929 51076 9308] [23809 61994 33985 ... 15529 62011 59820] [37358 60806 53280 ... 36992 42674 5871] ... [31822 38783 14271 ... 37303 61317 7842] [10206 55618 36123 ... 21125 4759 55335] [65219 3337 11999 ... 4706 8851 45228]]]] [[[[27569 11097 8644 ... 45243 34878 29192] [ 1338 41706 58073 ... 6693 26148 28859] [51542 6338 64404 ... 55173 27815 32899] ... [ 8472 10244 29449 ... 31247 61916 24816] [41153 13370 38735 ... 29960 60557 44549] [60689 2723 41410 ... 18590 43792 62466]] [[43285 6706 30548 ... 59094 21265 32217] [16395 27463 49202 ... 60750 11548 33298] [26242 31629 41784 ... 49327 56143 63696] ... [62836 64969 45610 ... 29691 4528 10716] [37394 2608 30542 ... 7162 30015 28589] [25012 50949 42377 ... 6812 38040 1140]] [[19581 19924 29117 ... 4702 40897 49109] [37727 57354 29101 ... 49343 47582 4953] [54219 54941 2204 ... 3839 12938 23748] ... [32051 461 63147 ... 35401 9832 51058] [42637 13193 7392 ... 61819 14613 60571] [58803 12084 43033 ... 58083 53982 29774]]] [[[ 9418 50611 18885 ... 34095 20941 12387] [26086 61081 59588 ... 6929 64085 32512] [ 1895 24499 48899 ... 59473 57252 7833] ... [30057 42249 30724 ... 38975 55062 64522] [ 872 38292 2706 ... 13937 1400 7629] [40937 60428 11880 ... 12045 18399 26557]] [[ 1966 40679 4633 ... 32999 54478 43237] [ 812 39932 53905 ... 54902 60510 43271] [ 2214 61678 65344 ... 8567 15223 25497] ... [64152 57833 51134 ... 41857 16449 48514] [64659 39385 12932 ... 27996 5061 24824] [44150 22148 25272 ... 52896 11720 19713]] [[19385 14881 34605 ... 37864 18125 11592] [54339 59515 51103 ... 16688 64082 59728] [59073 8659 60252 ... 53545 10115 8771] ... [ 736 1341 44384 ... 23410 65420 54079] [42903 55079 4335 ... 47738 32586 26068] [ 7589 37894 56939 ... 14528 14016 62410]]]] [[[[60792 10705 47025 ... 39495 22383 64653] [45175 62603 30656 ... 18225 9510 23965] [ 7522 61614 48221 ... 31 11572 27405] ... [34549 46684 58475 ... 50623 30444 27712] [24095 4739 48936 ... 9195 31523 53005] [34665 48221 59288 ... 50591 47738 43835]] [[49317 18540 13851 ... 34343 22744 27458] [19370 44523 8272 ... 48128 5415 16031] [46528 55764 48272 ... 6154 4794 4495] ... [45386 2290 28659 ... 59405 4197 1665] [ 5888 25630 37689 ... 23417 41582 25466] [62643 39759 20091 ... 16701 56029 7876]] [[44516 37825 10665 ... 30786 43116 43743] [14822 23663 9699 ... 13888 16818 37927] [65432 35329 51956 ... 19493 25074 22007] ... [15225 48779 14442 ... 63003 51334 16683] [11557 54414 28437 ... 4344 14160 30543] [ 8120 20967 57637 ... 46005 38603 9359]]] [[[22892 62889 8722 ... 16211 5106 19002] [22368 1162 61606 ... 16561 44458 48280] [32664 16543 43932 ... 15578 31704 7764] ... [34453 65149 63984 ... 50273 8940 16736] [27784 33310 7251 ... 50608 352 61031] [41408 3337 22190 ... 46515 19160 55981]] [[55644 61016 36925 ... 44172 29758 31851] [50641 30240 64579 ... 53613 31941 47766] [55436 58102 61282 ... 37746 908 11540] ... [48879 42968 60797 ... 58572 55596 45071] [64049 52081 8566 ... 35184 58774 44632] [45607 3367 34002 ... 60400 1888 30044]] [[64859 55868 17145 ... 9185 54870 43187] [ 5637 1409 51493 ... 51863 3416 54830] [ 7244 13275 38481 ... 17928 40083 63560] ... [16934 64521 8335 ... 39237 35649 58712] [59584 21386 39249 ... 22557 17625 56493] [17829 32744 47035 ... 28148 59932 19555]]]] [[[[62834 17664 14598 ... 32626 37919 59198] [45751 44544 33093 ... 44160 26474 12835] [ 7102 5962 14275 ... 60883 49860 25861] ... [48323 7394 55495 ... 31137 34486 9723] [26549 64938 34659 ... 50072 27722 59329] [ 4172 56630 57769 ... 60816 35085 1711]] [[58717 61730 58769 ... 13843 3710 10603] [26915 51822 47054 ... 39721 20910 10712] [43465 55520 39445 ... 37244 50737 12503] ... [38124 2046 30591 ... 51248 59597 28198] [24970 38755 50177 ... 65459 63950 17903] [44649 62370 52571 ... 26837 9796 26386]] [[24552 42397 2954 ... 24520 644 9125] [27684 11285 18268 ... 53481 17458 42861] [41453 58774 40312 ... 49860 34701 17455] ... [56755 50682 37159 ... 17188 60025 23221] [26208 606 35815 ... 18783 48037 2406] [ 4844 7953 5235 ... 60553 36231 48621]]] [[[56116 40954 33188 ... 43026 49876 28263] [ 4262 38101 63905 ... 55079 9632 30591] [53993 53916 29138 ... 45406 6322 22660] ... [28485 57070 29576 ... 52567 43193 22785] [53172 16563 63692 ... 13431 3891 55940] [22969 35422 35346 ... 52091 33559 65294]] [[24743 22810 5288 ... 28012 64237 27143] [ 3901 28958 30666 ... 22020 1723 21771] [61435 44278 26663 ... 37447 13768 8322] ... [34637 53094 27275 ... 16851 23040 48076] [24230 6012 46659 ... 48959 54607 1190] [37563 41825 43313 ... 57582 50493 539]] [[ 3859 12674 31723 ... 39427 55138 2551] [ 6980 61053 34186 ... 3849 44584 18085] [14951 32377 54290 ... 19101 47012 3119] ... [50371 50075 12419 ... 55962 61603 25809] [60234 31956 59638 ... 37271 46738 39343] [43241 49103 39509 ... 15601 33123 44724]]]]] Writing was rejected: object is read-only .. GENERATED FROM PYTHON SOURCE LINES 50-51 Append a new timepoint to an existing dataset .. GENERATED FROM PYTHON SOURCE LINES 51-62 .. code-block:: Python new_1czyx = np.random.randint( 0, np.iinfo(np.uint16).max, size=(1, 2, 3, 32, 32), dtype=np.uint16 ) with open_ome_zarr(store_path, layout="fov", mode="r+") as dataset: img = dataset["img"] print(img.shape) img.append(new_1czyx, axis=0) print(img.shape) .. rst-class:: sphx-glr-script-out .. code-block:: none (5, 2, 3, 32, 32) (6, 2, 3, 32, 32) .. GENERATED FROM PYTHON SOURCE LINES 63-64 Modify channels .. GENERATED FROM PYTHON SOURCE LINES 64-96 .. code-block:: Python # Open the dataset used above dataset = open_ome_zarr(store_path, mode="r+") dataset.print_tree() # Append a new channel and write a Z-stack new_zyx = np.random.randint( 0, np.iinfo(np.uint16).max, size=(3, 32, 32), dtype=np.uint16 ) dataset.append_channel("New", resize_arrays=True) dataset["img"][0, 2] = new_zyx print(dataset.channel_names) dataset.print_tree() # Rename the new channel dataset.rename_channel("New", "Renamed") print(dataset.channel_names) # Write new data to the channel new_tzyx = np.random.randint( 0, np.iinfo(np.uint16).max, size=(6, 3, 32, 32), dtype=np.uint16 ) c_idx = dataset.get_channel_index("Renamed") dataset["img"][:, c_idx] = new_tzyx # Which is equivalent to: if False: # remove this line dataset.update_channel("Renamed", target="img", data=new_tzyx) # Close the dataset dataset.close() .. rst-class:: sphx-glr-script-out .. code-block:: none / └── img (6, 2, 3, 32, 32) uint16 ['DAPI', 'GFP', 'New'] / └── img (6, 3, 3, 32, 32) uint16 ['DAPI', 'GFP', 'Renamed'] .. GENERATED FROM PYTHON SOURCE LINES 97-98 Try viewing the images with napari-ome-zarr .. GENERATED FROM PYTHON SOURCE LINES 100-101 Clean up .. GENERATED FROM PYTHON SOURCE LINES 101-101 .. code-block:: Python tmp_dir.cleanup() .. _sphx_glr_download_auto_examples_run_single_fov_ome_zarr.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: run_single_fov_ome_zarr.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: run_single_fov_ome_zarr.py `