Skip to content

Sequence-dependency population module #870

@MichaelStritt

Description

@MichaelStritt

Description

Previously, xASL_module_Population worked sequence-specific, because of sequence-specific masking.
Now, the sequence-specific susceptibility masking is performed in xASL_module_ASL->xASL_wrp_CreateAnalysisMask,
and (xASL_module_Population->) xASL_im_CreateAnalysisMask -> xASL_im_CreateAnalysisMask_LegacySusceptibilityMasking performs some extra thresholding to create group masks, based on 2D EPI & 3D GRASE templates.

Requirements

  • 1. Test the ASL module susceptibility mask creation.
    Using flavor Philips_PCASL_2DEPI_3.2.1.1_1, I tested the creation of the susceptibility mask inside the ASL module, which was a bit too lenient; around the susceptibility regions it was not correctly masked by the brainmask.
    This is not a problem, because eventually. several masks are combined, but it is cleaner to mask extra by the brain mask, because the default susceptibility mask IS a brainmask (e.g., for sequences without a susceptibility mask, such as 3D spiral).

The susceptibility mask BEFORE & AFTER population module masking are nearly identical.

image Brainmask image old susceptibility mask image new susceptibility mask
  • 2. This population-based part to create an analysis mask only runs when there are multiple subjects (e.g., more than 16). To change this, we will now ALWAYS create templates and a group analysis mask, even if we have n=1. But if n<5, we will issue a warning that this may not work well.

  • 3. Check difference in masking only ASL module or also in population module:

image image image

Difference seems to be a small erosion around the original mask.

  • 4. Test the output of xASL_im_CreateAnalysisMask_LegacySusceptibilityMasking for 2D EPI & 3D GRASE. Move this extra masking that it does to xASL_module_ASL
  • 5. Remove xASL_im_CreateAnalysisMask - xASL_im_CreateAnalysisMask_LegacySusceptibilityMasking
  • 6. Remove xASL_module_Population-xASL_adm_DefineASLSequence
  • 7. xASL_stat_GetROIstatistics uses xASL_adm_DefineASLSequence on line 154, but is not using x.Q.sequence, x.Q.readout* or x.Q.vendor, so we can remove this here. Same for xASL_wrp_GetROIstatistics line 87 has xASL_adm_DefineASLSequence, which can be removed.

Release notes

Create sequence-specific mask in ASL module instead of the Population module.

Metadata

Metadata

Assignees

Labels

featureNew feature, enhancement or request

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions