Skip to content

Expand functionality of xASL_wrp_GetROIStatistics to 4D/temporal #594

@HenkMutsaerts

Description

@HenkMutsaerts

Description

I would like to expand the functionality of the ROI statistics in the population module by a temporal value, e.g. the temporal variability of spatial CoV, and a ratio, e.g. the ratio of average CBF in the borderzone divided by average CBF in the proximal parts of vascular territories.

Use the update branch!!! feature-#594_GetROIStats4D

Requirements

We need to add some flexibility without losing the modularity of these functions. Also, we might want to do this for the standard space output only, as @jan-petr still needs to fix the broken modularity for the native space output.

  • A. Create a dataset with qCBF4D.nii. This is enabled, but it currently only works for native space and has to be uncommented for standard space inside the ASL-module wrapper.
  • B. Change xASL_im_IM2Column that it accepts 4D - done in Temporal variability in population module #1831 All related commits here were removed!!!!
  • C. Change xASL_stat_GetROIStatistics in such a way that it works in 4D
    -> rename DataIm -> DataColumn
    -> rename Data3D -> DataImage
    Line 453 -> image is usually shifted in dim, to become [1 747286] but we need to disable this to get
    [747286 1] for a single volume and [747286 10] for e.g., 10 volumes
    xASL_stat_ComputeSpatialCoV, xASL_stat_ComputeMean
    -> should take 4D input & output it

Suggested changes:

  1. xASL_stat_GetROIStatistics calculates a function - e.g. mean/median/SD/etc - for a single ROI, for a single image volume - e.g. qCBF.nii. This function should allow doing this with a 4D input, e.g. qCBF4D.nii, with a vector as output instead of a scalar, per subject/ROI/function.
  2. xASL_wrp_GetROIStatistics detects this vector and performs a temporal function on this, e.g. SD. This temporal function should be an input argument to xASL_wrp_GetROIStatistics just like the current ROI-level input function(s).
  3. xASL_wrp_GetROIStatistics should be able to compare ROI values, depending on the input argument, e.g.:
    • ratio: ratio between two ROIs, e.g. borderzone / proximal
    • asymmetry index: relative difference between two ROIs, e.g. left vs right for lateralization
    • the same but for multiple ROIs, e.g. relative SD between multiple ROIs

Other notes/ToDo:

  • with masking allow 4D
  • Merge mean & SD functions
  • if 4D, take mean over 4th dim unless specified to be SD over 4th dim
  1. Admin
  2. Implicit masking (based on CBF values)
  3. Equalize mask sizes
  4. Calculate ROI stats (per measurement if there are multiple)
  5. Calculate 4th dim variability

later: add correlation to mean & SD, and also other potential functions to run

Metadata

Metadata

Labels

featureNew feature, enhancement or request

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions