{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# imports\n", "import pathlib\n", "from coda_visual.datasets.raw_hamamatsu_file import RawHamamatsuFile" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "folder_path = pathlib.Path(\n", " # \"/Users/margareteminizer/Desktop/coda/sample_dataset_mouse_gynecological_system_medium/\"\n", " \"/Volumes/kiemen-lab-data/DSAI/sample datasets/mouse_gynecological_system_medium/\"\n", ")\n", "filepaths = sorted(folder_path.glob(\"*.ndpi\"), key=lambda x: int(x.stem.split(\"_\")[-1]))" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Processing file 1/249: OM3_0001.ndpi\n", "Processing file 2/249: OM3_0003.ndpi\n", "Processing file 3/249: OM3_0005.ndpi\n", "Processing file 4/249: OM3_0007.ndpi\n", "Processing file 5/249: OM3_0009.ndpi\n", "Processing file 6/249: OM3_0011.ndpi\n", "Processing file 7/249: OM3_0013.ndpi\n", "Processing file 8/249: OM3_0015.ndpi\n", "Processing file 9/249: OM3_0017.ndpi\n", "Processing file 10/249: OM3_0019.ndpi\n", "Processing file 11/249: OM3_0021.ndpi\n", "Processing file 12/249: OM3_0023.ndpi\n", "Processing file 13/249: OM3_0025.ndpi\n", "Processing file 14/249: OM3_0027.ndpi\n", "Processing file 15/249: OM3_0029.ndpi\n", "Processing file 16/249: OM3_0031.ndpi\n", "Processing file 17/249: OM3_0033.ndpi\n", "Processing file 18/249: OM3_0035.ndpi\n", "Processing file 19/249: OM3_0037.ndpi\n", "Processing file 20/249: OM3_0039.ndpi\n", "Processing file 21/249: OM3_0041.ndpi\n", "Processing file 22/249: OM3_0043.ndpi\n", "Processing file 23/249: OM3_0045.ndpi\n", "Processing file 24/249: OM3_0047.ndpi\n", "Processing file 25/249: OM3_0049.ndpi\n", "Processing file 26/249: OM3_0051.ndpi\n", "Processing file 27/249: OM3_0053.ndpi\n", "Processing file 28/249: OM3_0055.ndpi\n", "Processing file 29/249: OM3_0057.ndpi\n", "Processing file 30/249: OM3_0059.ndpi\n", "Processing file 31/249: OM3_0061.ndpi\n", "Processing file 32/249: OM3_0063.ndpi\n", "Processing file 33/249: OM3_0065.ndpi\n", "Processing file 34/249: OM3_0067.ndpi\n", "Processing file 35/249: OM3_0069.ndpi\n", "Processing file 36/249: OM3_0071.ndpi\n", "Processing file 37/249: OM3_0073.ndpi\n", "Processing file 38/249: OM3_0075.ndpi\n", "Processing file 39/249: OM3_0077.ndpi\n", "Processing file 40/249: OM3_0079.ndpi\n", "Processing file 41/249: OM3_0081.ndpi\n", "Processing file 42/249: OM3_0083.ndpi\n", "Processing file 43/249: OM3_0085.ndpi\n", "Processing file 44/249: OM3_0087.ndpi\n", "Processing file 45/249: OM3_0089.ndpi\n", "Processing file 46/249: OM3_0091.ndpi\n", "Processing file 47/249: OM3_0093.ndpi\n", "Processing file 48/249: OM3_0095.ndpi\n", "Processing file 49/249: OM3_0097.ndpi\n", "Processing file 50/249: OM3_0099.ndpi\n", "Processing file 51/249: OM3_0101.ndpi\n", "Processing file 52/249: OM3_0103.ndpi\n", "Processing file 53/249: OM3_0105.ndpi\n", "Processing file 54/249: OM3_0107.ndpi\n", "Processing file 55/249: OM3_0109.ndpi\n", "Processing file 56/249: OM3_0111.ndpi\n", "Processing file 57/249: OM3_0113.ndpi\n", "Processing file 58/249: OM3_0115.ndpi\n", "Processing file 59/249: OM3_0117.ndpi\n", "Processing file 60/249: OM3_0119.ndpi\n", "Processing file 61/249: OM3_0121.ndpi\n", "Processing file 62/249: OM3_0123.ndpi\n", "Processing file 63/249: OM3_0125.ndpi\n", "Processing file 64/249: OM3_0127.ndpi\n", "Processing file 65/249: OM3_0129.ndpi\n", "Processing file 66/249: OM3_0131.ndpi\n", "Processing file 67/249: OM3_0133.ndpi\n", "Processing file 68/249: OM3_0135.ndpi\n", "Processing file 69/249: OM3_0137.ndpi\n", "Processing file 70/249: OM3_0139.ndpi\n", "Processing file 71/249: OM3_0141.ndpi\n", "Processing file 72/249: OM3_0143.ndpi\n", "Processing file 73/249: OM3_0145.ndpi\n", "Processing file 74/249: OM3_0147.ndpi\n", "Processing file 75/249: OM3_0149.ndpi\n", "Processing file 76/249: OM3_0151.ndpi\n", "Processing file 77/249: OM3_0153.ndpi\n", "Processing file 78/249: OM3_0155.ndpi\n", "Processing file 79/249: OM3_0157.ndpi\n", "Processing file 80/249: OM3_0159.ndpi\n", "Processing file 81/249: OM3_0161.ndpi\n", "Processing file 82/249: OM3_0163.ndpi\n", "Processing file 83/249: OM3_0165.ndpi\n", "Processing file 84/249: OM3_0167.ndpi\n", "Processing file 85/249: OM3_0169.ndpi\n", "Processing file 86/249: OM3_0171.ndpi\n", "Processing file 87/249: OM3_0173.ndpi\n", "Processing file 88/249: OM3_0175.ndpi\n", "Processing file 89/249: OM3_0177.ndpi\n", "Processing file 90/249: OM3_0179.ndpi\n", "Processing file 91/249: OM3_0181.ndpi\n", "Processing file 92/249: OM3_0183.ndpi\n", "Processing file 93/249: OM3_0185.ndpi\n", "Processing file 94/249: OM3_0187.ndpi\n", "Processing file 95/249: OM3_0189.ndpi\n", "Processing file 96/249: OM3_0191.ndpi\n", "Processing file 97/249: OM3_0193.ndpi\n", "Processing file 98/249: OM3_0195.ndpi\n", "Processing file 99/249: OM3_0197.ndpi\n", "Processing file 100/249: OM3_0199.ndpi\n", "Processing file 101/249: OM3_0201.ndpi\n", "Processing file 102/249: OM3_0203.ndpi\n", "Processing file 103/249: OM3_0205.ndpi\n", "Processing file 104/249: OM3_0207.ndpi\n", "Processing file 105/249: OM3_0209.ndpi\n", "Processing file 106/249: OM3_0211.ndpi\n", "Processing file 107/249: OM3_0213.ndpi\n", "Processing file 108/249: OM3_0215.ndpi\n", "Processing file 109/249: OM3_0217.ndpi\n", "Processing file 110/249: OM3_0219.ndpi\n", "Processing file 111/249: OM3_0221.ndpi\n", "Processing file 112/249: OM3_0223.ndpi\n", "Processing file 113/249: OM3_0225.ndpi\n", "Processing file 114/249: OM3_0227.ndpi\n", "Processing file 115/249: OM3_0229.ndpi\n", "Processing file 116/249: OM3_0231.ndpi\n", "Processing file 117/249: OM3_0233.ndpi\n", "Processing file 118/249: OM3_0235.ndpi\n", "Processing file 119/249: OM3_0237.ndpi\n", "Processing file 120/249: OM3_0239.ndpi\n", "Processing file 121/249: OM3_0241.ndpi\n", "Processing file 122/249: OM3_0243.ndpi\n", "Processing file 123/249: OM3_0245.ndpi\n", "Processing file 124/249: OM3_0247.ndpi\n", "Processing file 125/249: OM3_0249.ndpi\n", "Processing file 126/249: OM3_0251.ndpi\n", "Processing file 127/249: OM3_0253.ndpi\n", "Processing file 128/249: OM3_0255.ndpi\n", "Processing file 129/249: OM3_0257.ndpi\n", "Processing file 130/249: OM3_0259.ndpi\n", "Processing file 131/249: OM3_0261.ndpi\n", "Processing file 132/249: OM3_0263.ndpi\n", "Processing file 133/249: OM3_0265.ndpi\n", "Processing file 134/249: OM3_0267.ndpi\n", "Processing file 135/249: OM3_0269.ndpi\n", "Processing file 136/249: OM3_0271.ndpi\n", "Processing file 137/249: OM3_0273.ndpi\n", "Processing file 138/249: OM3_0275.ndpi\n", "Processing file 139/249: OM3_0277.ndpi\n", "Processing file 140/249: OM3_0279.ndpi\n", "Processing file 141/249: OM3_0281.ndpi\n", "Processing file 142/249: OM3_0283.ndpi\n", "Processing file 143/249: OM3_0285.ndpi\n", "Processing file 144/249: OM3_0287.ndpi\n", "Processing file 145/249: OM3_0289.ndpi\n", "Processing file 146/249: OM3_0291.ndpi\n", "Processing file 147/249: OM3_0293.ndpi\n", "Processing file 148/249: OM3_0295.ndpi\n", "Processing file 149/249: OM3_0297.ndpi\n", "Processing file 150/249: OM3_0299.ndpi\n", "Processing file 151/249: OM3_0301.ndpi\n", "Processing file 152/249: OM3_0303.ndpi\n", "Processing file 153/249: OM3_0305.ndpi\n", "Processing file 154/249: OM3_0307.ndpi\n", "Processing file 155/249: OM3_0309.ndpi\n", "Processing file 156/249: OM3_0311.ndpi\n", "Processing file 157/249: OM3_0313.ndpi\n", "Processing file 158/249: OM3_0315.ndpi\n", "Processing file 159/249: OM3_0317.ndpi\n", "Processing file 160/249: OM3_0319.ndpi\n", "Processing file 161/249: OM3_0321.ndpi\n", "Processing file 162/249: OM3_0323.ndpi\n", "Processing file 163/249: OM3_0325.ndpi\n", "Processing file 164/249: OM3_0327.ndpi\n", "Processing file 165/249: OM3_0329.ndpi\n", "Processing file 166/249: OM3_0331.ndpi\n", "Processing file 167/249: OM3_0333.ndpi\n", "Processing file 168/249: OM3_0335.ndpi\n", "Processing file 169/249: OM3_0337.ndpi\n", "Processing file 170/249: OM3_0339.ndpi\n", "Processing file 171/249: OM3_0341.ndpi\n", "Processing file 172/249: OM3_0343.ndpi\n", "Processing file 173/249: OM3_0345.ndpi\n", "Processing file 174/249: OM3_0347.ndpi\n", "Processing file 175/249: OM3_0349.ndpi\n", "Processing file 176/249: OM3_0351.ndpi\n", "Processing file 177/249: OM3_0353.ndpi\n", "Processing file 178/249: OM3_0355.ndpi\n", "Processing file 179/249: OM3_0357.ndpi\n", "Processing file 180/249: OM3_0359.ndpi\n", "Processing file 181/249: OM3_0361.ndpi\n", "Processing file 182/249: OM3_0363.ndpi\n", "Processing file 183/249: OM3_0365.ndpi\n", "Processing file 184/249: OM3_0367.ndpi\n", "Processing file 185/249: OM3_0369.ndpi\n", "Processing file 186/249: OM3_0371.ndpi\n", "Processing file 187/249: OM3_0373.ndpi\n", "Processing file 188/249: OM3_0375.ndpi\n", "Processing file 189/249: OM3_0377.ndpi\n", "Processing file 190/249: OM3_0379.ndpi\n", "Processing file 191/249: OM3_0381.ndpi\n", "Processing file 192/249: OM3_0383.ndpi\n", "Processing file 193/249: OM3_0385.ndpi\n", "Processing file 194/249: OM3_0387.ndpi\n", "Processing file 195/249: OM3_0389.ndpi\n", "Processing file 196/249: OM3_0391.ndpi\n", "Processing file 197/249: OM3_0393.ndpi\n", "Processing file 198/249: OM3_0395.ndpi\n", "Processing file 199/249: OM3_0397.ndpi\n", "Processing file 200/249: OM3_0399.ndpi\n", "Processing file 201/249: OM3_0401.ndpi\n", "Processing file 202/249: OM3_0403.ndpi\n", "Processing file 203/249: OM3_0405.ndpi\n", "Processing file 204/249: OM3_0407.ndpi\n", "Processing file 205/249: OM3_0409.ndpi\n", "Processing file 206/249: OM3_0411.ndpi\n", "Processing file 207/249: OM3_0413.ndpi\n", "Processing file 208/249: OM3_0415.ndpi\n", "Processing file 209/249: OM3_0417.ndpi\n", "Processing file 210/249: OM3_0419.ndpi\n", "Processing file 211/249: OM3_0421.ndpi\n", "Processing file 212/249: OM3_0423.ndpi\n", "Processing file 213/249: OM3_0425.ndpi\n", "Processing file 214/249: OM3_0427.ndpi\n", "Processing file 215/249: OM3_0429.ndpi\n", "Processing file 216/249: OM3_0431.ndpi\n", "Processing file 217/249: OM3_0433.ndpi\n", "Processing file 218/249: OM3_0435.ndpi\n", "Processing file 219/249: OM3_0437.ndpi\n", "Processing file 220/249: OM3_0439.ndpi\n", "Processing file 221/249: OM3_0441.ndpi\n", "Processing file 222/249: OM3_0443.ndpi\n", "Processing file 223/249: OM3_0445.ndpi\n", "Processing file 224/249: OM3_0447.ndpi\n", "Processing file 225/249: OM3_0449.ndpi\n", "Processing file 226/249: OM3_0451.ndpi\n", "Processing file 227/249: OM3_0453.ndpi\n", "Processing file 228/249: OM3_0455.ndpi\n", "Processing file 229/249: OM3_0457.ndpi\n", "Processing file 230/249: OM3_0459.ndpi\n", "Processing file 231/249: OM3_0461.ndpi\n", "Processing file 232/249: OM3_0463.ndpi\n", "Processing file 233/249: OM3_0465.ndpi\n", "Processing file 234/249: OM3_0467.ndpi\n", "Processing file 235/249: OM3_0469.ndpi\n", "Processing file 236/249: OM3_0471.ndpi\n", "Processing file 237/249: OM3_0473.ndpi\n", "Processing file 238/249: OM3_0475.ndpi\n", "Processing file 239/249: OM3_0477.ndpi\n", "Processing file 240/249: OM3_0479.ndpi\n", "Processing file 241/249: OM3_0481.ndpi\n", "Processing file 242/249: OM3_0483.ndpi\n", "Processing file 243/249: OM3_0485.ndpi\n", "Processing file 244/249: OM3_0487.ndpi\n", "Processing file 245/249: OM3_0489.ndpi\n", "Processing file 246/249: OM3_0491.ndpi\n", "Processing file 247/249: OM3_0493.ndpi\n", "Processing file 248/249: OM3_0495.ndpi\n", "Processing file 249/249: OM3_0497.ndpi\n" ] } ], "source": [ "for irfp, raw_file_path in enumerate(filepaths, start=1):\n", " print(f\"Processing file {irfp}/{len(filepaths)}: {raw_file_path.name}\")\n", " raw_file = RawHamamatsuFile(raw_file_path)\n", " level_3_image = raw_file.get_PIL_image_level(3).convert(\"RGB\")\n", " downsampled_image = level_3_image.resize(\n", " (int(0.8 * level_3_image.width), int(0.8 * level_3_image.height))\n", " )\n", " new_path = folder_path / \"1x\" / f\"{raw_file_path.stem}.tif\"\n", " new_path.parent.mkdir(exist_ok=True, parents=True)\n", " downsampled_image.save(new_path,\"TIFF\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] } ], "metadata": { "kernelspec": { "display_name": "coda-visual", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.15" } }, "nbformat": 4, "nbformat_minor": 2 }