.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples\03_quantify\plot_01_volume_fractions.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_03_quantify_plot_01_volume_fractions.py: Volume and fractions ==================== **Background.** The simplest habitat number is how much of the tumour each habitat occupies. Volume fractions let you ask, for example, whether a larger share of one habitat goes with a worse outcome. **Purpose.** You get a table with one row per habitat (volume fraction, number of separate pieces, size of the largest piece), an overlay of the habitat map, and a bar chart of the fractions. **Key terms.** * **habitat** -- a sub-region inside the tumour (the ROI) whose voxels behave alike across the input images; HABIT paints each ROI voxel with a habitat id (1, 2, 3, ...). * **volume fraction** -- voxels of one habitat divided by all non-background voxels of the map; fractions sum to 1. * **region** -- one face-connected piece of a habitat; ``num_regions`` counts the pieces and ``largest_region_voxels`` is the size of the biggest one. * **one-step habitats** -- clustered inside this one subject; see :doc:`/auto_examples/04_designs/plot_02_inside_each_subject`. Atomic volume metrics from a habitat label map: :func:`~habit.kernels.habitat_volume_fractions` and :func:`~habit.kernels.habitat_region_stats`. .. GENERATED FROM PYTHON SOURCE LINES 31-33 One-step habitats give a map to quantify. sphinx_gallery_thumbnail_number = 2 .. GENERATED FROM PYTHON SOURCE LINES 33-54 .. code-block:: Python from pathlib import Path import matplotlib.pyplot as plt import pandas as pd from habit.contracts import cohort_from_directory from habit.datasets import fetch_demo from habit.kernels import habitat_region_stats, habitat_volume_fractions from habit.recipes import one_step_habitat from habit.viz import plot_habitat_overlay, plot_habitat_volume_fractions DATA = fetch_demo() MODALITIES = ("LAP",) ROI = "LAP" cohort = cohort_from_directory(DATA, modalities=MODALITIES, roi=ROI)[:1] result = one_step_habitat( modalities=MODALITIES, n_habitats=3, random_seed=0, roi=ROI ).fit_predict(cohort) habitat_map = result.habitat_maps[0] labels = habitat_map.label_array .. rst-class:: sphx-glr-script-out .. code-block:: none HABIT demo data (cached) DATA (preprocessed root): C:\Users\dongm\.habit_data\demo-data-v1\preprocessed On-disk inventory of this folder: subjects (5): subj001, subj002, subj003, subj004, subj005 image series: LAP, PVP, delay_3min, pre_contrast mask keys: LAP, PVP, delay_3min, pre_contrast example image: images/subj001/delay_3min/WATER__BH_Ax_LAVA_Flex_3min_Series0012.nrrd example mask: masks/subj001/delay_3min/WATER__BH_Ax_LAVA_Flex_10min_Series0017_mask.nrrd Your own data must use the same folder tree (change IDs / series names): DATA/ images/// masks/// Then load it with the same call the demos use: cohort = cohort_from_directory(DATA, modalities=("LAP",), roi="LAP") Swap DATA / modalities / roi to match your tree. Mask key is often the same as one image series (here LAP). Cohort.map[_DefineAndLabelWithinSubject]: 0%| | 0/1 [00:00` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_01_volume_fractions.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_01_volume_fractions.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_