Edit this page

NA-MIC Project Weeks

Back to Projects List

Python dependencies in extensions, and dmri population analysis library bridge

Key Investigators

Project Description

Many Slicer extension developers these days have to deal with the problem of external python dependencies: how to specify them, how and when to install them, and how to validate that the required things are installed. Everyone addresses the problem in a different way, with a lot of re-inventing the wheel and also a lot of great ideas out there. I’d like to collect all the best practices and turn them into a framework that is build into core slicer for extension developers to more easily grab and use. Something like “stick your dependencies in here and the use slicer.util.check_python_dependences and slicer.util.install_python_dependencies. If that turns out to be a bad idea for whatever reason, at least I can collect all the best practices and put them into the extension development documentation.

A backup project, in case that one doesn’t pan out or gets wrapped up too quickly: I’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. This is somewhat related to the above, because it would be yet another example of an extension that has external python dependencies.

Objective

For the secondary project:

Approach and Plan

For the secondary project:

Progress and Next Steps

No response

Illustrations

No response

Background and References