Skip to content

Handling population SESSIONS; incorrect volumetric stats output #577

@MDijsselhof

Description

@MDijsselhof

Description

Structural volumetric output (GM/WM/CSF_vol etc.) is not outputted into a stats file at all times. If the session number does not start with 1, no output will be given. Datapath: lood_storage/divi/Projects/ExploreASL/ABBA/NOMARED/derivatives/PseudoM0/NOMARED_PLD7/ (mind, this has been processed before 1.10)

See below:

image

The printing of the stats files should recognize which session is the first in the subject and output volumetrics accordingly.

Requirements

HENK:

  • TestDataSets Siemens3DGRASE_Structural_AlreadyDone_HiQ ASL_1 & ASL_2 renamed to ASL_3 & ASL_7 for testing this 27e928d

Note that all stats columns before the ASL or other outputs, are just copy-pastes from participants.tsv.
Throughout ExploreASL, we assume that the first session is called ASL_1, the second ASL_2, etc. We could change this to always detecting x.SESSIONS as '^ASL_\d+$' and sorting these numerically; and instead of ASL_1 we should use x.SESSIONS{1} if this is already defined

  • 1.a xASL_adm_GetPopulationSessions line 28: defaults to 'ASL_1' but should instead default to 'ASL_\d*' and be flexible for each subject.
    The same logics are already used for the other (native space) modules: xASL_init_DefineStudyData line 114: is to search for ASL_\d+ and take ASL_1 as fallback.
    xASL_adm_GetPopulationSessions is used by
    xASL_stat_GetROIStatistics
    xASL_stat_PrintStats (only for obtaining nSessions)
  • 1.b: xASL_adm_GetPopulationSessions should also be used at the start of the Population module, using qCBF as default input
  • 1.c: replace ASL_\d* by ASL_\d+
    xASL_adm_CleanUpBeforeRerun
    xASL_init_Iteration
  • Rebase and test also in other Population functions
  • Test also what happens when you already have a Participants.tsv, and if you have one that is wrong (but not put too much time into repairing this, a warning should suffice)
  • 1.e have dependent population module functions using x.SESSIONS:
    xASL_qc_SortBySpatialCoV
    xASL_qc_ObtainQCCategoriesFromJPG
  • 1.d keep old x.SESSIONS of xASL_stat_GetROIStatistics: when feeding back to the population module, then default still to the main population module x.SESSIONS instead of using the potentially more specific one defined for a specific modality within xASL_stat_GetROIStatistics
  • 2. xASL_bids_Add2ParticipantsTSV line 69 & 79: here, we assume the first session is named ASL_1. If this is not the case, or if there are inconsistencies, this will crash. Instead, we should instead use the x.SESSIONS defined by xASL_adm_GetPopulationSessions at the start of the Population module.
  • Always sort sessions numerically, e.g., {'ASL_1', 'ASL_2', 'ASL_12'} instead of {'ASL_1', 'ASL_12', 'ASL_2'}, using xASL_adm_SortStringNumbers

Release Notes

Improved session handling in Population module

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions