nifti
tit.stats.nifti ¶
TI-Toolbox NIfTI loading helpers for statistical analysis.
Convenience wrappers around nibabel that resolve paths through
:func:tit.paths.get_path_manager and return arrays ready for
voxelwise group comparison or correlation pipelines.
Public API¶
load_subject_nifti_ti_toolbox Load a single subject's NIfTI from the BIDS simulation tree. load_group_data_ti_toolbox Stack multiple subjects into a 4-D array. load_grouped_subjects_ti_toolbox Load multiple subjects organized by named groups. covered_mean Group mean over the voxels every subject covers.
See Also¶
tit.stats.permutation.run_group_comparison : Voxelwise group comparison pipeline. tit.stats.permutation.run_correlation : Voxelwise correlation pipeline.
covered_mean ¶
Mean over the last axis, kept only where every subject has a value.
A 0 is outside that subject's coverage (warped grey matter), not a field value, so a
voxel any subject lacks is 0 in the result rather than a mean shrunk by that zero. Returns
(mean, covered): mean is float32, covered the boolean every-subject-non-zero mask.
Source code in tit/stats/nifti.py
load_subject_nifti_ti_toolbox ¶
load_subject_nifti_ti_toolbox(subject_id: str, simulation_name: str, nifti_file_pattern: str = 'grey_{simulation_name}_TI_MNI_MNI_TI_max.nii.gz', dtype=float32) -> tuple[ndarray, Nifti1Image, str]
Load a single subject's NIfTI file from TI-Toolbox BIDS structure.
Parameters¶
subject_id : str
Subject identifier (e.g. '070').
simulation_name : str
Simulation folder name (e.g. 'ICP_RHIPPO').
nifti_file_pattern : str, optional
Filename pattern with {subject_id} / {simulation_name}
placeholders, in the 2-pair spelling; an mTI simulation's file is read
from mTI/niftis/ (see
:func:tit.analyzer.field_selector.simulation_nifti_path).
dtype : numpy dtype, optional
Data type for the returned array. Default is np.float32.
Returns¶
data : numpy.ndarray 3-D array of voxel values. img : nibabel.Nifti1Image The loaded NIfTI image (useful for affine / header). filepath : str Absolute path of the loaded file.
Raises¶
FileNotFoundError
If the resolved NIfTI path does not exist and is not one the simulation
can produce now; a simulator NIfTI it did not save is written first,
from the field mesh (:func:tit.volume_fields.ensure_nifti_file).
Source code in tit/stats/nifti.py
load_group_data_ti_toolbox ¶
load_group_data_ti_toolbox(subject_configs: list[dict], nifti_file_pattern: str = 'grey_{simulation_name}_TI_MNI_MNI_TI_max.nii.gz', dtype=float32, reference: tuple | None = None) -> tuple[ndarray, Nifti1Image, list[str]]
Load and stack multiple subjects into a 4-D array.
Parameters¶
subject_configs : list of dict
Each dict must contain 'subject_id' and 'simulation_name'
keys (e.g. {'subject_id': '070', 'simulation_name': 'ICP_RHIPPO'}).
nifti_file_pattern : str, optional
Filename pattern forwarded to :func:load_subject_nifti_ti_toolbox.
dtype : numpy dtype, optional
Data type for the returned arrays. Default is np.float32.
reference : tuple or None, optional
(shape, affine, where) of a grid every subject must be on -- another
group's, when two groups are compared voxel by voxel; where names it in
the error. None (default) makes the first subject the reference.
Returns¶
data_4d : numpy.ndarray
Shape (X, Y, Z, n_subjects).
template_img : nibabel.Nifti1Image
Image from the first subject (affine / header reference).
subject_ids : list of str
Subject identifiers in the same order as the last axis of
data_4d.
Raises¶
ValueError If no subjects could be loaded.
Source code in tit/stats/nifti.py
203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 | |
load_grouped_subjects_ti_toolbox ¶
load_grouped_subjects_ti_toolbox(subject_configs: list[dict], nifti_file_pattern: str = 'grey_{simulation_name}_TI_MNI_MNI_TI_max.nii.gz', dtype=float32) -> tuple[dict[str, ndarray], Nifti1Image, dict[str, list[str]]]
Load subjects organized by named groups.
Each config dict must include a 'group' key in addition to the
fields required by :func:load_group_data_ti_toolbox. Configs
without a 'group' key are assigned to the 'default' group.
Parameters¶
subject_configs : list of dict
Each dict must contain 'subject_id', 'simulation_name',
and 'group' (e.g. 'Responders').
nifti_file_pattern : str, optional
Filename pattern forwarded to :func:load_subject_nifti_ti_toolbox.
dtype : numpy dtype, optional
Data type for the returned arrays. Default is np.float32.
Returns¶
groups_data : dict of str to numpy.ndarray
Mapping from group name to a 4-D array (X, Y, Z, n_subjects).
template_img : nibabel.Nifti1Image
Image from the first loaded subject.
groups_ids : dict of str to list of str
Mapping from group name to ordered list of subject identifiers.