I am curious if anyone on the forum has experience with importing Amira/Avizo files (particularly the segmentation) into Slicer one way or another.
Amira/Avizo has been used quite a lot in the biological sciences for 3D morphology and there a quite a few labs who want to wean themselves off and switch using Slicer/SlicerMorph, but are reluctant to do so, since they got quite a few datasets.
I have no experience with these two software, and in fact don’t exactly know what the distinctions between these two. Any input will be much appreciated.
I don’t have any direct experience either, but if people could post example datasets they want to work with, ideally with info about how they were generated (like a tutorial) we could investigate.
I have used both AMIRA/AVIZO since it’s beginnings and 3Dslicer more recently, and there certainly are ways to exchange data.
I am aware of and have used Fiji incl. the bio-format plugin (Supported Formats — Bio-Formats 6.6.1 documentation) for the import of Amira data and the 3D IO plugin for export of MHD data (ij-plugins - IJ Plugins: 3D I/O).
I have also looked into using direct export options of Avizo (a while back though) and seem to remember that e.g. the origin of a 3D image data set was ignored upon export.
I am not 100% sure in how far interpretation of data (origin at the centre/edge of a pixel) is consistent across different software.
I very much agree that having a good understanding of how to best exchange data between systems would be most helpful and I’d be happy to explore if our experience is of any use for what you have in mind here.
Thanks @MarkusHeller. I was thinking that BioFormats may support it, but not having an actual Avizo file, I wasn’t able to try.
So as I understand Avizo->BioFormats->Slicer route preserves fidelity of the data (in terms of origins, offsets, directional matrix etc) better than exporting directly out of Avizo?
@pieper @lassoan I know there is a fundamental license incompatibility bioformats and Slicer. But this keeps coming up, and I am wondering what are our options to support BioFormats in Slicer (e.g., as an optional download like ffmpeg?). This doesn’t have to be in core Slicer, can be in SlicerMorph etc…
If people install the GPL parts themselves it shouldn’t be a problem. We can’t distribute GPL code but we can make it easier for people to use it.
Would an interface to this package do the trick? python-bioformats: read and write life sciences image file formats — python-bioformats 0.0.0 documentation
I was excited to see this thinking this might be native python, but looks like it still relies on having JRE installed on the computer. I have the feeling that default availability of JRE on a given personal computer is much less common nowadays (I sure didn’t have it until this morning until I tried the command line BFtools for the laptop I have been using for last three years).
Nevertheless, I think this might be a good start. Although I don’t know whether it might be any less work by simply asking people to install the command line tools + JRE (Bio-Formats Downloads | Open Microscopy Environment (OME)) and calling those under the hood.
Yes, I’d try not to rely on java or GPL’d code, but if that’s the easiest way for people to access their data they may be stuck with it. There may be specific file formats we can read without resorting to these packages.
ITK has added support for many file formats that we might not have exposed yet in Slicer. There is a good chance that we can find a format that Amira/avizo can directly write and ITK/VTK/etc. can read.
Note that we only need a “temporary” solution (for a few years), as there is a strong push in the entire biomedical imaging community towards a new modern open file format, such as OME-Zarr. OME, ITK, Slicer, napari, etc. are all on board.