Operating system:Linux, X86_64, RHEL8
Slicer version:GitHub(overnight)
Expected behavior:
Actual behavior:
Hello: I am trying to install 3Dslicer and extensions with apptainer using the following definitions.
export DEBIAN_FRONTEND=noninteractive
apt update -y
apt install -y python3-pip build-essential cmake wget git
cmake-curses-gui cmake-qt-gui
qtmultimedia5-dev qttools5-dev libqt5xmlpatterns5-dev libqt5svg5-dev
qtwebengine5-dev qtscript5-dev
qtbase5-private-dev libqt5x11extras5-dev libxt-dev libssl-dev
git clone GitHub - Slicer/Slicer: Multi-platform, free open source software for visualization and image computing.
cd Slicer
./Utilities/SetupForDevelopment.sh
cd …
mkdir Build
cd ./Build
cmake …/Slicer
make -j 16
Installation is successful (I can run slicer using GUI). Unfortunately, I do not know how to add Slicer extensions to apptainer type builds. Are there any docs. that I can review. I specifically want to slicerradiomics extension.
Thank you, regards, Ajith
TL/DR: at this moment, I’m now aware about any implicit way how to let users install extensions into system-provided Slicer.
longer answer:
Hi, (I see nobody answered yet your question, so giving my 5c)
first, I’m more Apptainer guy rather than Slicer expert - we’re investigating how to use Slicer properly at our site too.
Did you try to build SlicerRadiomics in %post
section of apptainer definition file, to have extension baked in apptainer image?
Cleaner way could be to install base slicer, and then, create apptainer image derived from base Slicer image with installed extension(s)…
The reason behind is (it was explained here at this forum recently) that Slicer mixes application itself and user-installed extensions in its “root” directory…
If you have custom slicer build, you need to also build the extension. Please see this section of the developer’s guide: Overview — 3D Slicer documentation
Hi, Thank you. After a few trials and errors, I could add an extension more like you suggested. In the post section used
git clone GitHub - AIM-Harvard/SlicerRadiomics: A Slicer extension to provide a GUI around pyradiomics
mkdir SlicerRadiomics-build
cd SlicerRadiomics-build
cmake -DSlicer_DIR:PATH=/Build/Slicer-build …/SlicerRadiomics
container image has /SlicerRadiomics-build/inner-build. Then I followed the instructions at GitHub - AIM-Harvard/SlicerRadiomics: A Slicer extension to provide a GUI around pyradiomics, Loading SlicerRadiomics
from a build tree (first option). This seems to recognize Radiomics. I am not 100% this is the best way to go if I need to install additional packages. I would like to try “Cleaner way could be to install base slicer, and then, create apptainer image derived from base Slicer image with installed extension(s)…”. My first attempt at this fails. I tried a source level installation of slicer but failed because of Qt issues.
Once again thank you for your comments.