Age-appropriate pipeline for mindboggle


Foremost, Arno, thank you for offering this tool! It seems to be working effectively so far for the 6-7 year-olds I’m processing, but I’m wondering whether the features would be estimated more accurately if I made the pipeline age-appropriate (e.g., 6-7 year-old template and priors, etc.). I have two questions: 1. would there be a straightforward way to do this in the Docker container? 2. is there anything mindboggle does that might obviate or mitigate any need for age-appropriate customizations?

Many thanks!

Thank you, Ted!

I’m functioning on a string of all-nighters to get some software out, so please bear with me if I’m not as coherent as I would like to be in my reply.

I believe that the features would be estimated more accurately with an age-appropriate labeling protocol, atlas(es), and template(s). I don’t know if there is a clear standard for consistently differentiating anatomical label boundaries in children vs. adults at the resolution of these coarse labels, but the morphological differences between these two age groups certainly would be expected to give different atlas/template/participant registration results for a given individual, and therefore different labeling results.

  1. There is already a flag for calling a different MNI152-registered atlas with your desired labels, but I think the key is to replace both the template and atlas so that they correspond to one another, like Mindboggle’s do. Easiest way is to simply swap out the default for yours (after building priors with ANTs). I’d have to dig in to see if anything would trip up that strategy.

  2. Yes! One of my original motivations for creating Mindboggle was to get around atlases and registrations altogether, and to extract, anatomically identify, and morphologically characterize features like sulci/fundi/roots independent of the stretches of cortex around them. A secondary goal was to label brains just based on these features. The first is reasonably met, if you permit an affine registration with a template and its corresponding atlas, but I couldn’t pursue the second to a satisfactory conclusion. And of course the Python library allows you to break out of the given pipeline to extract and analyze features.

All the best!


Dear Arno,

Thank you so much for the prompt, comprehensive, and (despite the lack of sleep) coherent response. Nevertheless, a string of all-nighters sounds miserable, so by all means, please feel free to defer responding to this message until you’ve caught up on sleep.

Following up on #1, swapping out sounds good. And the template, atlas, and priors I swap in do not need to be registered to any other templates, labels, etc. mindboggle uses? It looks as though the data/OASIS-30_Atropos_template folder in the container has several co-registered images (templates, labels, and priors; plus the OASIS-TRT-20_jointfusion_DKT31_CMA_labels_in_OASIS-30_v2.nii.gz; which makes sense), so maybe I need to swap these too (or at worse register the T_template0.nii.gz to my age-appropriate template and then apply the transform)? Lastly, just so I am understanding, is it correct to think that these changes will affect only the ANTs, but not FreeSurfer, processing parts of mindboggle?

Again, many thanks for all the guidance with this,

What I meant by “swap out” was to replace all templates and atlases and update the nipype script that calls these. Not the most elegant solution, but it’s worth a try! This will affect the volume registration/labeling in ANTs, but remember that the ANTs and FS segmentations are combined in the first step of the Mindboggle pipeline. Also, unless you also update the FS atlases/templates, you might want to just try ANTs and not FS (–no_surfaces). I have created different atlases for use in labeling with FS, which you could also do, but if you just rely on FS’s recon-all pipeline, you’re dealing with adult templates/atlases.

Understood. Thank you so much, Arno!!