Questions
paternity leave
ITK wrapping of ICON is done and I'm pretty pleased with it
Two problems were cleared up: No way to register itkImage<Vector> with python's garbage collector, caused intermittent segfaults. I have a temporary solution that just permanently leaks the memory, Dzenan at Kitware is working on a permanent fix
Also, need to make sure that the numpy array that you are constructing the image with is contiguous: otherwise, this hits a bug in itk's ImageViewFromArray and causes further intermittent segfaults I have a pull request awaiting merger into ITK that fixes this issue.
Overall, using ITK for representing deformable transforms in a portable way has been a pain, but it is done, and after the pull requests in itk are cleared, it will be much easier for the other students in the group: They can just pip install ICON and use
icon_registration.itk_wrapper.create_itk_transform
Also, ICON now does inference just fine on CPU: takes about 40 seconds for a single pair. This should be pleasing to Serena!
Code links
ITK issue from when I started getting segfaults
ITK pull request to fix one kind of segfault
ITK issue to wrap DisplacementFieldTransform for VectorImage: this will fix all problems
ICON applied to atlas images
It looks like for images with small affine component, performs well. Difficulty with zoomed knees. Potential to use image spacing for improved performance?
Back to Reports