cell-data-loader 0.0.44__tar.gz → 0.0.46__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/PKG-INFO +5 -4
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/pyproject.toml +5 -4
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/requirements.txt +1 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/src/cell_data_loader/__init__.py +1 -1
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/src/cell_data_loader/cell_data_loader.py +208 -34
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/src/cell_data_loader/util.py +35 -1
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/.gitattributes +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/.github/workflows/publish-to-pypi.yml +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/README.md +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/3368914_4_non_tumor/ny=45056_nx=35840.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/4173633_5.svs +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=0_nx=0.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=15872.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=16384.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=16896.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=17920.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=18432.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=21504.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=22528.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=24064.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=25088.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=25600.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=15360.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=15872.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=16384.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=16896.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=17408.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=17920.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=18432.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=21504.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=22528.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=24576.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=25088.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=25600.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=15360.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=15872.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=16384.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=16896.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=17920.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=18432.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=21504.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=25088.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=25600.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=14848.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=15360.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=17920.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=18432.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=21504.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=22528.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=24576.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=25088.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=25600.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11776_nx=26624.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=14848.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=16896.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=17920.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=18432.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=24064.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=24576.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=25088.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=25600.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=26112.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=26624.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=27136.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=27648.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12288_nx=28160.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=13824.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=14848.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=15360.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=16384.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=16896.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=17408.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=17920.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=18432.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=24064.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=24576.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=25088.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=25600.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=26112.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=26624.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=12800_nx=27136.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13312_nx=14848.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13312_nx=15360.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13312_nx=16384.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13312_nx=16896.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13312_nx=18432.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13312_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13312_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13312_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13312_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13312_nx=24064.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13312_nx=24576.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13312_nx=25088.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13312_nx=25600.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13312_nx=26112.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13312_nx=26624.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13312_nx=27136.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=14848.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=15360.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=15872.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=16896.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=21504.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=22528.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=24064.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=24576.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=25088.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=25600.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=26112.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=26624.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=27136.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=28160.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=29696.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=31232.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=31744.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=32256.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=13824_nx=32768.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=14848.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=15360.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=15872.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=22528.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=24064.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=24576.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=25088.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=26112.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=27648.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=30720.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=31232.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=31744.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=32256.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=32768.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14336_nx=5120.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14848_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14848_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14848_nx=21504.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14848_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14848_nx=22528.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14848_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14848_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14848_nx=24064.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14848_nx=32256.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14848_nx=32768.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14848_nx=33280.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14848_nx=34816.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=14848_nx=35328.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=10240.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=21504.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=22528.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=24064.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=31744.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=32256.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=32768.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=33280.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=33792.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=34304.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=34816.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15360_nx=35328.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=1536_nx=56832.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15872_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15872_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15872_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15872_nx=21504.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15872_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15872_nx=22528.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15872_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15872_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15872_nx=24064.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15872_nx=31744.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15872_nx=32256.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15872_nx=33280.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15872_nx=33792.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15872_nx=34304.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=15872_nx=34816.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16384_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16384_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16384_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16384_nx=21504.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16384_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16384_nx=22528.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16384_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16384_nx=25088.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16384_nx=25600.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16384_nx=28672.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16384_nx=30208.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16384_nx=33280.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=22528.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=24064.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=24576.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=25088.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=25600.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=26112.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=26624.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=27136.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=27648.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=28160.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=28672.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=16896_nx=29184.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=21504.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=24064.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=25088.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=25600.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=26112.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=26624.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=27136.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=27648.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=28160.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=28672.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=29184.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17408_nx=40960.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17920_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17920_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17920_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17920_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17920_nx=22528.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17920_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17920_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17920_nx=24064.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17920_nx=25088.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17920_nx=25600.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17920_nx=26112.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17920_nx=26624.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=17920_nx=27136.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18432_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18432_nx=21504.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18432_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18432_nx=22528.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18432_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18432_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18432_nx=24064.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18432_nx=24576.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18432_nx=25088.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18432_nx=25600.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18432_nx=26112.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18432_nx=26624.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18432_nx=27136.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18944_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18944_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18944_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18944_nx=21504.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18944_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18944_nx=22528.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18944_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18944_nx=24064.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18944_nx=25088.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18944_nx=25600.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=18944_nx=54784.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=19456_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=19456_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=19456_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=19456_nx=24064.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=19456_nx=24576.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=19456_nx=25088.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=19456_nx=54784.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=19968_nx=14336.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=19968_nx=14848.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=19968_nx=15360.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=19968_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=19968_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=19968_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=19968_nx=54784.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=19968_nx=55296.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20480_nx=13824.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20480_nx=14848.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20480_nx=15360.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20480_nx=15872.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20480_nx=16384.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20480_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20480_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20480_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20480_nx=29184.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20480_nx=54784.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20480_nx=55296.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20992_nx=14336.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20992_nx=14848.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20992_nx=15360.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20992_nx=15872.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20992_nx=16384.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20992_nx=16896.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20992_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20992_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20992_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20992_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20992_nx=54784.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=20992_nx=55296.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=21504_nx=15872.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=21504_nx=16384.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=21504_nx=16896.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=21504_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=21504_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=21504_nx=53760.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=21504_nx=54272.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=21504_nx=54784.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=21504_nx=55296.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=22016_nx=53248.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=22016_nx=53760.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=22016_nx=54272.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=22016_nx=54784.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=22016_nx=55296.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=22528_nx=50688.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=22528_nx=51200.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=22528_nx=51712.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=22528_nx=53248.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=22528_nx=53760.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=22528_nx=54272.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=22528_nx=54784.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=23040_nx=50688.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=23040_nx=51200.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=23040_nx=51712.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=28160_nx=18432.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=28160_nx=7680.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=29184_nx=8192.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=30720_nx=12288.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=32768_nx=13824.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=3584_nx=2048.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=3584_nx=512.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=7168_nx=17920.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=7168_nx=18432.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=7680_nx=17408.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=7680_nx=17920.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=7680_nx=18432.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=7680_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=7680_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=8192_nx=18432.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=8192_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=8192_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=8192_nx=27136.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=8192_nx=31744.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=8704_nx=17408.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=8704_nx=17920.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=8704_nx=18432.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=8704_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=8704_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=8704_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9216_nx=17408.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9216_nx=17920.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9216_nx=18432.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9216_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9216_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9216_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9216_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9216_nx=21504.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9216_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9216_nx=22528.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9216_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9728_nx=15872.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9728_nx=16384.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9728_nx=16896.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9728_nx=17920.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9728_nx=18432.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9728_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9728_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9728_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9728_nx=20480.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9728_nx=20992.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9728_nx=21504.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9728_nx=22016.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9728_nx=22528.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9728_nx=23040.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9728_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=9728_nx=24064.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=10240_nx=17408.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=10240_nx=24576.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=11264_nx=17408.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=11776_nx=15872.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=11776_nx=16384.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=11776_nx=16896.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=11776_nx=17408.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=11776_nx=33792.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=12288_nx=15872.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=12288_nx=16384.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=13312_nx=29184.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=13824_nx=27648.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=14336_nx=28160.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=14848_nx=18432.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=14848_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=14848_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=15872_nx=19456.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=16384_nx=19968.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=16384_nx=26112.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=18944_nx=23552.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=18944_nx=41472.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=20480_nx=14336.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=8192_nx=17408.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=8192_nx=17920.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=9216_nx=18944.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=9728_nx=17408.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=9728_nx=24576.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/tumor/ny=9728_nx=29184.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/CSV_labels/AF647-1.tif +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/CSV_labels/AF647-2.tif +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/CSV_labels/AF647-3.tif +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/CSV_labels/For_DL_AF647-1.csv +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/CSV_labels/For_DL_AF647-2.csv +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/CSV_labels/For_DL_AF647-3.csv +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/Snap-15309.czi +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/Snap-15310.czi +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/Snap-15311.czi +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/Snap-15312.czi +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/Snap-15313.czi +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/Snap-15314.czi +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/Snap-15315.czi +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/Snap-15316.czi +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/Snap-15317.czi +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/Snap-15318.czi +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/Snap-15319.czi +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/tiff/Snap-15309.tif +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/tiff/Snap-15310.tif +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/tiff/Snap-15311.tif +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/tiff/Snap-15312.tif +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/tiff/Snap-15313.tif +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/tiff/Snap-15314.tif +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/tiff/Snap-15315.tif +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/tiff/Snap-15316.tif +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/tiff/Snap-15317.tif +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/tiff/Snap-15318.tif +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/tiff/Snap-15319.tif +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/tiff/Snap-15319_combine.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/tiff/Snap-15319_combine.tif +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/H6-13_Mars1+dapi/tiff/Snap-15319_combine_1.jpg +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/example/CellDataLoaderPlayground.ipynb +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/src/cell_data_loader/base_dataset.py +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/tests/__init__.py +0 -0
- {cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/tests/unit_tests.py +0 -0
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: cell_data_loader
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.46
|
|
4
4
|
Summary: Converts general images of cells into formats and labels for deep learning pipelines
|
|
5
5
|
Project-URL: Homepage, https://github.com/mleming/CellDataLoader
|
|
6
|
-
Author-email: Matt Leming <mleming@
|
|
7
|
-
Maintainer-email: Matt Leming <mleming@
|
|
6
|
+
Author-email: Matt Leming <mleming@surescaneds.com>
|
|
7
|
+
Maintainer-email: Matt Leming <mleming@surescaneds.com>
|
|
8
8
|
License: MIT License
|
|
9
9
|
Keywords: biomedical,cell,cell image,cellpose,csz,dataloader
|
|
10
10
|
Requires-Python: >=3.8
|
|
11
11
|
Requires-Dist: cellpose==3.1.0
|
|
12
|
+
Requires-Dist: nibabel
|
|
12
13
|
Requires-Dist: numpy>=1.22.0
|
|
13
14
|
Requires-Dist: opencv-python>=4.5.4
|
|
14
15
|
Requires-Dist: pillow
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
name = "cell_data_loader"
|
|
4
4
|
|
|
5
|
-
version = "0.0.
|
|
5
|
+
version = "0.0.46"
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
dependencies = [
|
|
@@ -14,15 +14,16 @@ dependencies = [
|
|
|
14
14
|
"slideio==2.4.1",
|
|
15
15
|
"scikit-image",
|
|
16
16
|
"pillow",
|
|
17
|
-
"cellpose==3.1.0"
|
|
17
|
+
"cellpose==3.1.0",
|
|
18
|
+
"nibabel"
|
|
18
19
|
]
|
|
19
20
|
requires-python = ">=3.8"
|
|
20
21
|
|
|
21
22
|
authors = [
|
|
22
|
-
{name = "Matt Leming", email = "mleming@
|
|
23
|
+
{name = "Matt Leming", email = "mleming@surescaneds.com"}
|
|
23
24
|
]
|
|
24
25
|
maintainers = [
|
|
25
|
-
{name = "Matt Leming", email = "mleming@
|
|
26
|
+
{name = "Matt Leming", email = "mleming@surescaneds.com"}
|
|
26
27
|
]
|
|
27
28
|
|
|
28
29
|
description = "Converts general images of cells into formats and labels for deep learning pipelines"
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/src/cell_data_loader/cell_data_loader.py
RENAMED
|
@@ -16,6 +16,7 @@ import torch,torchvision
|
|
|
16
16
|
from .util import *
|
|
17
17
|
import torchvision.transforms as transforms
|
|
18
18
|
import gc, hashlib
|
|
19
|
+
import nibabel as nb
|
|
19
20
|
#import openslide
|
|
20
21
|
#import czifile
|
|
21
22
|
try:
|
|
@@ -34,6 +35,27 @@ def hash_det(input_string: str) -> int:
|
|
|
34
35
|
# 3. Convert hex string to base-10 integer
|
|
35
36
|
return int(hex_digest, 16)
|
|
36
37
|
|
|
38
|
+
def _load_nifti(path):
|
|
39
|
+
"""Reads a NIfTI as a float array, including RGB24/RGBA32 files.
|
|
40
|
+
|
|
41
|
+
RGB NIfTIs store each voxel as an (R,G,B[,A]) record, which get_fdata()
|
|
42
|
+
can't convert to float. Those come back with a trailing channel axis,
|
|
43
|
+
e.g. (256,256,28) RGB -> (256,256,28,3).
|
|
44
|
+
"""
|
|
45
|
+
img = nb.load(path)
|
|
46
|
+
if img.get_data_dtype().names is not None:
|
|
47
|
+
from numpy.lib import recfunctions as rfn
|
|
48
|
+
return rfn.structured_to_unstructured(
|
|
49
|
+
np.asanyarray(img.dataobj)).astype(np.float32)
|
|
50
|
+
return img.get_fdata()
|
|
51
|
+
|
|
52
|
+
def _nifti_header_layout(path):
|
|
53
|
+
"""(channels per voxel, number of spatial axes) from the header alone"""
|
|
54
|
+
img = nb.load(path) # lazy: reads the header, not the image data
|
|
55
|
+
dt = img.get_data_dtype()
|
|
56
|
+
k = len(dt.names) if dt.names is not None else 1 # RGB24/RGBA32 records
|
|
57
|
+
return k * int(np.prod(img.shape[3:])), min(len(img.shape), 3)
|
|
58
|
+
|
|
37
59
|
class ImageLabelObject(BaseDataset):
|
|
38
60
|
def __init__(self,
|
|
39
61
|
filename,
|
|
@@ -53,7 +75,8 @@ class ImageLabelObject(BaseDataset):
|
|
|
53
75
|
C_dim : tuple = (16,32),
|
|
54
76
|
y_nums : list = None,
|
|
55
77
|
c_nums : list = None,
|
|
56
|
-
file_to_label_regex : tuple = None
|
|
78
|
+
file_to_label_regex : tuple = None,
|
|
79
|
+
volumetric : bool = False):
|
|
57
80
|
|
|
58
81
|
super().__init__()
|
|
59
82
|
self.filename = filename
|
|
@@ -81,6 +104,15 @@ class ImageLabelObject(BaseDataset):
|
|
|
81
104
|
raise ValueError("Filetype can only have 2D image but tuple"+\
|
|
82
105
|
" is 3D — check to make sure that channels is set in"+\
|
|
83
106
|
" n_channels")
|
|
107
|
+
# volumetric=True: every axis in dim is spatial (e.g. 256x256x3 is a
|
|
108
|
+
# 3-slice volume, not an RGB image). Channels go on a trailing axis.
|
|
109
|
+
self.volumetric = volumetric
|
|
110
|
+
if self.volumetric:
|
|
111
|
+
if len(self.dim) != 3:
|
|
112
|
+
raise ValueError(f"volumetric=True needs a 3D dim, got {self.dim}")
|
|
113
|
+
if self.im_type() in ["czi","svs","regular"]:
|
|
114
|
+
raise ValueError(f"volumetric=True is not supported for "+\
|
|
115
|
+
f"{self.im_type()} files")
|
|
84
116
|
self.slice_size = slice_size
|
|
85
117
|
if self.mode == "sliced":
|
|
86
118
|
if self.slice_size is None:
|
|
@@ -232,10 +264,27 @@ class ImageLabelObject(BaseDataset):
|
|
|
232
264
|
if self.npy_file != get_dim_str(self.filename,self.dim):
|
|
233
265
|
print("Error: %s != %s" % ( self.npy_file,get_dim_str(self.filename,self.dim)))
|
|
234
266
|
assert(self.npy_file == get_dim_str(self.filename,self.dim))
|
|
235
|
-
|
|
236
|
-
|
|
267
|
+
cache_path = os.path.realpath(self.npy_file)
|
|
268
|
+
cache_is_source = cache_path == os.path.realpath(self.filename)
|
|
269
|
+
stale_cache = False
|
|
270
|
+
if self.cache and os.path.isfile(cache_path):
|
|
271
|
+
self.image = np.load(cache_path)
|
|
272
|
+
# Cache names collide across dims, e.g. (64,64) and (64,64,64)
|
|
273
|
+
# both map to *_resized_64.npy, so check the shape
|
|
274
|
+
if self.mode == "whole" and not cache_is_source and \
|
|
275
|
+
not self._cached_shape_ok(self.image):
|
|
276
|
+
expected = f"{tuple(self.dim)} plus a channel axis" \
|
|
277
|
+
if self.volumetric else f"{tuple(self.dim)}"
|
|
278
|
+
warnings.warn(f"Cached {self.npy_file} has shape "+\
|
|
279
|
+
f"{self.image.shape}, expected {expected} (made by a "+\
|
|
280
|
+
"run with a different dim or volumetric setting); "+\
|
|
281
|
+
"rebuilding it from the source file")
|
|
282
|
+
self.image = None
|
|
283
|
+
stale_cache = True
|
|
284
|
+
if self.image is not None:
|
|
285
|
+
pass
|
|
237
286
|
elif self.im_type() == "nifti":
|
|
238
|
-
self.image =
|
|
287
|
+
self.image = _load_nifti(os.path.realpath(self.filename))
|
|
239
288
|
elif self.im_type() == "npy":
|
|
240
289
|
self.image = np.load(os.path.realpath(self.filename))
|
|
241
290
|
elif self.im_type() == "dicom":
|
|
@@ -245,8 +294,12 @@ class ImageLabelObject(BaseDataset):
|
|
|
245
294
|
print("Error in %s" % self.npy_file)
|
|
246
295
|
raise Exception("Unsupported image type: %s"%self.im_type())
|
|
247
296
|
if self.mode == "whole":
|
|
248
|
-
|
|
249
|
-
|
|
297
|
+
if self.volumetric:
|
|
298
|
+
self.image = self._resize_volume(self.image)
|
|
299
|
+
else:
|
|
300
|
+
self.image = resize_np(self.image,self.dim)
|
|
301
|
+
if self.cache and not cache_is_source and \
|
|
302
|
+
(stale_cache or not os.path.isfile(cache_path)):
|
|
250
303
|
np.save(self.npy_file,self.image)
|
|
251
304
|
if self.database is not None:
|
|
252
305
|
self.database.add_json(nifti_file=self.filename)
|
|
@@ -254,35 +307,59 @@ class ImageLabelObject(BaseDataset):
|
|
|
254
307
|
raise Exception(f"No valid imtype for {self.filename}")
|
|
255
308
|
assert self.image is not None, f"Image not read in: {self.filename}"
|
|
256
309
|
|
|
257
|
-
if self.
|
|
258
|
-
self.image
|
|
310
|
+
if self.im_type() in ["regular","czi","svs"]:
|
|
311
|
+
if self.image.dtype != np.uint8:
|
|
312
|
+
self.image = self.image.astype(np.uint8)
|
|
313
|
+
else:
|
|
314
|
+
# NIfTI/NPY/DICOM: resize_np scales to [0,1], so a uint8 cast
|
|
315
|
+
# here would truncate almost every voxel to 0. Keep floats.
|
|
316
|
+
self.image = self.image.astype(np.float32)
|
|
317
|
+
lo,hi = self.image.min(),self.image.max()
|
|
318
|
+
if lo < 0 or hi > 1:
|
|
319
|
+
self.image = (self.image - lo) / (hi - lo if hi > lo else 1)
|
|
259
320
|
if self.mode == "whole" and self.im_type() == "regular":
|
|
260
321
|
self.image = cv2.resize(self.image,self.dim[::-1])
|
|
261
322
|
assert(not np.isnan(self.image[0,0,0]))
|
|
262
323
|
elif self.mode == "whole" and self.im_type() in ["czi","svs"]:
|
|
263
324
|
#self.image = resize(self.image,self.dim)
|
|
264
325
|
self.image = cv2.resize(self.image,self.dim[::-1])
|
|
265
|
-
if
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
326
|
+
if self.volumetric:
|
|
327
|
+
# All axes of dim are spatial; add a trailing channel axis
|
|
328
|
+
if self.image.ndim == len(self.dim):
|
|
329
|
+
self.image = self.image[...,np.newaxis]
|
|
330
|
+
if self.image.ndim != len(self.dim) + 1:
|
|
331
|
+
raise ValueError(f"{self.filename} has shape "+\
|
|
332
|
+
f"{self.image.shape}; expected {len(self.dim)} spatial "+\
|
|
333
|
+
"axes (+ optional channel axis). If it was loaded from a "+\
|
|
334
|
+
f"stale cache, delete {self.npy_file} and rerun.")
|
|
335
|
+
if read_filename_label:
|
|
336
|
+
self.filename_label_channels = self.image.shape[-1]
|
|
337
|
+
elif self.n_channels is not None and \
|
|
338
|
+
self.image.shape[-1] != self.n_channels:
|
|
339
|
+
raise ValueError(f"{self.filename} has "+\
|
|
340
|
+
f"{self.image.shape[-1]} channels, expected {self.n_channels}")
|
|
341
|
+
else:
|
|
342
|
+
if len(self.image.shape) < 3:
|
|
343
|
+
self.image = np.expand_dims(self.image,axis=2)
|
|
344
|
+
s = self.image.shape
|
|
345
|
+
assert(len(s) == 3)
|
|
346
|
+
if s[0] < s[1] and s[0] < s[2]:
|
|
347
|
+
self.image = np.moveaxis(self.image,0,-1)
|
|
348
|
+
if len(self.image.shape) != 3:
|
|
349
|
+
self.image = np.expand_dims(self.image,axis=2)
|
|
350
|
+
assert(len(self.image.shape) == 3)
|
|
351
|
+
if read_filename_label:
|
|
352
|
+
self.filename_label_channels = self.image.shape[2]
|
|
353
|
+
elif self.n_channels is not None and \
|
|
354
|
+
self.image.shape[2] != self.n_channels:
|
|
355
|
+
self.image = resample(self.image,
|
|
356
|
+
self.n_channels,axis=2)
|
|
280
357
|
if self.mode == "whole":
|
|
281
358
|
if self.dtype == "torch":
|
|
282
359
|
self.image = torch.tensor(self.image)
|
|
283
|
-
assert(len(self.image.size()) ==
|
|
360
|
+
assert(len(self.image.size()) == self._n_axes())
|
|
284
361
|
elif self.dtype == "numpy":
|
|
285
|
-
assert(len(self.image.shape) ==
|
|
362
|
+
assert(len(self.image.shape) == self._n_axes())
|
|
286
363
|
else:
|
|
287
364
|
raise Exception("Unimplemented dtype: %s" % self.dtype)
|
|
288
365
|
|
|
@@ -302,6 +379,32 @@ class ImageLabelObject(BaseDataset):
|
|
|
302
379
|
|
|
303
380
|
return self.image
|
|
304
381
|
|
|
382
|
+
def _n_axes(self):
|
|
383
|
+
"""Rank of a stored image: spatial axes + one channel axis"""
|
|
384
|
+
return len(self.dim) + 1 if self.volumetric else 3
|
|
385
|
+
|
|
386
|
+
def _cached_shape_ok(self,im):
|
|
387
|
+
"""Whether a cached whole-mode array was made with this dim"""
|
|
388
|
+
n = len(self.dim)
|
|
389
|
+
if tuple(im.shape[:n]) != tuple(self.dim):
|
|
390
|
+
return False
|
|
391
|
+
if self.volumetric:
|
|
392
|
+
return im.ndim == n + 1
|
|
393
|
+
return im.ndim == n
|
|
394
|
+
|
|
395
|
+
def _resize_volume(self,im):
|
|
396
|
+
"""Resizes each channel of a volume to self.dim; returns (*dim, C)"""
|
|
397
|
+
if im.ndim == len(self.dim) + 1:
|
|
398
|
+
# Scale all channels together first so resize_np doesn't stretch
|
|
399
|
+
# each one to [0,1] separately (which would distort RGB color)
|
|
400
|
+
im = im.astype(np.float32)
|
|
401
|
+
lo,hi = im.min(),im.max()
|
|
402
|
+
if lo < 0 or hi > 1:
|
|
403
|
+
im = (im - lo) / (hi - lo if hi > lo else 1)
|
|
404
|
+
return np.stack([resize_np(im[...,ch],self.dim)
|
|
405
|
+
for ch in range(im.shape[-1])],axis=-1)
|
|
406
|
+
return resize_np(im,self.dim)[...,np.newaxis]
|
|
407
|
+
|
|
305
408
|
def get_mem(self) -> float:
|
|
306
409
|
"""Estimates the memory of the larger objects stored in ImageLabelObject"""
|
|
307
410
|
|
|
@@ -334,6 +437,7 @@ class ImageLabelObject(BaseDataset):
|
|
|
334
437
|
if self.n_channels is not None:
|
|
335
438
|
return self.n_channels
|
|
336
439
|
s = self.get_orig_size()
|
|
440
|
+
if self.volumetric: return s[-1]
|
|
337
441
|
if len(s) == 2: return 1
|
|
338
442
|
s_sorted = sorted(s,reverse=True)
|
|
339
443
|
return s_sorted[2]
|
|
@@ -357,8 +461,7 @@ class ImageLabelObject(BaseDataset):
|
|
|
357
461
|
if self.mode == "whole":
|
|
358
462
|
return 1
|
|
359
463
|
elif self.mode == "sliced":
|
|
360
|
-
|
|
361
|
-
return x*y
|
|
464
|
+
return int(np.prod(self.get_scaled_dims()))
|
|
362
465
|
elif self.mode == "cell":
|
|
363
466
|
return len(self.get_cell_box_label())
|
|
364
467
|
else:
|
|
@@ -366,6 +469,7 @@ class ImageLabelObject(BaseDataset):
|
|
|
366
469
|
|
|
367
470
|
def get_orig_dims(self):
|
|
368
471
|
s = self.get_orig_size()
|
|
472
|
+
if self.volumetric: return tuple(s[:-1])
|
|
369
473
|
if len(s) == 3: return s
|
|
370
474
|
s_sorted = sorted(s,reverse=True)
|
|
371
475
|
x,y = s_sorted[0],s_sorted[1]
|
|
@@ -417,7 +521,10 @@ class ImageLabelObject(BaseDataset):
|
|
|
417
521
|
x * self.slice_size[0]:(x+1)*self.slice_size[0],
|
|
418
522
|
y * self.slice_size[1]:(y+1)*self.slice_size[1],
|
|
419
523
|
z * self.slice_size[2]:(z+1)*self.slice_size[2],...]
|
|
420
|
-
|
|
524
|
+
if self.volumetric:
|
|
525
|
+
im = self._resize_volume(im)
|
|
526
|
+
else:
|
|
527
|
+
im = resize_np(im,self.dim)
|
|
421
528
|
else:
|
|
422
529
|
raise Exception("Invalid number of dimensions: %d" % len(d))
|
|
423
530
|
if self.dtype == "torch":
|
|
@@ -794,7 +901,8 @@ class CellDataloader():#BaseDataset):
|
|
|
794
901
|
return_filenames = False,
|
|
795
902
|
sample_output_folder = None,
|
|
796
903
|
save_ram = False,
|
|
797
|
-
file_to_label_regex = None
|
|
904
|
+
file_to_label_regex = None,
|
|
905
|
+
volumetric = False):
|
|
798
906
|
|
|
799
907
|
self.verbose = verbose
|
|
800
908
|
self.label_balance = label_balance
|
|
@@ -816,6 +924,10 @@ class CellDataloader():#BaseDataset):
|
|
|
816
924
|
self.sample_output_folder = sample_output_folder
|
|
817
925
|
self.save_ram = save_ram
|
|
818
926
|
self.file_to_label_regex = file_to_label_regex
|
|
927
|
+
self.volumetric = volumetric
|
|
928
|
+
if self.volumetric and self.augment_image:
|
|
929
|
+
warnings.warn("volumetric=True: the 2D flip/elastic augmentations "+\
|
|
930
|
+
"are skipped for 3D batches")
|
|
819
931
|
|
|
820
932
|
if self.augment_image and self.dtype == "torch":
|
|
821
933
|
self.augment = transforms.Compose([
|
|
@@ -949,7 +1061,8 @@ class CellDataloader():#BaseDataset):
|
|
|
949
1061
|
dtype=self.dtype,
|
|
950
1062
|
dim=self.dim,
|
|
951
1063
|
mode=self.segment_image,
|
|
952
|
-
file_to_label_regex = self.file_to_label_regex
|
|
1064
|
+
file_to_label_regex = self.file_to_label_regex,
|
|
1065
|
+
volumetric = self.volumetric)
|
|
953
1066
|
if self.label_input_format == "Folder":
|
|
954
1067
|
imlabel.label = j
|
|
955
1068
|
elif self.label_input_format == "Regex":
|
|
@@ -966,6 +1079,9 @@ class CellDataloader():#BaseDataset):
|
|
|
966
1079
|
# imlabel.file_to_label_regex = self.file_to_label_regex
|
|
967
1080
|
if skip: continue
|
|
968
1081
|
self.image_objects.append(imlabel)
|
|
1082
|
+
if self.volumetric:
|
|
1083
|
+
self.image_objects = self._drop_unusable_volumes(
|
|
1084
|
+
self.image_objects,n_channels)
|
|
969
1085
|
random.shuffle(self.image_objects)
|
|
970
1086
|
if self.match_labels:
|
|
971
1087
|
self.sort_to_match_labels()
|
|
@@ -991,6 +1107,19 @@ class CellDataloader():#BaseDataset):
|
|
|
991
1107
|
self.label_batch = torch.zeros((self.batch_size,self.n_labels),
|
|
992
1108
|
device = self.gpu_ids)
|
|
993
1109
|
sample = self.image_objects[0]
|
|
1110
|
+
if len(self.dim) == 3 and not self.volumetric and \
|
|
1111
|
+
sample.im_type() in ["nifti","npy","dicom","dicom_folder"]:
|
|
1112
|
+
if n_channels is not None and n_channels != self.dim[2]:
|
|
1113
|
+
# Without volumetric, the third axis is treated as channels and
|
|
1114
|
+
# resampled to n_channels, flattening each volume into 2D
|
|
1115
|
+
raise ValueError(f"dim={tuple(self.dim)} with n_channels="+\
|
|
1116
|
+
f"{n_channels} and volumetric=False would squash the third "+\
|
|
1117
|
+
f"axis ({self.dim[2]}) into {n_channels} channel(s), turning "+\
|
|
1118
|
+
"each volume into one 2D image. Pass volumetric=True to keep "+\
|
|
1119
|
+
"3D volumes, or use a 2D dim if you want 2D images.")
|
|
1120
|
+
warnings.warn(f"dim={tuple(self.dim)} has 3 entries but volumetric="+\
|
|
1121
|
+
"False, so the last axis will be treated as channels. Pass "+\
|
|
1122
|
+
"volumetric=True to keep it as a spatial (depth) axis.")
|
|
994
1123
|
if n_channels is None:
|
|
995
1124
|
self.n_channels = sample.get_n_channels()
|
|
996
1125
|
else:
|
|
@@ -1004,11 +1133,13 @@ class CellDataloader():#BaseDataset):
|
|
|
1004
1133
|
image_object.n_channels = self.n_channels
|
|
1005
1134
|
if self.verbose:
|
|
1006
1135
|
print("%d Channels Detected" % self.n_channels)
|
|
1136
|
+
# Batch is (B, *spatial, C); 2D keeps the old (B, H, W, C) layout
|
|
1137
|
+
spatial = tuple(self.dim) if self.volumetric else tuple(self.dim[:2])
|
|
1007
1138
|
if self.dtype == "torch":
|
|
1008
|
-
self.batch = torch.zeros(self.batch_size,
|
|
1139
|
+
self.batch = torch.zeros(self.batch_size,*spatial,
|
|
1009
1140
|
self.n_channels,device=self.gpu_ids)
|
|
1010
1141
|
elif self.dtype == "numpy":
|
|
1011
|
-
self.batch = np.zeros((self.batch_size,
|
|
1142
|
+
self.batch = np.zeros((self.batch_size,*spatial,
|
|
1012
1143
|
self.n_channels))
|
|
1013
1144
|
else:
|
|
1014
1145
|
raise Exception("Unimplemented dtype: %s" % self.dtype)
|
|
@@ -1019,6 +1150,44 @@ class CellDataloader():#BaseDataset):
|
|
|
1019
1150
|
self.sample_output_folder)
|
|
1020
1151
|
os.makedirs(self.sample_output_folder,exist_ok=True)
|
|
1021
1152
|
self.imcount = 0
|
|
1153
|
+
def _drop_unusable_volumes(self,objs,n_channels):
|
|
1154
|
+
"""Skips NIfTIs that can't be volumes with the expected channel count
|
|
1155
|
+
|
|
1156
|
+
Checks headers only, so it's fast. Catches files that would otherwise
|
|
1157
|
+
crash training partway through an epoch, like RGB secondary captures,
|
|
1158
|
+
4D diffusion series and 2D images. If n_channels is None, the most
|
|
1159
|
+
common channel count among the NIfTIs is used.
|
|
1160
|
+
"""
|
|
1161
|
+
layouts = {}
|
|
1162
|
+
for obj in objs:
|
|
1163
|
+
if obj.im_type() == "nifti":
|
|
1164
|
+
layouts[id(obj)] = _nifti_header_layout(obj.filename)
|
|
1165
|
+
if not layouts:
|
|
1166
|
+
return objs
|
|
1167
|
+
target = n_channels
|
|
1168
|
+
if target is None:
|
|
1169
|
+
counts = [ch for ch,_ in layouts.values()]
|
|
1170
|
+
target = max(set(counts),key=counts.count)
|
|
1171
|
+
keep,skipped = [],[]
|
|
1172
|
+
for obj in objs:
|
|
1173
|
+
if id(obj) not in layouts:
|
|
1174
|
+
keep.append(obj)
|
|
1175
|
+
continue
|
|
1176
|
+
ch,n_spatial = layouts[id(obj)]
|
|
1177
|
+
if n_spatial < len(self.dim):
|
|
1178
|
+
skipped.append(f" 2D image: {obj.filename}")
|
|
1179
|
+
elif ch != target:
|
|
1180
|
+
skipped.append(f" {ch} channels: {obj.filename}")
|
|
1181
|
+
else:
|
|
1182
|
+
keep.append(obj)
|
|
1183
|
+
if skipped:
|
|
1184
|
+
warnings.warn(f"Skipping {len(skipped)} file(s) that aren't "+\
|
|
1185
|
+
f"{target}-channel volumes:\n" + "\n".join(skipped))
|
|
1186
|
+
if not keep:
|
|
1187
|
+
raise ValueError(f"No {target}-channel volumes left after "+\
|
|
1188
|
+
"skipping incompatible files")
|
|
1189
|
+
return keep
|
|
1190
|
+
|
|
1022
1191
|
def sort_to_match_labels(self):
|
|
1023
1192
|
assert(self.match_labels)
|
|
1024
1193
|
if not self.return_labels():
|
|
@@ -1161,14 +1330,19 @@ class CellDataloader():#BaseDataset):
|
|
|
1161
1330
|
if not self.channels_first:
|
|
1162
1331
|
b = torch.permute(b,[0,-1] + list(range(1,len(b.size())-1)))
|
|
1163
1332
|
#print("b.size(): %s" % str(b.size()))
|
|
1164
|
-
if self.n_channels <= 3 and self.augment_image
|
|
1333
|
+
if self.n_channels <= 3 and self.augment_image and \
|
|
1334
|
+
not self.volumetric:
|
|
1165
1335
|
b = self.augment(b)
|
|
1166
1336
|
if self.dim[0] > 32 and self.dim[1] > 32:
|
|
1167
1337
|
b = self.augment2(b)
|
|
1168
1338
|
#print("b.size(): %s" % str(b.size()))
|
|
1169
1339
|
#print([0]+list(range(2,len(b.size()))) + [1])
|
|
1170
1340
|
if self.normalize:
|
|
1171
|
-
|
|
1341
|
+
if self.volumetric:
|
|
1342
|
+
# Same as Normalize(0.5,0.5) but works on 5D tensors
|
|
1343
|
+
b = (b - 0.5) / 0.5
|
|
1344
|
+
else:
|
|
1345
|
+
b = self.normalizer(b)
|
|
1172
1346
|
if not self.channels_first:
|
|
1173
1347
|
b = torch.permute(b,[0]+list(range(2,len(b.size()))) + [1])
|
|
1174
1348
|
#print("b.size(): %s" % str(b.size()))
|
|
@@ -281,7 +281,8 @@ def read_label_file(label_file):
|
|
|
281
281
|
|
|
282
282
|
def is_image_file(filename):
|
|
283
283
|
basename,ext = os.path.splitext(filename)
|
|
284
|
-
|
|
284
|
+
_,ext2 = os.path.splitext(basename)
|
|
285
|
+
return ext.lower() in [".jpg",".png",".jpeg",".czi",".svs",".tiff",".tif",".nii"] or (ext.lower() == ".gz" and ext2.lower() == ".nii")
|
|
285
286
|
|
|
286
287
|
def is_label_file(filename):
|
|
287
288
|
return True
|
|
@@ -872,6 +873,39 @@ def get_folder_classification(folderpath,get_total=False,get_everything = False)
|
|
|
872
873
|
all_results[r] = float(np.mean(all_results[r]))
|
|
873
874
|
return all_results
|
|
874
875
|
|
|
876
|
+
# Resizes and standardizes 3d numpy arrays to normalized dimensions
|
|
877
|
+
def resize_np(nifti_data,dim):
|
|
878
|
+
if nifti_data.min() < 0 or nifti_data.max() > 1:
|
|
879
|
+
# Not in-place: callers may pass a view of a cached image
|
|
880
|
+
nifti_data = nifti_data - nifti_data.min()
|
|
881
|
+
m = nifti_data.max()
|
|
882
|
+
if m > 0: # constant images would otherwise become NaN
|
|
883
|
+
nifti_data = nifti_data / m
|
|
884
|
+
if nifti_data.dtype != np.float32:
|
|
885
|
+
nifti_data = nifti_data.astype(np.float32)
|
|
886
|
+
if len(nifti_data.shape) != len(dim):
|
|
887
|
+
nifti_data = np.squeeze(nifti_data)
|
|
888
|
+
if len(nifti_data.shape) < len(dim):
|
|
889
|
+
# Averaging would only make this worse (e.g. a stale 2D cache
|
|
890
|
+
# loaded for a 3D dim), so fail with a clear message instead.
|
|
891
|
+
raise ValueError(f"resize_np: array of shape {nifti_data.shape} "+\
|
|
892
|
+
f"has fewer axes than dim={tuple(dim)}. If it came from a "+\
|
|
893
|
+
"cached *_resized_*.npy file made with a different dim, "+\
|
|
894
|
+
"delete that file.")
|
|
895
|
+
if len(nifti_data.shape) > len(dim):
|
|
896
|
+
# This is where an (H,W,D) volume loses its last axis when dim is
|
|
897
|
+
# 2D: the last axis is treated like color channels and averaged.
|
|
898
|
+
warnings.warn(f"resize_np: array of shape {nifti_data.shape} has "+\
|
|
899
|
+
f"more axes than dim={tuple(dim)}; averaging over the last axis. "+\
|
|
900
|
+
"To keep it as a spatial axis, pass a dim with one entry per "+\
|
|
901
|
+
"axis (e.g. (H,W,D)) and volumetric=True.")
|
|
902
|
+
nifti_data = np.squeeze(np.mean(nifti_data,axis=-1))
|
|
903
|
+
assert len(nifti_data.shape) == len(dim), f"nifti data of shape ({nifti_data.shape}) cannot be reshaped to dim ({dim}); different number of dimensions"
|
|
904
|
+
if nifti_data.shape != tuple(dim):
|
|
905
|
+
zp = [dim[i]/nifti_data.shape[i] for i in range(len(dim))]
|
|
906
|
+
nifti_data = ndimage.zoom(nifti_data,zp)
|
|
907
|
+
return nifti_data
|
|
908
|
+
|
|
875
909
|
|
|
876
910
|
def get_file_list_from_str(obj):
|
|
877
911
|
assert(isinstance(obj, str))
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/3368914_4_non_tumor/ny=45056_nx=35840.jpg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=15872.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=16384.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=16896.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=17920.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=18432.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=18944.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=19456.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=19968.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=20480.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=20992.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=21504.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=22016.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=22528.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=23040.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=23552.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=24064.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=25088.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10240_nx=25600.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=15360.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=15872.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=16384.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=16896.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=17408.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=17920.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=18432.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=18944.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=19456.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=19968.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=20480.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=20992.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=21504.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=22016.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=22528.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=23040.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=23552.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=24576.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=25088.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=10752_nx=25600.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=15360.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=15872.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=16384.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=16896.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=17920.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=18432.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=18944.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=19456.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=19968.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=20480.jpg
RENAMED
|
File without changes
|
{cell_data_loader-0.0.44 → cell_data_loader-0.0.46}/data/4173633_5/back/ny=11264_nx=20992.jpg
RENAMED
|
File without changes
|