NA-MIC Project WeeksWe’ve been working on a python library, currently (badly) named abcdmicro, for diffusion MRI population analysis. Its goal is to make it easy to have the tools you need for processing population brain diffusion MRI in one convenient-to-set-up python package, with normally disparate processing steps getting linked together nicely. Slicer isn’t where one would typically do large population analysis, but it is an excellent for visualizing examples while putting together a pipeline, and it’s excellent for interacting with results. For this reason, I’d like to look into bridging abcdmicro with Slicer.
Resources in abcdmicro and conversion utilities that allow them to be created and used.Added two example notebooks to abcdmicro. This helps introduce the functionality.
One notebook works up through NODDI estimation and tract segmentation for a particular subject:


The other demonstrates multimodal population template construction:

In a discussion with Arthur, here are some future directions we identified as valuable:
The outcome of this project was mostly discussions and ideas; here are a couple of last-minute updates to wrap things up:
SlicerVolumeResource.Side story: Trying to install abcdmicro into the Slicer python environment immediatley raised ia problem: abcdmicro depends on TractSeg which depends on fury which depends on a version of vtk that conflicts with Slicer’s. To install it we had to install abcdmicro with --no-deps, then install the deps manually, except for TractSeg. In the case of TractSeg it has to be installed with --no-deps, and then its deps have to be installed manually, with the exception of fury. We don’t need fury in Slicer. This whole story could have been averted if TractSeg made fury an optional dependency; abcdmicro doesn’t really need fury after all. But we can’t rely on package maintainers to do things the exact way we want. This story relates to my other PW44 project! It would be useful to support some way of just forcibly skipping a Requirement.