hoa-tools 1.0.10__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.
- hoa_tools/__init__.py +5 -0
- hoa_tools/_n5.py +10 -0
- hoa_tools/_version.py +34 -0
- hoa_tools/data/metadata/metadata/A129_lung_VOI-02_2.0um_bm18.json +286 -0
- 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/AUMC-005_uterus_complete-organ_20.026um_bm18.json +331 -0
- hoa_tools/data/metadata/metadata/FO-20-124_lung_upper_lobe_VOI-01_2.5um_bm05.json +211 -0
- hoa_tools/data/metadata/metadata/FO-20-124_lung_upper_lobe_VOI-01_6.5um_bm05.json +217 -0
- hoa_tools/data/metadata/metadata/FO-20-124_lung_upper_lobe_VOI-02_2.5um_bm05.json +211 -0
- hoa_tools/data/metadata/metadata/FO-20-124_lung_upper_lobe_VOI-02_6.5um_bm05.json +217 -0
- hoa_tools/data/metadata/metadata/FO-20-124_lung_upper_lobe_VOI-03_2.5um_bm05.json +211 -0
- hoa_tools/data/metadata/metadata/FO-20-124_lung_upper_lobe_VOI-03_6.5um_bm05.json +217 -0
- hoa_tools/data/metadata/metadata/FO-20-124_lung_upper_lobe_VOI-04_6.5um_bm05.json +211 -0
- hoa_tools/data/metadata/metadata/FO-20-124_lung_upper_lobe_VOI-07_2.5um_bm05.json +211 -0
- hoa_tools/data/metadata/metadata/FO-20-124_lung_upper_lobe_VOI-08_2.5um_bm05.json +211 -0
- hoa_tools/data/metadata/metadata/FO-20-124_lung_upper_lobe_central-column_6.24um_bm05.json +214 -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-125_lung_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 +210 -0
- hoa_tools/data/metadata/metadata/FO-20-129_lung_left_upper_lobe_VOI-04-bis_6.5um_bm05.json +210 -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 +210 -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 +204 -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/FO-20-135_lung_complete-organ_25.25um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/FO-20-153_lung_complete-organ_25.25um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/FO-20-154_lung_col1_2.5um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/FO-20-154_lung_col1_6.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/FO-20-154_lung_col2_2.5um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/FO-20-154_lung_col2_6.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/FO-20-154_lung_col3_2.5um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/FO-20-154_lung_col4_2.5um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/FO-20-154_lung_col5_2.5um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/FO-20-154_lung_col6_2.5um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/FO-20-154_lung_col7_2.5um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/FO-20-154_lung_complete-organ_25.25um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/FO-20-155_lung_col1_2.5um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/FO-20-155_lung_col1_6.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/FO-20-155_lung_col2_2.5um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/FO-20-155_lung_col2_6.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/FO-20-155_lung_col3_2.5um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/FO-20-155_lung_col3_6.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/FO-20-155_lung_col4_6.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/FO-20-155_lung_col6_2.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/FO-20-155_lung_complete-organ_25.28um_bm05.json +199 -0
- hoa_tools/data/metadata/metadata/FO-20-160_lung_complete-organ_25.0um_bm05.json +199 -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_kidney_right_complete-organ_25.0um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_liver_complete-organ_19.61um_bm18.json +266 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-27_liver_complete-organ_25.25um_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 +210 -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 +210 -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 +210 -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 +210 -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 +210 -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_lung_right_complete-organ_19.61um_bm18.json +266 -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 +204 -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 +204 -0
- hoa_tools/data/metadata/metadata/LADAF-2020-31_kidney_complete-organ_25.0um_bm05.json +204 -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-01_6.54um_bm18.json +258 -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-04_6.54um_bm18.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_ROI-05_6.54um_bm18.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_ROI-06_6.54um_bm18.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_ROI-07_6.54um_bm18.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_ROI-08_6.54um_bm18.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_ROI-09_6.54um_bm18.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_ROI-10_6.54um_bm18.json +258 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_ROI-11_6.36um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_ROI-12_6.36um_bm18.json +246 -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_ROI-14_6.36um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_brain_ROI-15_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 +272 -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_brain_complete-organ_7.72um_bm18.json +240 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_colon_VOI-01_1.444um_bm05.json +255 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_colon_VOI-01_4.502um_bm18.json +261 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_colon_VOI-07_1.444um_bm05.json +255 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_colon_VOI-11_4.502um_bm18.json +261 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_colon_complete-organ_20.025um_bm18.json +260 -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 +258 -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_liver_VOI-01_4.14um_bm18.json +233 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_liver_VOI-02_4.14um_bm18.json +233 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_liver_VOI-03_4.14um_bm18.json +233 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_liver_VOI-08_4.14um_bm18.json +233 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_liver_complete-organ_22.56um_bm18.json +240 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_lung_left_complete-organ_22.56um_bm18.json +240 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_lung_right_VOI-01_5.05um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_lung_right_VOI-03_5.05um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_lung_right_VOI-04_5.05um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_lung_right_VOI-05_5.05um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_lung_right_VOI-06_5.05um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_lung_right_VOI-07_5.05um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_lung_right_VOI-08_5.05um_bm18.json +240 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_lung_right_VOI-09_5.05um_bm18.json +240 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_lung_right_VOI-10_5.05um_bm18.json +240 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_lung_right_VOI-11_5.05um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_lung_right_complete-organ_21.64um_bm18.json +280 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_prostate_complete-scan_23.42um_bm18.json +266 -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-17_testis_1_VOI-01_2.02um_bm18.json +233 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_testis_1_complete-organ_9.595um_bm18.json +227 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_testis_2_VOI-02_2.02um_bm18.json +233 -0
- hoa_tools/data/metadata/metadata/LADAF-2021-17_testis_2_complete-organ_9.595um_bm18.json +227 -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_1_complete-organ_15.77um_bm18.json +266 -0
- hoa_tools/data/metadata/metadata/LADAF-2022-13_kidney_2_complete-organ_15.77um_bm18.json +266 -0
- hoa_tools/data/metadata/metadata/LADAF-2022-13_prostate_complete-organ_14.72um_bm18.json +244 -0
- hoa_tools/data/metadata/metadata/LADAF-2022-16_prostate_complete-organ_15.75um_bm18.json +266 -0
- hoa_tools/data/metadata/metadata/LADAF-2022-16_spleen_complete-organ_15.75um_bm18.json +266 -0
- hoa_tools/data/metadata/metadata/LADAF-2022-27_kidney_bottom_complete-organ_15.75um_bm18.json +266 -0
- hoa_tools/data/metadata/metadata/LADAF-2022-27_kidney_top_complete-organ_15.75um_bm18.json +266 -0
- hoa_tools/data/metadata/metadata/S-20-28_heart_VOI-01-tricuspid-valve_12.02um_bm05.json +258 -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 +204 -0
- hoa_tools/data/metadata/metadata/S-20-28_kidney_VOI-01_2.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-28_kidney_VOI-01_6.51um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/S-20-28_kidney_VOI-02_2.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-28_kidney_VOI-02_6.51um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/S-20-28_kidney_VOI-03_2.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-28_kidney_VOI-04_2.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-28_kidney_VOI-05_2.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-28_kidney_VOI-06_2.5um_bm05.json +218 -0
- hoa_tools/data/metadata/metadata/S-20-28_kidney_VOI-07_2.5um_bm05.json +224 -0
- hoa_tools/data/metadata/metadata/S-20-28_kidney_complete-organ_25.0um_bm05.json +204 -0
- hoa_tools/data/metadata/metadata/S-20-28_lung_right_lower_lobe_overview_19.89um_bm18.json +252 -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.54um_bm18.json +258 -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.54um_bm18.json +258 -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.54um_bm18.json +258 -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.54um_bm18.json +258 -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.54um_bm18.json +258 -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_VOI-06_6.54um_bm18.json +258 -0
- hoa_tools/data/metadata/metadata/S-20-29_brain_VOI-07_6.54um_bm18.json +258 -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 +210 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-01_2.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-01_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-01_6.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-02_2.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-02_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-02_6.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-03_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-04_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-04_6.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-05_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-05b_6.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-06_6.51um_bm18.json +246 -0
- hoa_tools/data/metadata/metadata/S-20-29_heart_VOI-07_6.51um_bm18.json +246 -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 +204 -0
- hoa_tools/data/metadata/metadata/S-20-29_kidney_VOI-01_6.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/S-20-29_kidney_VOI-02_6.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/S-20-29_kidney_VOI-03_6.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/S-20-29_kidney_complete-organ_25.38um_bm05.json +204 -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 +210 -0
- hoa_tools/data/metadata/metadata/S-20-29_lung_left_VOI-02_6.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/S-20-29_lung_left_VOI-04_6.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/S-20-29_lung_left_VOI-05_6.5um_bm05.json +210 -0
- hoa_tools/data/metadata/metadata/S-20-29_lung_left_complete-organ_25.31um_bm05.json +199 -0
- hoa_tools/data/metadata/metadata/S-21-33_brain_complete-organ_19.57um_bm18.json +240 -0
- hoa_tools/data/metadata/metadata/S-21-46_brain_complete-organ_19.57um_bm18.json +240 -0
- hoa_tools/data/metadata/metadata/S-22-16_brain_complete-organ_19.59um_bm18.json +266 -0
- hoa_tools/dataset.py +295 -0
- hoa_tools/inventory.py +30 -0
- hoa_tools/metadata.py +772 -0
- hoa_tools/py.typed +0 -0
- hoa_tools/registration.py +125 -0
- hoa_tools/types.py +59 -0
- hoa_tools/voi.py +230 -0
- hoa_tools-1.0.10.dist-info/METADATA +108 -0
- hoa_tools-1.0.10.dist-info/RECORD +313 -0
- hoa_tools-1.0.10.dist-info/WHEEL +5 -0
- hoa_tools-1.0.10.dist-info/licenses/LICENSE.md +27 -0
- hoa_tools-1.0.10.dist-info/top_level.txt +1 -0
hoa_tools/metadata.py
ADDED
|
@@ -0,0 +1,772 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: metadata-schema.json
|
|
3
|
+
# timestamp: 2025-10-22T15:38:14+00:00
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from datetime import date as date_aliased
|
|
8
|
+
from typing import Annotated, Literal
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, ConfigDict, Field, RootModel
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Orcid(RootModel[str]):
|
|
14
|
+
root: Annotated[
|
|
15
|
+
str,
|
|
16
|
+
Field(
|
|
17
|
+
description="ORCID iD",
|
|
18
|
+
pattern="^\\d{4}-\\d{4}-\\d{4}-\\d{3}[0-9X]{1}$",
|
|
19
|
+
title="Orcid",
|
|
20
|
+
),
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class Contributor(BaseModel):
|
|
25
|
+
first_name: Annotated[str, Field(title="First Name")]
|
|
26
|
+
last_name: Annotated[str, Field(title="Last Name")]
|
|
27
|
+
orcid: Annotated[Orcid | None, Field(description="ORCID iD", title="Orcid")] = None
|
|
28
|
+
roles: Annotated[
|
|
29
|
+
list[
|
|
30
|
+
Literal[
|
|
31
|
+
"Conceptualization",
|
|
32
|
+
"Data curation",
|
|
33
|
+
"Formal analysis",
|
|
34
|
+
"Funding acquisition",
|
|
35
|
+
"Investigation",
|
|
36
|
+
"Methodology",
|
|
37
|
+
"Project administration",
|
|
38
|
+
"Resources",
|
|
39
|
+
"Software",
|
|
40
|
+
"Supervision",
|
|
41
|
+
"Validation",
|
|
42
|
+
"Vlisualization",
|
|
43
|
+
"Writing - original draft",
|
|
44
|
+
"Writing - review & editing",
|
|
45
|
+
]
|
|
46
|
+
],
|
|
47
|
+
Field(
|
|
48
|
+
description="Contributor role(s), following the Contributor Role Taxonomy (CReditT)",
|
|
49
|
+
title="Roles",
|
|
50
|
+
),
|
|
51
|
+
]
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class Data(BaseModel):
|
|
55
|
+
shape: Annotated[
|
|
56
|
+
list,
|
|
57
|
+
Field(
|
|
58
|
+
description="Array shape for dataset.",
|
|
59
|
+
max_length=3,
|
|
60
|
+
min_length=3,
|
|
61
|
+
title="Shape",
|
|
62
|
+
),
|
|
63
|
+
]
|
|
64
|
+
voxel_size_um: Annotated[
|
|
65
|
+
float,
|
|
66
|
+
Field(
|
|
67
|
+
description="Isotropic size of a single voxel, in micrometers.",
|
|
68
|
+
gt=0.0,
|
|
69
|
+
title="Voxel size",
|
|
70
|
+
),
|
|
71
|
+
]
|
|
72
|
+
gcs_url: Annotated[
|
|
73
|
+
str,
|
|
74
|
+
Field(
|
|
75
|
+
description="URL to data in Google Cloud Storage. Starts with either n5:// or zarr:// to specify whether data is in N5 or OME-Zarr 0.4 format.",
|
|
76
|
+
title="Google cloud storage URL",
|
|
77
|
+
),
|
|
78
|
+
]
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
class Age(RootModel[int]):
|
|
82
|
+
root: Annotated[int, Field(description="Age in years at death.", ge=0, title="Age")]
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
class Weight(RootModel[float]):
|
|
86
|
+
root: Annotated[
|
|
87
|
+
float, Field(description="Weight in kg at death.", gt=0.0, title="Weight")
|
|
88
|
+
]
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
class Height(RootModel[float]):
|
|
92
|
+
root: Annotated[
|
|
93
|
+
float, Field(description="Height in cm at death.", gt=0.0, title="Height")
|
|
94
|
+
]
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
class Donor(BaseModel):
|
|
98
|
+
model_config = ConfigDict(
|
|
99
|
+
extra="forbid",
|
|
100
|
+
)
|
|
101
|
+
id: Annotated[str, Field(description="Unique donor ID.", title="ID")]
|
|
102
|
+
age: Annotated[
|
|
103
|
+
Age | Literal["<18", ">18"] | None,
|
|
104
|
+
Field(description="Age in years at death.", title="Age"),
|
|
105
|
+
] = None
|
|
106
|
+
sex: Annotated[Literal["M", "F"] | None, Field(title="Sex")] = None
|
|
107
|
+
weight: Annotated[
|
|
108
|
+
Weight | None, Field(description="Weight in kg at death.", title="Weight")
|
|
109
|
+
] = None
|
|
110
|
+
height: Annotated[
|
|
111
|
+
Height | None, Field(description="Height in cm at death.", title="Height")
|
|
112
|
+
] = None
|
|
113
|
+
cause_of_death: Annotated[str | None, Field(title="Cause of death")] = None
|
|
114
|
+
date_of_death: Annotated[date_aliased | None, Field(title="Date of death")] = None
|
|
115
|
+
medical_history: Annotated[str | None, Field(title="Medical history")] = None
|
|
116
|
+
diabetes: Annotated[
|
|
117
|
+
Literal["Type 2", "No", "Yes"] | None, Field(title="Diabetes history")
|
|
118
|
+
] = None
|
|
119
|
+
hypertension: Annotated[
|
|
120
|
+
Literal["Yes", "No"] | None, Field(title="Hypertension history")
|
|
121
|
+
] = None
|
|
122
|
+
smoker: Annotated[
|
|
123
|
+
Literal["Never", "Yes"] | None, Field(title="Smoking history")
|
|
124
|
+
] = None
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
class Proposal(BaseModel):
|
|
128
|
+
proposal_number: Annotated[
|
|
129
|
+
Literal["md1252", "md1290", "md1389"],
|
|
130
|
+
Field(description="Proposal number.", title="Proposal Number"),
|
|
131
|
+
]
|
|
132
|
+
title: Annotated[str, Field(description="Proposal title.", title="Title")]
|
|
133
|
+
proposers: Annotated[
|
|
134
|
+
list[str], Field(description="Proposal proposers.", title="Proposers")
|
|
135
|
+
]
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
class Registration(BaseModel):
|
|
139
|
+
source_dataset: Annotated[
|
|
140
|
+
str,
|
|
141
|
+
Field(
|
|
142
|
+
description="Name of dataset that is registered (this dataset).",
|
|
143
|
+
title="Source Dataset",
|
|
144
|
+
),
|
|
145
|
+
]
|
|
146
|
+
target_dataset: Annotated[
|
|
147
|
+
str,
|
|
148
|
+
Field(
|
|
149
|
+
description="Name of dataset that this dataset is registered to.",
|
|
150
|
+
title="Target Dataset",
|
|
151
|
+
),
|
|
152
|
+
]
|
|
153
|
+
translation: Annotated[
|
|
154
|
+
list,
|
|
155
|
+
Field(
|
|
156
|
+
description="Translation vector.",
|
|
157
|
+
max_length=3,
|
|
158
|
+
min_length=3,
|
|
159
|
+
title="Translation",
|
|
160
|
+
),
|
|
161
|
+
]
|
|
162
|
+
rotation: Annotated[
|
|
163
|
+
float, Field(description="Rotation in degrees about z-axis", title="Rotation")
|
|
164
|
+
]
|
|
165
|
+
scale: Annotated[
|
|
166
|
+
float, Field(description="Isotropic scaling factor.", title="Scale")
|
|
167
|
+
]
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
class PostMortemIntervalHours(RootModel[float]):
|
|
171
|
+
root: Annotated[
|
|
172
|
+
float,
|
|
173
|
+
Field(
|
|
174
|
+
description="Interval between death and fixation, in hours.",
|
|
175
|
+
ge=0.0,
|
|
176
|
+
title="Post-mortem interval",
|
|
177
|
+
),
|
|
178
|
+
]
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
class Sample(BaseModel):
|
|
182
|
+
organ: Annotated[
|
|
183
|
+
Literal[
|
|
184
|
+
"brain",
|
|
185
|
+
"breast",
|
|
186
|
+
"clitoris",
|
|
187
|
+
"colon",
|
|
188
|
+
"eye",
|
|
189
|
+
"femaleGenitalia",
|
|
190
|
+
"kidney",
|
|
191
|
+
"liver",
|
|
192
|
+
"lung",
|
|
193
|
+
"heart",
|
|
194
|
+
"oesophagus",
|
|
195
|
+
"spinalCord",
|
|
196
|
+
"spine",
|
|
197
|
+
"spleen",
|
|
198
|
+
"heart+lungs",
|
|
199
|
+
"pancreas",
|
|
200
|
+
"placenta",
|
|
201
|
+
"prostate",
|
|
202
|
+
"testis",
|
|
203
|
+
"uterus",
|
|
204
|
+
"thoracicBlock",
|
|
205
|
+
"soleus",
|
|
206
|
+
"achillesTendon",
|
|
207
|
+
"knee",
|
|
208
|
+
"tibia",
|
|
209
|
+
],
|
|
210
|
+
Field(description="Organ name.", title="Organ"),
|
|
211
|
+
]
|
|
212
|
+
organ_context: Annotated[
|
|
213
|
+
str | None,
|
|
214
|
+
Field(
|
|
215
|
+
description="Human-readable context for location of the dataset within the whole organ. Only present for some zoom datasets.",
|
|
216
|
+
examples=["upper_lobe", "left", "tumor"],
|
|
217
|
+
title="Organ Context",
|
|
218
|
+
),
|
|
219
|
+
] = None
|
|
220
|
+
post_mortem_interval_hours: Annotated[
|
|
221
|
+
PostMortemIntervalHours | None,
|
|
222
|
+
Field(
|
|
223
|
+
description="Interval between death and fixation, in hours.",
|
|
224
|
+
title="Post-mortem interval",
|
|
225
|
+
),
|
|
226
|
+
] = None
|
|
227
|
+
fixation_method: Annotated[
|
|
228
|
+
Literal["immersion", "perfusion"] | None,
|
|
229
|
+
Field(description="Fixation preparation method.", title="Fixation Method"),
|
|
230
|
+
] = None
|
|
231
|
+
fixation_medium: Annotated[
|
|
232
|
+
str | None, Field(description="Fixation medium", title="Fixation Medium")
|
|
233
|
+
] = None
|
|
234
|
+
organ_infilled: Annotated[bool | str | None, Field(title="Organ Infilled")] = None
|
|
235
|
+
stabilisation_medium: Annotated[
|
|
236
|
+
Literal["agar cubes", "crushed agar", "beads"] | None,
|
|
237
|
+
Field(title="Stabilisation Medium"),
|
|
238
|
+
] = None
|
|
239
|
+
degassing_method: Annotated[
|
|
240
|
+
Literal["inline", "vacuum", "vacuum+inline"] | None,
|
|
241
|
+
Field(title="Degassing Method"),
|
|
242
|
+
] = None
|
|
243
|
+
scan_solvent: Annotated[
|
|
244
|
+
Literal["formalin", "ethanol"] | None,
|
|
245
|
+
Field(description="Scan medium solvent.", title="Scan Solvent"),
|
|
246
|
+
] = None
|
|
247
|
+
scan_solvent_concentration: Annotated[
|
|
248
|
+
float | None,
|
|
249
|
+
Field(
|
|
250
|
+
description="Scan medium solvent concentration in percent.",
|
|
251
|
+
title="Solvent concentration",
|
|
252
|
+
),
|
|
253
|
+
] = None
|
|
254
|
+
scan_temperature: Annotated[
|
|
255
|
+
str | float | None,
|
|
256
|
+
Field(
|
|
257
|
+
description="Temperature during scan, in degees celsius (if a number).",
|
|
258
|
+
title="Scan Temperature",
|
|
259
|
+
),
|
|
260
|
+
] = "room temperature"
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
class Energy(RootModel[float]):
|
|
264
|
+
root: Annotated[
|
|
265
|
+
float,
|
|
266
|
+
Field(
|
|
267
|
+
description="Energy used during the scan, measured in keV.",
|
|
268
|
+
gt=0.0,
|
|
269
|
+
title="Energy",
|
|
270
|
+
),
|
|
271
|
+
]
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
class CurrentStart(RootModel[float]):
|
|
275
|
+
root: Annotated[
|
|
276
|
+
float,
|
|
277
|
+
Field(
|
|
278
|
+
description="Current of the synchrotron at the start of the scan, measured in mA.",
|
|
279
|
+
gt=0.0,
|
|
280
|
+
title="Current Start",
|
|
281
|
+
),
|
|
282
|
+
]
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
class NFrames(RootModel[int]):
|
|
286
|
+
root: Annotated[
|
|
287
|
+
int,
|
|
288
|
+
Field(
|
|
289
|
+
description="Number of frames acquired during the scan.",
|
|
290
|
+
gt=0,
|
|
291
|
+
title="Number of frames",
|
|
292
|
+
),
|
|
293
|
+
]
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
class NRef(RootModel[int]):
|
|
297
|
+
root: Annotated[
|
|
298
|
+
int,
|
|
299
|
+
Field(
|
|
300
|
+
description="Number of reference images collected during the scan.",
|
|
301
|
+
ge=0,
|
|
302
|
+
title="Number of references",
|
|
303
|
+
),
|
|
304
|
+
]
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
class NDark(RootModel[int]):
|
|
308
|
+
root: Annotated[
|
|
309
|
+
int,
|
|
310
|
+
Field(
|
|
311
|
+
description="Number of dark images (without illumination) collected during the scan.",
|
|
312
|
+
ge=0,
|
|
313
|
+
title="Number of darks",
|
|
314
|
+
),
|
|
315
|
+
]
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
class LatencyTime(RootModel[float]):
|
|
319
|
+
root: Annotated[
|
|
320
|
+
float,
|
|
321
|
+
Field(
|
|
322
|
+
description="Inactive time between active sensor times, measured in seconds.",
|
|
323
|
+
gt=0.0,
|
|
324
|
+
title="Latency Time",
|
|
325
|
+
),
|
|
326
|
+
]
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
class ExposureTime(RootModel[float]):
|
|
330
|
+
root: Annotated[
|
|
331
|
+
float,
|
|
332
|
+
Field(
|
|
333
|
+
description="Exposure time of a single frame, measured in seconds. This is the sub-frame time multiplied by the number of sub-frames.",
|
|
334
|
+
gt=0.0,
|
|
335
|
+
title="Exposure Time",
|
|
336
|
+
),
|
|
337
|
+
]
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
class SubframeTime(RootModel[float]):
|
|
341
|
+
root: Annotated[
|
|
342
|
+
float,
|
|
343
|
+
Field(
|
|
344
|
+
description="Exposure time of a single sub-frame, measured in seconds.",
|
|
345
|
+
gt=0.0,
|
|
346
|
+
title="Subframe Time",
|
|
347
|
+
),
|
|
348
|
+
]
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
class NSubframes(RootModel[int]):
|
|
352
|
+
root: Annotated[
|
|
353
|
+
int,
|
|
354
|
+
Field(
|
|
355
|
+
description="Number of frames accumulated per exposure.",
|
|
356
|
+
gt=0,
|
|
357
|
+
title="Number of sub-frames",
|
|
358
|
+
),
|
|
359
|
+
]
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
class NScans(RootModel[int]):
|
|
363
|
+
root: Annotated[
|
|
364
|
+
int,
|
|
365
|
+
Field(
|
|
366
|
+
description="Total number of scans. For a helical scan this is always 1. For a zseries this is the total number of scans concatenated to make the full data volume.",
|
|
367
|
+
gt=0,
|
|
368
|
+
title="Number of scans",
|
|
369
|
+
),
|
|
370
|
+
]
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
class ScanTime(RootModel[float]):
|
|
374
|
+
root: Annotated[
|
|
375
|
+
float,
|
|
376
|
+
Field(
|
|
377
|
+
description="Total duration of a single scan in seconds.",
|
|
378
|
+
gt=0.0,
|
|
379
|
+
title="Scan Time",
|
|
380
|
+
),
|
|
381
|
+
]
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
class OpticMagnification(RootModel[float]):
|
|
385
|
+
root: Annotated[
|
|
386
|
+
float,
|
|
387
|
+
Field(
|
|
388
|
+
description="Magnification in the optical setup.",
|
|
389
|
+
gt=0.0,
|
|
390
|
+
title="Optic Magnification",
|
|
391
|
+
),
|
|
392
|
+
]
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
class DistanceSourceSample(RootModel[float]):
|
|
396
|
+
root: Annotated[
|
|
397
|
+
float,
|
|
398
|
+
Field(
|
|
399
|
+
description="Distance between the source and the sample, measured in millimeters.",
|
|
400
|
+
gt=0.0,
|
|
401
|
+
title="Source-sample distance",
|
|
402
|
+
),
|
|
403
|
+
]
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
class DistanceSampleDetector(RootModel[float]):
|
|
407
|
+
root: Annotated[
|
|
408
|
+
float,
|
|
409
|
+
Field(
|
|
410
|
+
description="Distance between the sample and the detector, measured in millimeters.",
|
|
411
|
+
gt=0.0,
|
|
412
|
+
title="Sample-detector distance",
|
|
413
|
+
),
|
|
414
|
+
]
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
class SensorRoiXSize(RootModel[int]):
|
|
418
|
+
root: Annotated[
|
|
419
|
+
int,
|
|
420
|
+
Field(
|
|
421
|
+
description="Number of pixels in the x-dimension of the sensor's region of interest (ROI).",
|
|
422
|
+
gt=0,
|
|
423
|
+
title="Sensor Roi X Size",
|
|
424
|
+
),
|
|
425
|
+
]
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
class SensorRoiYSize(RootModel[int]):
|
|
429
|
+
root: Annotated[
|
|
430
|
+
int,
|
|
431
|
+
Field(
|
|
432
|
+
description="Number of pixels in the y-dimension of the sensor's region of interest (ROI).",
|
|
433
|
+
gt=0,
|
|
434
|
+
title="Sensor Roi Y Size",
|
|
435
|
+
),
|
|
436
|
+
]
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
class SensorBinning(RootModel[list]):
|
|
440
|
+
root: Annotated[
|
|
441
|
+
list,
|
|
442
|
+
Field(
|
|
443
|
+
description="Pixel binning on the sensor.",
|
|
444
|
+
max_length=2,
|
|
445
|
+
min_length=2,
|
|
446
|
+
title="Sensor Binning",
|
|
447
|
+
),
|
|
448
|
+
]
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
class XrayMagnification(RootModel[float]):
|
|
452
|
+
root: Annotated[
|
|
453
|
+
float,
|
|
454
|
+
Field(
|
|
455
|
+
description="Magnification of X-rays due to divergence between the source and detector.",
|
|
456
|
+
gt=0.0,
|
|
457
|
+
title="Xray Magnification",
|
|
458
|
+
),
|
|
459
|
+
]
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
class Scan(BaseModel):
|
|
463
|
+
date: Annotated[
|
|
464
|
+
date_aliased,
|
|
465
|
+
Field(description="Date when the scan was performed.", title="Date"),
|
|
466
|
+
]
|
|
467
|
+
beamline: Annotated[
|
|
468
|
+
Literal["BM05", "BM18"],
|
|
469
|
+
Field(description="ESRF beamline where scan was performed.", title="Beamline"),
|
|
470
|
+
]
|
|
471
|
+
energy: Annotated[
|
|
472
|
+
Energy | None,
|
|
473
|
+
Field(
|
|
474
|
+
description="Energy used during the scan, measured in keV.", title="Energy"
|
|
475
|
+
),
|
|
476
|
+
] = None
|
|
477
|
+
current_start: Annotated[
|
|
478
|
+
CurrentStart | None,
|
|
479
|
+
Field(
|
|
480
|
+
description="Current of the synchrotron at the start of the scan, measured in mA.",
|
|
481
|
+
title="Current Start",
|
|
482
|
+
),
|
|
483
|
+
] = None
|
|
484
|
+
filling_mode: Annotated[
|
|
485
|
+
Literal[
|
|
486
|
+
"16 bunch",
|
|
487
|
+
"7/8 multibunch",
|
|
488
|
+
"uniform multibunch",
|
|
489
|
+
"28*12+1 bunch",
|
|
490
|
+
"4 bunch",
|
|
491
|
+
"2*1/3 multibunch",
|
|
492
|
+
]
|
|
493
|
+
| None,
|
|
494
|
+
Field(
|
|
495
|
+
description="Mode of filling used in the synchrotron storage ring.",
|
|
496
|
+
title="Filling Mode",
|
|
497
|
+
),
|
|
498
|
+
] = None
|
|
499
|
+
n_frames: Annotated[
|
|
500
|
+
NFrames | None,
|
|
501
|
+
Field(
|
|
502
|
+
description="Number of frames acquired during the scan.",
|
|
503
|
+
title="Number of frames",
|
|
504
|
+
),
|
|
505
|
+
] = None
|
|
506
|
+
n_ref: Annotated[
|
|
507
|
+
NRef | None,
|
|
508
|
+
Field(
|
|
509
|
+
description="Number of reference images collected during the scan.",
|
|
510
|
+
title="Number of references",
|
|
511
|
+
),
|
|
512
|
+
] = None
|
|
513
|
+
n_dark: Annotated[
|
|
514
|
+
NDark | None,
|
|
515
|
+
Field(
|
|
516
|
+
description="Number of dark images (without illumination) collected during the scan.",
|
|
517
|
+
title="Number of darks",
|
|
518
|
+
),
|
|
519
|
+
] = None
|
|
520
|
+
latency_time: Annotated[
|
|
521
|
+
LatencyTime | None,
|
|
522
|
+
Field(
|
|
523
|
+
description="Inactive time between active sensor times, measured in seconds.",
|
|
524
|
+
title="Latency Time",
|
|
525
|
+
),
|
|
526
|
+
] = None
|
|
527
|
+
exposure_time: Annotated[
|
|
528
|
+
ExposureTime | None,
|
|
529
|
+
Field(
|
|
530
|
+
description="Exposure time of a single frame, measured in seconds. This is the sub-frame time multiplied by the number of sub-frames.",
|
|
531
|
+
title="Exposure Time",
|
|
532
|
+
),
|
|
533
|
+
] = None
|
|
534
|
+
subframe_time: Annotated[
|
|
535
|
+
SubframeTime | None,
|
|
536
|
+
Field(
|
|
537
|
+
description="Exposure time of a single sub-frame, measured in seconds.",
|
|
538
|
+
title="Subframe Time",
|
|
539
|
+
),
|
|
540
|
+
] = None
|
|
541
|
+
n_subframes: Annotated[
|
|
542
|
+
NSubframes | None,
|
|
543
|
+
Field(
|
|
544
|
+
description="Number of frames accumulated per exposure.",
|
|
545
|
+
title="Number of sub-frames",
|
|
546
|
+
),
|
|
547
|
+
] = None
|
|
548
|
+
scan_type: Annotated[
|
|
549
|
+
Literal["helical", "zseries"],
|
|
550
|
+
Field(description="Type of scan.", title="Scan Type"),
|
|
551
|
+
]
|
|
552
|
+
scan_range: Annotated[
|
|
553
|
+
float,
|
|
554
|
+
Field(
|
|
555
|
+
description="Angular range of a single scan in degrees.",
|
|
556
|
+
gt=0.0,
|
|
557
|
+
title="Scan Range",
|
|
558
|
+
),
|
|
559
|
+
]
|
|
560
|
+
n_scans: Annotated[
|
|
561
|
+
NScans | None,
|
|
562
|
+
Field(
|
|
563
|
+
description="Total number of scans. For a helical scan this is always 1. For a zseries this is the total number of scans concatenated to make the full data volume.",
|
|
564
|
+
title="Number of scans",
|
|
565
|
+
),
|
|
566
|
+
] = None
|
|
567
|
+
acquisition: Annotated[
|
|
568
|
+
Literal["half", "quarter"] | None,
|
|
569
|
+
Field(description="Type of tomographic acquisition.", title="Acquisition"),
|
|
570
|
+
] = None
|
|
571
|
+
z_step: Annotated[
|
|
572
|
+
float | None,
|
|
573
|
+
Field(description="Displacement in millimeters between scans.", title="Z Step"),
|
|
574
|
+
] = None
|
|
575
|
+
scan_time: Annotated[
|
|
576
|
+
ScanTime | None,
|
|
577
|
+
Field(
|
|
578
|
+
description="Total duration of a single scan in seconds.", title="Scan Time"
|
|
579
|
+
),
|
|
580
|
+
] = None
|
|
581
|
+
filters: Annotated[
|
|
582
|
+
list[str] | None,
|
|
583
|
+
Field(description="List of filters used during the scan.", title="Filters"),
|
|
584
|
+
] = None
|
|
585
|
+
scintillator: Annotated[
|
|
586
|
+
Literal[
|
|
587
|
+
"LuAG:Ce 1000um",
|
|
588
|
+
"LuAG:Ce 100um",
|
|
589
|
+
"LuAG:Ce 100um, reflective",
|
|
590
|
+
"LuAG:Ce 100um, lead glass meniscus",
|
|
591
|
+
"LuAG:Ce 2000um",
|
|
592
|
+
"LuAG:Ce 2000um, reflective",
|
|
593
|
+
"Multi LuAG:Ce 2000um, reflective",
|
|
594
|
+
"LuAG:Ce 200um",
|
|
595
|
+
"LuAG:Ce 250um",
|
|
596
|
+
"LuAG:Ce 250um, reflective",
|
|
597
|
+
"LuAG:Ce 25um",
|
|
598
|
+
"LuAG:Ce 50um",
|
|
599
|
+
"LuAG:Ce 50um, reflective",
|
|
600
|
+
"LuAG:Ce 500um",
|
|
601
|
+
"LySO:Ce 8.5um",
|
|
602
|
+
"LySO:Ce 23um",
|
|
603
|
+
"LySO:Ce 2000um, reflective",
|
|
604
|
+
"Gadox 60um",
|
|
605
|
+
"CSI trixell structured 650um, 5um pitch",
|
|
606
|
+
"GGG 8um",
|
|
607
|
+
"GGG 20um",
|
|
608
|
+
"GAGG 1000um, reflective",
|
|
609
|
+
"GAGG 100um, reflective",
|
|
610
|
+
"GAGG 50um, reflective",
|
|
611
|
+
"Dual LySO:Ce 5000um, reflective",
|
|
612
|
+
]
|
|
613
|
+
| None,
|
|
614
|
+
Field(
|
|
615
|
+
description="Scintillator used for converting X-rays to visible light.",
|
|
616
|
+
title="Scintillator",
|
|
617
|
+
),
|
|
618
|
+
] = None
|
|
619
|
+
optic: Annotated[
|
|
620
|
+
Literal[
|
|
621
|
+
"Zoom",
|
|
622
|
+
"DZoom",
|
|
623
|
+
"10x 0.4NA reflective optic",
|
|
624
|
+
"Hasselblad tandem optic 100mm/300mm",
|
|
625
|
+
"Hasselblad revolved 100 100",
|
|
626
|
+
"LAFIP2 optic with canon 50mm",
|
|
627
|
+
"Fixed x10",
|
|
628
|
+
"Fixed x2.85",
|
|
629
|
+
"Fixed x2",
|
|
630
|
+
"Fixed x1",
|
|
631
|
+
"Fixed x0.5",
|
|
632
|
+
"Fixed x0.125",
|
|
633
|
+
"Fixed x0.1",
|
|
634
|
+
"Twinmic 5",
|
|
635
|
+
"Twinmic 10",
|
|
636
|
+
"Twinmic 20",
|
|
637
|
+
"Triplemic 10",
|
|
638
|
+
]
|
|
639
|
+
| None,
|
|
640
|
+
Field(description="Optical components used during the scan", title="Optic"),
|
|
641
|
+
] = None
|
|
642
|
+
optic_magnification: Annotated[
|
|
643
|
+
OpticMagnification | None,
|
|
644
|
+
Field(
|
|
645
|
+
description="Magnification in the optical setup.",
|
|
646
|
+
title="Optic Magnification",
|
|
647
|
+
),
|
|
648
|
+
] = None
|
|
649
|
+
distance_source_sample: Annotated[
|
|
650
|
+
DistanceSourceSample | None,
|
|
651
|
+
Field(
|
|
652
|
+
description="Distance between the source and the sample, measured in millimeters.",
|
|
653
|
+
title="Source-sample distance",
|
|
654
|
+
),
|
|
655
|
+
] = None
|
|
656
|
+
distance_sample_detector: Annotated[
|
|
657
|
+
DistanceSampleDetector | None,
|
|
658
|
+
Field(
|
|
659
|
+
description="Distance between the sample and the detector, measured in millimeters.",
|
|
660
|
+
title="Sample-detector distance",
|
|
661
|
+
),
|
|
662
|
+
] = None
|
|
663
|
+
sensor_name: Annotated[
|
|
664
|
+
Literal["PCO edge 4.2 CLHS", "Iris15"] | None,
|
|
665
|
+
Field(
|
|
666
|
+
description="Name of the sensor used during the scan.", title="Sensor Name"
|
|
667
|
+
),
|
|
668
|
+
] = None
|
|
669
|
+
sensor_mode: Annotated[
|
|
670
|
+
Literal["rolling shutter", "FFM"] | None,
|
|
671
|
+
Field(
|
|
672
|
+
description="Operating mode of the sensor during the scan.",
|
|
673
|
+
title="Sensor Mode",
|
|
674
|
+
),
|
|
675
|
+
] = None
|
|
676
|
+
sensor_roi_x_size: Annotated[
|
|
677
|
+
SensorRoiXSize | None,
|
|
678
|
+
Field(
|
|
679
|
+
description="Number of pixels in the x-dimension of the sensor's region of interest (ROI).",
|
|
680
|
+
title="Sensor Roi X Size",
|
|
681
|
+
),
|
|
682
|
+
] = None
|
|
683
|
+
sensor_roi_y_size: Annotated[
|
|
684
|
+
SensorRoiYSize | None,
|
|
685
|
+
Field(
|
|
686
|
+
description="Number of pixels in the y-dimension of the sensor's region of interest (ROI).",
|
|
687
|
+
title="Sensor Roi Y Size",
|
|
688
|
+
),
|
|
689
|
+
] = None
|
|
690
|
+
sensor_binning: Annotated[
|
|
691
|
+
SensorBinning | None,
|
|
692
|
+
Field(description="Pixel binning on the sensor.", title="Sensor Binning"),
|
|
693
|
+
] = None
|
|
694
|
+
pixel_size: Annotated[
|
|
695
|
+
float,
|
|
696
|
+
Field(
|
|
697
|
+
description="Size of a pixel at the sample, measured in micrometers.",
|
|
698
|
+
gt=0.0,
|
|
699
|
+
title="Pixel Size",
|
|
700
|
+
),
|
|
701
|
+
]
|
|
702
|
+
xray_magnification: Annotated[
|
|
703
|
+
XrayMagnification | None,
|
|
704
|
+
Field(
|
|
705
|
+
description="Magnification of X-rays due to divergence between the source and detector.",
|
|
706
|
+
title="Xray Magnification",
|
|
707
|
+
),
|
|
708
|
+
] = None
|
|
709
|
+
technique: Annotated[
|
|
710
|
+
Literal["Hierarchical Phase-Contrast Tomography (HiP-CT)"],
|
|
711
|
+
Field(title="Experimental technique."),
|
|
712
|
+
] = "Hierarchical Phase-Contrast Tomography (HiP-CT)"
|
|
713
|
+
experiment_type: Annotated[str | None, Field(title="Experiment Type")] = (
|
|
714
|
+
"Tomography"
|
|
715
|
+
)
|
|
716
|
+
|
|
717
|
+
|
|
718
|
+
class Citation(BaseModel):
|
|
719
|
+
title: Annotated[str, Field(description="Citation title", title="Title")]
|
|
720
|
+
contributors: Annotated[
|
|
721
|
+
list[Contributor],
|
|
722
|
+
Field(
|
|
723
|
+
description="Dataset contributors, listed alphabetically by name.",
|
|
724
|
+
title="Contributors",
|
|
725
|
+
),
|
|
726
|
+
]
|
|
727
|
+
doi: Annotated[str | None, Field(description="Dataset DOI", title="Doi")] = None
|
|
728
|
+
author_list: Annotated[
|
|
729
|
+
list[str],
|
|
730
|
+
Field(
|
|
731
|
+
description="Author list. If citing this data, please use this authorship list in the order given",
|
|
732
|
+
title="Author List",
|
|
733
|
+
),
|
|
734
|
+
]
|
|
735
|
+
|
|
736
|
+
|
|
737
|
+
class HOAMetadata(BaseModel):
|
|
738
|
+
model_config = ConfigDict(
|
|
739
|
+
extra="forbid",
|
|
740
|
+
)
|
|
741
|
+
name: Annotated[str, Field(description="Unique name for dataset.", title="Name")]
|
|
742
|
+
dataset_type: Annotated[
|
|
743
|
+
Literal["overview", "zoom"],
|
|
744
|
+
Field(
|
|
745
|
+
description="Type of dataset. Overview datasets contain the full sample. Zoom datasets contain a zoom into a particular volume of interest within the sample.",
|
|
746
|
+
title="Dataset Type",
|
|
747
|
+
),
|
|
748
|
+
]
|
|
749
|
+
voi: Annotated[
|
|
750
|
+
str,
|
|
751
|
+
Field(
|
|
752
|
+
description="Volume of interest name. For zoom datasets this gives a unique identifier among zoom datasets taken within the same sample.",
|
|
753
|
+
title="Volume of Interest",
|
|
754
|
+
),
|
|
755
|
+
]
|
|
756
|
+
data: Annotated[Data, Field(description="Data metadata")]
|
|
757
|
+
sample: Annotated[Sample, Field(description="Sample metadata")]
|
|
758
|
+
donor: Annotated[Donor, Field(description="Donor metadata")]
|
|
759
|
+
scan: Annotated[Scan, Field(description="Scan metadata")]
|
|
760
|
+
proposal: Annotated[Proposal, Field(description="Beamtime proposal metadata")]
|
|
761
|
+
registration: Annotated[
|
|
762
|
+
Registration | None,
|
|
763
|
+
Field(
|
|
764
|
+
description="Metadata mapping high resolution volume of interest datasets to a full organ dataset. Not present for full organ datasets.",
|
|
765
|
+
title="Registration parameters",
|
|
766
|
+
),
|
|
767
|
+
] = None
|
|
768
|
+
citation: Annotated[Citation, Field(title="Dataset citation")]
|
|
769
|
+
metadata_version: Annotated[
|
|
770
|
+
Literal["1.1"],
|
|
771
|
+
Field(description="Version of this metadata file.", title="Metadata Version"),
|
|
772
|
+
] = "1.1"
|