hoa-tools 1.0.1__py3-none-any.whl → 1.0.2__py3-none-any.whl
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.
Potentially problematic release.
This version of hoa-tools might be problematic. Click here for more details.
- hoa_tools/_version.py +2 -2
- hoa_tools/data/metadata/metadata/A186_lung_right_VOI-3_4.26um_bm18.json +275 -0
- hoa_tools/data/metadata/metadata/A186_lung_right_complete-organ_24.132um_bm18.json +269 -0
- hoa_tools/data/metadata/metadata/FO-20-124_lung_upper_lobe_complete-organ_26.38um_bm05.json +208 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-01.2_2.22um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-01.2b_2.22um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-01_6.24um_bm05.json +214 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-02.2_2.22um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-02_6.24um_bm05.json +214 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-03.2_2.22um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-03_6.24um_bm05.json +214 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-03b-bis_2.2um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-04-bis_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-04.2_2.22um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-04_6.24um_bm05.json +214 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-05.2_2.22um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-05_6.24um_bm05.json +214 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-08.2_2.22um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-09.2_2.22um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-10.2_2.22um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-aa-bis_2.2um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-aa_0.65um_bm05.json +199 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-sx20_6.24um_bm05.json +214 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_complete-upper-lobe-bis_25.25um_bm05.json +199 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_complete-upper-lobe_26.38um_bm05.json +208 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_right_upper_lobe_core-biopsy_2.25um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/GLR-163_lung_right_lower_lobe_core-biopsy_2.45um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_heart_L-vent-muscle_2.22um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_heart_LR-vent-muscles-ramus-interventricularis-anterior_6.05um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_heart_ROI-01_6.5um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_heart_ROI-02_6.5um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_heart_ROI-03_6.5um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_heart_complete-organ_19.89um_bm18.json +252 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_heart_complete-organ_25.08um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_kidney_left_central-column_1.29um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_kidney_left_central-column_6.05um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_kidney_left_complete-organ_25.08um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_FSC-A_2.51um_bm05.json +199 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_FSC-A_25.25um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_FSC-A_6.5um_bm05.json +199 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_FSC-B_2.51um_bm05.json +199 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_FSC-B_25.25um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_FSC-B_6.5um_bm05.json +199 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-01-upper-lobe-apical_2.45um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-01-upper-lobe-apical_2.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-01-upper-lobe-apical_6.05um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-01-upper-lobe-apical_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-02-lower-lobe-basal_2.45um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-02-lower-lobe-basal_6.05um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-02b-upper-lobe-apical_2.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-02b-upper-lobe-medial_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-03-upper-lobe-apical_2.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-03_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-03b-interlobular-fissure_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-04-upper-lobe-medial_2.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-04b-lower-lobe-basal-medial_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-05-lower-lobe-basal_2.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-05-upper-lobe-apical_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-06-lower-lobe-basal_2.45um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_VOI-06-lower-lobe-basal_6.05um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_lung_left_complete-organ_25.08um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_spleen_central-column_1.29um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_spleen_central-column_6.05um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_spleen_complete-organ_25.08um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_brain_cerebellum-occipital_6.05um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_brain_cerebellum_2.45um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_brain_complete-organ_25.08um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_brain_frontal_2.45um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_brain_hippocampus_2.45um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_brain_hippocampus_6.05um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_heart_ROI-01_6.36um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_heart_ROI-01_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_heart_ROI-02_6.36um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_heart_ROI-02_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_heart_ROI-03_6.36um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_heart_ROI-03_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_heart_ROI-04_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_heart_ROI-05_6.36um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_heart_ROI-06_6.36um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_heart_ROI-07_6.36um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_heart_complete-organ_19.89um_bm18.json +252 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_heart_complete-organ_25.17um_bm05.json +199 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_kidney_complete-organ_25.0um_bm05.json +199 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_kidney_lateral-transect_2.5um_bm05.json +211 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_ROI-02_6.54um_bm18.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_ROI-03_6.54um_bm18.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_ROI-13_6.36um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_VOI-02.1_2.256um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_VOI-03.2_2.256um_bm18.json +266 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_VOI-13.1_2.256um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_complete-organ_23.42um_bm18.json +266 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_complete-organ_25.25um_bm05.json +218 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-01_6.36um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-01_6.5um_bm05.json +265 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-02_6.36um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-02_6.5um_bm05.json +265 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-03_6.36um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-03_6.5um_bm05.json +265 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-04_6.36um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-05_6.36um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-06_6.36um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-07_6.36um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-1.1_2.256um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-1.2_2.256um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-3.1_2.256um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-4.1_2.256um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-4.2_2.256um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-4.3_2.256um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-5.1_2.256um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_ROI-7.1_2.256um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_complete-organ_19.85um_bm18.json +240 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_heart_complete-organ_25.08um_bm05.json +252 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_kidney_left_VOI-01.1_2.6um_bm05.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_kidney_left_VOI-01_6.49um_bm05.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_kidney_left_VOI-02.1_2.6um_bm05.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_kidney_left_VOI-02_6.49um_bm05.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_kidney_left_complete-organ_25.14um_bm05.json +252 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_kidney_right_VOI-01.1_2.6um_bm05.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_kidney_right_VOI-01_6.5um_bm05.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_kidney_right_VOI-02.1_2.6um_bm05.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_kidney_right_VOI-02_6.5um_bm05.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_kidney_right_VOI-03.1_2.6um_bm05.json +252 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_kidney_right_VOI-03_6.5um_bm05.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_kidney_right_complete-organ_25.0um_bm05.json +218 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_spleen_complete-organ_25.0um_bm05.json +218 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-64_heart_VOI-01_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-64_heart_VOI-02_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-64_heart_VOI-04_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-64_heart_VOI-05_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-64_heart_VOI-06_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-64_heart_VOI-07_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-64_heart_VOI-1.1_2.26um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-64_heart_VOI-1.2_2.26um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-64_heart_VOI-3.1_2.26um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-64_heart_VOI-4.1_2.26um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-64_heart_VOI-4.2_2.26um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-64_heart_VOI-5.1_2.26um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-64_heart_VOI-6.1_2.26um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-64_heart_VOI-7.1_2.26um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-64_heart_complete-organ_19.89um_bm18.json +252 -0
- hoa_tools/data/metadata/metadata/LADAF-2022-13_kidney_2_complete-organ_15.77um_bm18.json +266 -0
- hoa_tools/data/metadata/metadata/S-20-28_heart_VOI-01_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/S-20-28_heart_VOI-02_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/S-20-28_heart_VOI-03_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/S-20-28_heart_VOI-04_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/S-20-28_heart_VOI-05_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/S-20-28_heart_VOI-06_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/S-20-28_heart_VOI-08_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/S-20-28_heart_complete-organ_19.85um_bm18.json +240 -0
- hoa_tools/data/metadata/metadata/S-20-28_heart_complete-organ_25.27um_bm05.json +199 -0
- hoa_tools/data/metadata/metadata/S-20-28_kidney_complete-organ_25.0um_bm05.json +199 -0
- hoa_tools/data/metadata/metadata/S-20-29_brain_VOI-01_2.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-29_brain_VOI-01_6.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-29_brain_VOI-01b_6.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-29_brain_VOI-02_2.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-29_brain_VOI-02_6.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-29_brain_VOI-03_2.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-29_brain_VOI-03_6.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-29_brain_VOI-04_2.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-29_brain_VOI-04_6.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-29_brain_VOI-05_2.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-29_brain_VOI-05_6.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-29_brain_complete-organ_19.57um_bm18.json +240 -0
- hoa_tools/data/metadata/metadata/S-20-29_brain_complete-organ_25.33um_bm05.json +199 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_ROI-03_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-01_2.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-02_2.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-04_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-05b_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_complete-organ_19.89um_bm18.json +252 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_complete-organ_25.25um_bm05.json +199 -0
- hoa_tools/data/metadata/metadata/S-20-29_kidney_VOI-01_1.4um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/S-20-29_kidney_VOI-01_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/S-20-29_kidney_VOI-02_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/S-20-29_kidney_VOI-03_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/S-20-29_kidney_complete-organ_25.38um_bm05.json +199 -0
- hoa_tools/data/metadata/metadata/S-20-29_lung_left_ROI-2.1_2.256um_bm18.json +266 -0
- hoa_tools/data/metadata/metadata/S-20-29_lung_left_ROI-3.1_2.256um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/S-20-29_lung_left_ROI-5.3_2.256um_bm18.json +272 -0
- hoa_tools/data/metadata/metadata/S-20-29_lung_left_VOI-01_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/S-20-29_lung_left_VOI-02_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/S-20-29_lung_left_VOI-04_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/S-20-29_lung_left_VOI-05_6.5um_bm05.json +205 -0
- hoa_tools/data/metadata/metadata/S-20-29_lung_left_complete-organ_25.31um_bm05.json +199 -0
- hoa_tools/dataset.py +62 -18
- hoa_tools/registration.py +7 -28
- {hoa_tools-1.0.1.dist-info → hoa_tools-1.0.2.dist-info}/METADATA +1 -1
- hoa_tools-1.0.2.dist-info/RECORD +198 -0
- {hoa_tools-1.0.1.dist-info → hoa_tools-1.0.2.dist-info}/WHEEL +1 -1
- hoa_tools-1.0.1.dist-info/RECORD +0 -15
- {hoa_tools-1.0.1.dist-info → hoa_tools-1.0.2.dist-info}/licenses/LICENSE.md +0 -0
- {hoa_tools-1.0.1.dist-info → hoa_tools-1.0.2.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "S-20-29_lung_left_VOI-05_6.5um_bm05",
|
|
3
|
+
"dataset_type": "zoom",
|
|
4
|
+
"voi": "VOI-05",
|
|
5
|
+
"data": {
|
|
6
|
+
"shape": [3833, 3833, 20077],
|
|
7
|
+
"voxel_size_um": 6.5,
|
|
8
|
+
"gcs_url": "n5://gs://ucl-hip-ct-35a68e99feaae8932b1d44da0358940b/S-20-29/lung-left/6.5um_VOI-05_bm05/"
|
|
9
|
+
},
|
|
10
|
+
"sample": {
|
|
11
|
+
"organ": "lung",
|
|
12
|
+
"organ_context": "left",
|
|
13
|
+
"post_mortem_interval_hours": null,
|
|
14
|
+
"fixation_method": null,
|
|
15
|
+
"fixation_medium": null,
|
|
16
|
+
"organ_infilled": null,
|
|
17
|
+
"stabilisation_medium": null,
|
|
18
|
+
"degassing_method": null,
|
|
19
|
+
"scan_solvent": null,
|
|
20
|
+
"scan_solvent_concentration": null,
|
|
21
|
+
"scan_temperature": "room temperature"
|
|
22
|
+
},
|
|
23
|
+
"donor": {
|
|
24
|
+
"id": "S-20-29",
|
|
25
|
+
"age": 80,
|
|
26
|
+
"sex": "M",
|
|
27
|
+
"weight": 170.0,
|
|
28
|
+
"height": 90.0,
|
|
29
|
+
"cause_of_death": "Acute right heart failure with extensive Pulmonary artery thrombembolism, diffuse alveolar damage, shock kidneys bilateral with acute kidney failure, and acute liver failure COVID-19 disease",
|
|
30
|
+
"date_of_death": null,
|
|
31
|
+
"medical_history": "Kidney failure, arterial hypertension, Z.n. Spondylodesis LWK 2 and sacral vertebra 2, SARS-CoV2 infection, symptoms of memory loss and predementia, Dandy-Walker syndrome variant, post-mortem diagnostic.",
|
|
32
|
+
"diabetes": "Type 2",
|
|
33
|
+
"hypertension": null,
|
|
34
|
+
"smoker": null
|
|
35
|
+
},
|
|
36
|
+
"scan": {
|
|
37
|
+
"date": "2020-11-07",
|
|
38
|
+
"beamline": "BM05",
|
|
39
|
+
"energy": 95.0,
|
|
40
|
+
"current_start": 192.033,
|
|
41
|
+
"filling_mode": null,
|
|
42
|
+
"n_frames": 6000,
|
|
43
|
+
"n_ref": 3,
|
|
44
|
+
"n_dark": 0,
|
|
45
|
+
"latency_time": 0.0015,
|
|
46
|
+
"exposure_time": 0.015,
|
|
47
|
+
"subframe_time": null,
|
|
48
|
+
"n_subframes": 4,
|
|
49
|
+
"scan_type": "zseries",
|
|
50
|
+
"scan_range": 360.0,
|
|
51
|
+
"n_scans": 59,
|
|
52
|
+
"acquisition": "half",
|
|
53
|
+
"z_step": null,
|
|
54
|
+
"scan_time": 420.0,
|
|
55
|
+
"filters": ["Mo 0.1mm", "SiO2 50mm rods 10x5mm"],
|
|
56
|
+
"scintillator": "LuAG:Ce 1000um",
|
|
57
|
+
"optic": "Zoom",
|
|
58
|
+
"optic_magnification": 0.941,
|
|
59
|
+
"distance_source_sample": null,
|
|
60
|
+
"distance_sample_detector": 500.0,
|
|
61
|
+
"sensor_name": "PCO edge 4.2 CLHS",
|
|
62
|
+
"sensor_mode": "rolling shutter",
|
|
63
|
+
"sensor_roi_x_size": 2043,
|
|
64
|
+
"sensor_roi_y_size": 20077,
|
|
65
|
+
"sensor_binning": null,
|
|
66
|
+
"pixel_size": 6.5,
|
|
67
|
+
"xray_magnification": null,
|
|
68
|
+
"technique": "Hierarchical Phase-Contrast Tomography (HiP-CT)",
|
|
69
|
+
"experiment_type": "Tomography"
|
|
70
|
+
},
|
|
71
|
+
"proposal": {
|
|
72
|
+
"proposal_number": "md1252",
|
|
73
|
+
"title": "Multiscale Quantification of Covid-19's impact on lung vasculature from whole lobe to alveolar/microvascular scales",
|
|
74
|
+
"proposers": [
|
|
75
|
+
"Peter Lee",
|
|
76
|
+
"Paul Tafforeau",
|
|
77
|
+
"Danny Jonigk",
|
|
78
|
+
"Maximilian Ackermann",
|
|
79
|
+
"Mark P. Kuhnel",
|
|
80
|
+
"Elodie Boller",
|
|
81
|
+
"Willi Wagner"
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"registration": {
|
|
85
|
+
"source_dataset": "S-20-29_lung_left_VOI-05_6.5um_bm05",
|
|
86
|
+
"target_dataset": "S-20-29_lung_left_complete-organ_25.31um_bm05",
|
|
87
|
+
"translation": [1257.7257673685622, 1005.485226013251, 789.8548884643609],
|
|
88
|
+
"rotation": -5.299835000447964,
|
|
89
|
+
"scale": 0.2568154947103331
|
|
90
|
+
},
|
|
91
|
+
"citation": {
|
|
92
|
+
"title": "Zoom (VOI-05) at 6.5um of the lung of donor S-20-29, scanned at ESRF on beamline BM05.",
|
|
93
|
+
"contributors": [
|
|
94
|
+
{
|
|
95
|
+
"first_name": "The",
|
|
96
|
+
"last_name": "Human Organ Atlas Collaboration",
|
|
97
|
+
"orcid": null,
|
|
98
|
+
"roles": []
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"first_name": "Claire",
|
|
102
|
+
"last_name": "Walsh",
|
|
103
|
+
"orcid": "0000-0003-3769-3392",
|
|
104
|
+
"roles": ["Conceptualization", "Funding acquisition"]
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"first_name": "Danny",
|
|
108
|
+
"last_name": "Jonigk",
|
|
109
|
+
"orcid": "0000-0002-5251-2281",
|
|
110
|
+
"roles": ["Funding acquisition"]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"first_name": "David",
|
|
114
|
+
"last_name": "Stansby",
|
|
115
|
+
"orcid": "0000-0002-1365-1908",
|
|
116
|
+
"roles": ["Data curation", "Software"]
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"first_name": "Elodie",
|
|
120
|
+
"last_name": "Boller",
|
|
121
|
+
"orcid": null,
|
|
122
|
+
"roles": ["Funding acquisition"]
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"first_name": "Guillaume",
|
|
126
|
+
"last_name": "Gaisne",
|
|
127
|
+
"orcid": "0000-0002-3401-7930",
|
|
128
|
+
"roles": ["Data curation", "Software"]
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"first_name": "Hector",
|
|
132
|
+
"last_name": "Dejea I Velardo",
|
|
133
|
+
"orcid": "0000-0003-2584-9812",
|
|
134
|
+
"roles": ["Data curation", "Investigation"]
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"first_name": "Joanna",
|
|
138
|
+
"last_name": "Purzycka",
|
|
139
|
+
"orcid": "0000-0001-8742-5279",
|
|
140
|
+
"roles": ["Data curation"]
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"first_name": "Joseph",
|
|
144
|
+
"last_name": "Brunet",
|
|
145
|
+
"orcid": "0000-0002-8424-9510",
|
|
146
|
+
"roles": ["Data curation", "Investigation", "Software"]
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"first_name": "Mark",
|
|
150
|
+
"last_name": "P. Kuhnel",
|
|
151
|
+
"orcid": null,
|
|
152
|
+
"roles": ["Funding acquisition"]
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"first_name": "Maximilian",
|
|
156
|
+
"last_name": "Ackermann",
|
|
157
|
+
"orcid": "0000-0001-9996-2477",
|
|
158
|
+
"roles": ["Funding acquisition"]
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"first_name": "Paul",
|
|
162
|
+
"last_name": "Tafforeau",
|
|
163
|
+
"orcid": "0000-0002-5962-1683",
|
|
164
|
+
"roles": ["Conceptualization", "Data curation", "Funding acquisition"]
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"first_name": "Peter",
|
|
168
|
+
"last_name": "Lee",
|
|
169
|
+
"orcid": "0000-0002-3898-8881",
|
|
170
|
+
"roles": ["Conceptualization", "Funding acquisition"]
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"first_name": "Theresa",
|
|
174
|
+
"last_name": "Urban",
|
|
175
|
+
"orcid": "0000-0002-0352-8180",
|
|
176
|
+
"roles": ["Data curation", "Investigation", "Software"]
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"first_name": "Willi",
|
|
180
|
+
"last_name": "Wagner",
|
|
181
|
+
"orcid": null,
|
|
182
|
+
"roles": ["Funding acquisition"]
|
|
183
|
+
}
|
|
184
|
+
],
|
|
185
|
+
"doi": "10.15151/ESRF-DC-1773964041",
|
|
186
|
+
"author_list": [
|
|
187
|
+
"The Human Organ Atlas Collaboration",
|
|
188
|
+
"Claire Walsh",
|
|
189
|
+
"Danny Jonigk",
|
|
190
|
+
"David Stansby",
|
|
191
|
+
"Elodie Boller",
|
|
192
|
+
"Guillaume Gaisne",
|
|
193
|
+
"Hector Dejea I Velardo",
|
|
194
|
+
"Joanna Purzycka",
|
|
195
|
+
"Joseph Brunet",
|
|
196
|
+
"Mark P. Kuhnel",
|
|
197
|
+
"Maximilian Ackermann",
|
|
198
|
+
"Paul Tafforeau",
|
|
199
|
+
"Peter Lee",
|
|
200
|
+
"Theresa Urban",
|
|
201
|
+
"Willi Wagner"
|
|
202
|
+
]
|
|
203
|
+
},
|
|
204
|
+
"metadata_version": "1.0"
|
|
205
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "S-20-29_lung_left_complete-organ_25.31um_bm05",
|
|
3
|
+
"dataset_type": "overview",
|
|
4
|
+
"voi": "complete-organ",
|
|
5
|
+
"data": {
|
|
6
|
+
"shape": [3814, 5350, 6391],
|
|
7
|
+
"voxel_size_um": 25.31,
|
|
8
|
+
"gcs_url": "n5://gs://ucl-hip-ct-35a68e99feaae8932b1d44da0358940b/S-20-29/lung-left/25.31um_complete-organ_bm05/"
|
|
9
|
+
},
|
|
10
|
+
"sample": {
|
|
11
|
+
"organ": "lung",
|
|
12
|
+
"organ_context": "left",
|
|
13
|
+
"post_mortem_interval_hours": null,
|
|
14
|
+
"fixation_method": null,
|
|
15
|
+
"fixation_medium": null,
|
|
16
|
+
"organ_infilled": null,
|
|
17
|
+
"stabilisation_medium": null,
|
|
18
|
+
"degassing_method": null,
|
|
19
|
+
"scan_solvent": null,
|
|
20
|
+
"scan_solvent_concentration": null,
|
|
21
|
+
"scan_temperature": "room temperature"
|
|
22
|
+
},
|
|
23
|
+
"donor": {
|
|
24
|
+
"id": "S-20-29",
|
|
25
|
+
"age": 80,
|
|
26
|
+
"sex": "M",
|
|
27
|
+
"weight": 170.0,
|
|
28
|
+
"height": 90.0,
|
|
29
|
+
"cause_of_death": "Acute right heart failure with extensive Pulmonary artery thrombembolism, diffuse alveolar damage, shock kidneys bilateral with acute kidney failure, and acute liver failure COVID-19 disease",
|
|
30
|
+
"date_of_death": null,
|
|
31
|
+
"medical_history": "Kidney failure, arterial hypertension, Z.n. Spondylodesis LWK 2 and sacral vertebra 2, SARS-CoV2 infection, symptoms of memory loss and predementia, Dandy-Walker syndrome variant, post-mortem diagnostic.",
|
|
32
|
+
"diabetes": "Type 2",
|
|
33
|
+
"hypertension": null,
|
|
34
|
+
"smoker": null
|
|
35
|
+
},
|
|
36
|
+
"scan": {
|
|
37
|
+
"date": "2020-10-27",
|
|
38
|
+
"beamline": "BM05",
|
|
39
|
+
"energy": 96.0,
|
|
40
|
+
"current_start": 190.786,
|
|
41
|
+
"filling_mode": null,
|
|
42
|
+
"n_frames": 9990,
|
|
43
|
+
"n_ref": 3,
|
|
44
|
+
"n_dark": 0,
|
|
45
|
+
"latency_time": 0.0007,
|
|
46
|
+
"exposure_time": 0.007,
|
|
47
|
+
"subframe_time": null,
|
|
48
|
+
"n_subframes": 4,
|
|
49
|
+
"scan_type": "zseries",
|
|
50
|
+
"scan_range": 360.0,
|
|
51
|
+
"n_scans": null,
|
|
52
|
+
"acquisition": "quarter",
|
|
53
|
+
"z_step": null,
|
|
54
|
+
"scan_time": 330.0,
|
|
55
|
+
"filters": ["Mo 0.1mm", "SiO2 50mm rods 10x5mm"],
|
|
56
|
+
"scintillator": "LuAG:Ce 1000um",
|
|
57
|
+
"optic": "Zoom",
|
|
58
|
+
"optic_magnification": 2.154,
|
|
59
|
+
"distance_source_sample": null,
|
|
60
|
+
"distance_sample_detector": 3650.0,
|
|
61
|
+
"sensor_name": "PCO edge 4.2 CLHS",
|
|
62
|
+
"sensor_mode": "rolling shutter",
|
|
63
|
+
"sensor_roi_x_size": null,
|
|
64
|
+
"sensor_roi_y_size": null,
|
|
65
|
+
"sensor_binning": null,
|
|
66
|
+
"pixel_size": 25.31,
|
|
67
|
+
"xray_magnification": null,
|
|
68
|
+
"technique": "Hierarchical Phase-Contrast Tomography (HiP-CT)",
|
|
69
|
+
"experiment_type": "Tomography"
|
|
70
|
+
},
|
|
71
|
+
"proposal": {
|
|
72
|
+
"proposal_number": "md1252",
|
|
73
|
+
"title": "Multiscale Quantification of Covid-19's impact on lung vasculature from whole lobe to alveolar/microvascular scales",
|
|
74
|
+
"proposers": [
|
|
75
|
+
"Peter Lee",
|
|
76
|
+
"Paul Tafforeau",
|
|
77
|
+
"Danny Jonigk",
|
|
78
|
+
"Maximilian Ackermann",
|
|
79
|
+
"Mark P. Kuhnel",
|
|
80
|
+
"Elodie Boller",
|
|
81
|
+
"Willi Wagner"
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"registration": null,
|
|
85
|
+
"citation": {
|
|
86
|
+
"title": "Overview at 25.31um of the lung of donor S-20-29, scanned at ESRF on beamline BM05.",
|
|
87
|
+
"contributors": [
|
|
88
|
+
{
|
|
89
|
+
"first_name": "The",
|
|
90
|
+
"last_name": "Human Organ Atlas Collaboration",
|
|
91
|
+
"orcid": null,
|
|
92
|
+
"roles": []
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"first_name": "Claire",
|
|
96
|
+
"last_name": "Walsh",
|
|
97
|
+
"orcid": "0000-0003-3769-3392",
|
|
98
|
+
"roles": ["Conceptualization", "Funding acquisition"]
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"first_name": "Danny",
|
|
102
|
+
"last_name": "Jonigk",
|
|
103
|
+
"orcid": "0000-0002-5251-2281",
|
|
104
|
+
"roles": ["Funding acquisition"]
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"first_name": "David",
|
|
108
|
+
"last_name": "Stansby",
|
|
109
|
+
"orcid": "0000-0002-1365-1908",
|
|
110
|
+
"roles": ["Data curation", "Software"]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"first_name": "Elodie",
|
|
114
|
+
"last_name": "Boller",
|
|
115
|
+
"orcid": null,
|
|
116
|
+
"roles": ["Funding acquisition"]
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"first_name": "Guillaume",
|
|
120
|
+
"last_name": "Gaisne",
|
|
121
|
+
"orcid": "0000-0002-3401-7930",
|
|
122
|
+
"roles": ["Data curation", "Software"]
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"first_name": "Hector",
|
|
126
|
+
"last_name": "Dejea I Velardo",
|
|
127
|
+
"orcid": "0000-0003-2584-9812",
|
|
128
|
+
"roles": ["Data curation", "Investigation"]
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"first_name": "Joanna",
|
|
132
|
+
"last_name": "Purzycka",
|
|
133
|
+
"orcid": "0000-0001-8742-5279",
|
|
134
|
+
"roles": ["Data curation"]
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"first_name": "Joseph",
|
|
138
|
+
"last_name": "Brunet",
|
|
139
|
+
"orcid": "0000-0002-8424-9510",
|
|
140
|
+
"roles": ["Data curation", "Investigation", "Software"]
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"first_name": "Mark",
|
|
144
|
+
"last_name": "P. Kuhnel",
|
|
145
|
+
"orcid": null,
|
|
146
|
+
"roles": ["Funding acquisition"]
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"first_name": "Maximilian",
|
|
150
|
+
"last_name": "Ackermann",
|
|
151
|
+
"orcid": "0000-0001-9996-2477",
|
|
152
|
+
"roles": ["Funding acquisition"]
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"first_name": "Paul",
|
|
156
|
+
"last_name": "Tafforeau",
|
|
157
|
+
"orcid": "0000-0002-5962-1683",
|
|
158
|
+
"roles": ["Conceptualization", "Data curation", "Funding acquisition"]
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"first_name": "Peter",
|
|
162
|
+
"last_name": "Lee",
|
|
163
|
+
"orcid": "0000-0002-3898-8881",
|
|
164
|
+
"roles": ["Conceptualization", "Funding acquisition"]
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"first_name": "Theresa",
|
|
168
|
+
"last_name": "Urban",
|
|
169
|
+
"orcid": "0000-0002-0352-8180",
|
|
170
|
+
"roles": ["Data curation", "Investigation", "Software"]
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"first_name": "Willi",
|
|
174
|
+
"last_name": "Wagner",
|
|
175
|
+
"orcid": null,
|
|
176
|
+
"roles": ["Funding acquisition"]
|
|
177
|
+
}
|
|
178
|
+
],
|
|
179
|
+
"doi": "10.15151/ESRF-DC-1773966447",
|
|
180
|
+
"author_list": [
|
|
181
|
+
"The Human Organ Atlas Collaboration",
|
|
182
|
+
"Claire Walsh",
|
|
183
|
+
"Danny Jonigk",
|
|
184
|
+
"David Stansby",
|
|
185
|
+
"Elodie Boller",
|
|
186
|
+
"Guillaume Gaisne",
|
|
187
|
+
"Hector Dejea I Velardo",
|
|
188
|
+
"Joanna Purzycka",
|
|
189
|
+
"Joseph Brunet",
|
|
190
|
+
"Mark P. Kuhnel",
|
|
191
|
+
"Maximilian Ackermann",
|
|
192
|
+
"Paul Tafforeau",
|
|
193
|
+
"Peter Lee",
|
|
194
|
+
"Theresa Urban",
|
|
195
|
+
"Willi Wagner"
|
|
196
|
+
]
|
|
197
|
+
},
|
|
198
|
+
"metadata_version": "1.0"
|
|
199
|
+
}
|
hoa_tools/dataset.py
CHANGED
|
@@ -10,6 +10,7 @@ To get a [`Dataset`][hoa_tools.dataset.Dataset], use the
|
|
|
10
10
|
[`get_dataset`][hoa_tools.dataset.get_dataset] function in this module.
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
|
+
import warnings
|
|
13
14
|
from functools import cached_property
|
|
14
15
|
from pathlib import Path
|
|
15
16
|
from typing import Literal
|
|
@@ -24,10 +25,14 @@ import zarr.storage
|
|
|
24
25
|
|
|
25
26
|
from hoa_tools._n5 import N5FSStore
|
|
26
27
|
from hoa_tools.metadata import HOAMetadata
|
|
28
|
+
from hoa_tools.types import PhysicalCoordinate
|
|
27
29
|
|
|
28
30
|
__all__ = ["Dataset", "get_dataset"]
|
|
29
31
|
|
|
30
32
|
|
|
33
|
+
_DATASETS: dict[str, "Dataset"]
|
|
34
|
+
|
|
35
|
+
|
|
31
36
|
class Dataset(HOAMetadata):
|
|
32
37
|
"""
|
|
33
38
|
An individual Human Organ Atlas dataset.
|
|
@@ -185,25 +190,19 @@ class Dataset(HOAMetadata):
|
|
|
185
190
|
)
|
|
186
191
|
|
|
187
192
|
|
|
188
|
-
def
|
|
193
|
+
def _load_datasets_from_files(data_dir: Path) -> dict[str, Dataset]:
|
|
189
194
|
"""
|
|
190
195
|
Load dataset metadtata files.
|
|
191
196
|
"""
|
|
192
|
-
|
|
197
|
+
datasets = {
|
|
193
198
|
f.stem: Dataset.model_validate_json(f.read_text())
|
|
194
199
|
for f in (data_dir).glob("*.json")
|
|
195
200
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
raise ImportError(
|
|
202
|
-
"Did not find any dataset metadata files. "
|
|
203
|
-
"This means there is something wrong with the hoa-tools installation. "
|
|
204
|
-
"If you are installing from source, you might need to "
|
|
205
|
-
"initialise and fetch git submodules. "
|
|
206
|
-
)
|
|
201
|
+
if len(datasets) == 0:
|
|
202
|
+
raise FileNotFoundError(
|
|
203
|
+
f"Did not find any dataset metadata files at {data_dir}" # noqa: EM102
|
|
204
|
+
)
|
|
205
|
+
return datasets
|
|
207
206
|
|
|
208
207
|
|
|
209
208
|
def get_dataset(name: str) -> Dataset:
|
|
@@ -222,8 +221,53 @@ def change_metadata_directory(data_dir: Path) -> None:
|
|
|
222
221
|
Designed for internal project members to load metadata files that aren't yet public.
|
|
223
222
|
"""
|
|
224
223
|
global _DATASETS # noqa: PLW0603
|
|
225
|
-
_DATASETS =
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
224
|
+
_DATASETS = _load_datasets_from_files(data_dir)
|
|
225
|
+
_populate_registrations_from_metadata(_DATASETS)
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
def _populate_registrations_from_metadata(datasets: dict[str, Dataset]) -> None:
|
|
229
|
+
from hoa_tools.registration import Inventory, build_transform
|
|
230
|
+
|
|
231
|
+
Inventory._clear() # noqa: SLF001
|
|
232
|
+
for dataset_name in datasets:
|
|
233
|
+
dataset = _DATASETS[dataset_name]
|
|
234
|
+
if (registration := dataset.registration) is not None:
|
|
235
|
+
source_dataset = _DATASETS[registration.source_dataset]
|
|
236
|
+
if registration.target_dataset not in _DATASETS:
|
|
237
|
+
warnings.warn(
|
|
238
|
+
f"Did not find target dataset {registration.target_dataset} "
|
|
239
|
+
f"in dataset inventory. Not adding {registration.source_dataset} "
|
|
240
|
+
"to registration inventory.",
|
|
241
|
+
stacklevel=1,
|
|
242
|
+
)
|
|
243
|
+
continue
|
|
244
|
+
target_dataset = _DATASETS[registration.target_dataset]
|
|
245
|
+
transform = build_transform(
|
|
246
|
+
translation=PhysicalCoordinate(
|
|
247
|
+
x=registration.translation[0] * target_dataset.data.voxel_size_um,
|
|
248
|
+
y=registration.translation[1] * target_dataset.data.voxel_size_um,
|
|
249
|
+
z=registration.translation[2] * target_dataset.data.voxel_size_um,
|
|
250
|
+
),
|
|
251
|
+
rotation_deg=registration.rotation,
|
|
252
|
+
scale=registration.scale
|
|
253
|
+
* target_dataset.data.voxel_size_um
|
|
254
|
+
/ source_dataset.data.voxel_size_um,
|
|
255
|
+
)
|
|
256
|
+
Inventory.add_registration(
|
|
257
|
+
source_dataset=_DATASETS[registration.source_dataset],
|
|
258
|
+
target_dataset=_DATASETS[registration.target_dataset],
|
|
259
|
+
transform=transform,
|
|
260
|
+
)
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
_META_DIR = Path(__file__).parent / "data" / "metadata" / "metadata"
|
|
264
|
+
try:
|
|
265
|
+
change_metadata_directory(_META_DIR)
|
|
266
|
+
except FileNotFoundError as e:
|
|
267
|
+
raise ImportError(
|
|
268
|
+
"Did not find any dataset metadata files. "
|
|
269
|
+
"This means there is something wrong with the hoa-tools installation.\n"
|
|
270
|
+
"Please report this at https://github.com/HumanOrganAtlas/hoa-tools\n"
|
|
271
|
+
"If you are installing from source, you might need to "
|
|
272
|
+
"initialise and fetch git submodules. "
|
|
273
|
+
) from e
|
hoa_tools/registration.py
CHANGED
|
@@ -11,7 +11,7 @@ Transforms are defined using the `SimpleITK` library.
|
|
|
11
11
|
import numpy as np
|
|
12
12
|
import SimpleITK as sitk
|
|
13
13
|
|
|
14
|
-
from hoa_tools.dataset import
|
|
14
|
+
from hoa_tools.dataset import Dataset
|
|
15
15
|
from hoa_tools.types import PhysicalCoordinate
|
|
16
16
|
|
|
17
17
|
|
|
@@ -64,6 +64,12 @@ class RegistrationInventory:
|
|
|
64
64
|
transform.GetInverse() # type: ignore[no-untyped-call]
|
|
65
65
|
)
|
|
66
66
|
|
|
67
|
+
def _clear(self) -> None:
|
|
68
|
+
"""
|
|
69
|
+
Remove all registrations.
|
|
70
|
+
"""
|
|
71
|
+
self._registrations = {}
|
|
72
|
+
|
|
67
73
|
|
|
68
74
|
def build_transform(
|
|
69
75
|
*, translation: PhysicalCoordinate, rotation_deg: float, scale: float
|
|
@@ -83,30 +89,3 @@ def build_transform(
|
|
|
83
89
|
|
|
84
90
|
|
|
85
91
|
Inventory = RegistrationInventory()
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
def _populate_registrations_from_metadata(inventory: RegistrationInventory) -> None:
|
|
89
|
-
for dataset_name in _DATASETS:
|
|
90
|
-
dataset = _DATASETS[dataset_name]
|
|
91
|
-
if (registration := dataset.registration) is not None:
|
|
92
|
-
source_dataset = _DATASETS[registration.source_dataset]
|
|
93
|
-
target_dataset = _DATASETS[registration.target_dataset]
|
|
94
|
-
transform = build_transform(
|
|
95
|
-
translation=PhysicalCoordinate(
|
|
96
|
-
x=registration.translation[0] * target_dataset.data.voxel_size_um,
|
|
97
|
-
y=registration.translation[1] * target_dataset.data.voxel_size_um,
|
|
98
|
-
z=registration.translation[2] * target_dataset.data.voxel_size_um,
|
|
99
|
-
),
|
|
100
|
-
rotation_deg=registration.rotation,
|
|
101
|
-
scale=registration.scale
|
|
102
|
-
* target_dataset.data.voxel_size_um
|
|
103
|
-
/ source_dataset.data.voxel_size_um,
|
|
104
|
-
)
|
|
105
|
-
Inventory.add_registration(
|
|
106
|
-
source_dataset=_DATASETS[registration.source_dataset],
|
|
107
|
-
target_dataset=_DATASETS[registration.target_dataset],
|
|
108
|
-
transform=transform,
|
|
109
|
-
)
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
_populate_registrations_from_metadata(Inventory)
|