CBICA / CaPTk

Cancer Imaging Phenomics Toolkit (CaPTk) is a software platform to perform image analysis and predictive modeling tasks. Documentation: https://cbica.github.io/CaPTk
https://www.cbica.upenn.edu/captk
Other
173 stars 63 forks source link

BraTSPipeline executable not built for CaPTk 1.8.1 #1488

Open camarasu opened 2 years ago

camarasu commented 2 years ago

Describe the bug

Having issues with the lastest BraTSPipeline executable (see https://github.com/CBICA/CaPTk/issues/1487) and since one of my colleagues has successefully used the Desktop/GUI CaPTk version 1.8.1, I have tried to build a Docker image using https://github.com/CBICA/CaPTk/archive/refs/tags/1.8.1.zip (instead of the current github version). However, this time no BraTSPipeline was generated.

ls /work/CaPTk/bin

binaries_linux.zip          cmake_install.cmake      DeepMedic               Eigen-prefix          install                  libCaPTk_FeatureExtractor.a    OpenCV-source               RecurrenceEstimator  Utilities
BreastTexturePipeline       Confetti                 DiffusionDerivatives    Eigen-source          install_manifest.txt     libConfettiCore.so             PerfusionAlignment          SBRT_Analysis        VTK-build
CaPTk                       CPackConfig.cmake        DirectionalityEstimate  externalApps          ITK-build                libGeodesicTrainingCaPTkLib.a  PerfusionDerivatives        SBRT_LungField       VTK-prefix
CMakeCache.txt              CPackSourceConfig.cmake  docs_sources            FeatureExtraction     ITKFactoryRegistration   Makefile                       PerfusionPCA                SBRT_Nodule          VTK-source
CMakeDoxyfile.in            DCMTK-build              doxy.log                GeodesicSegmentation  ITK-prefix               MolecularSubtypePredictor      PopulationAtlases           src                  WhiteStripe
CMakeDoxygenDefaults.cmake  DCMTK-prefix             EGFRvIIIIndexPredictor  GeodesicTraining      ITK-source               OpenCV-build                   Preprocessing               SurvivalPredictor
CMakeFiles                  DCMTK-source             EGFRvIIISurrogateIndex  GreedyRegistration    libCaPTk_Applications.a  OpenCV-prefix                  PseudoProgressionEstimator  TrainingModule

To Reproduce Buid a Docker image with this Dockerfile:

FROM cbica/captk_centos7:devtoolset-4_superbuild

LABEL authors="CBICA_UPenn <software@cbica.upenn.edu>"

RUN yum update -y

RUN yum install git unzip

RUN wget https://github.com/CBICA/CaPTk/archive/refs/tags/1.8.1.zip; unzip 1.8.1.zip ;mv CaPTk-1.8.1 CaPTk;

RUN cd CaPTk/bin; \
    if [ ! -d "`pwd`/externalApps" ] ; then wget https://github.com/CBICA/CaPTk/raw/master/binaries/precompiledApps/linux.zip -O binaries_linux.zip; fi ; \
    cmake -DITK_DIR=./bin/ITK-build -DDCMTK_DIR=./bin/DCMTK-build -DCMAKE_INSTALL_PREFIX="./install/appdir/usr" -DBUILD_TESTING=OFF ..; \
    make && make install/strip;

RUN rm -rf CaPTk/bin/binaries_linux.zip

ENV QT_X11_NO_MITSHM=1
ENV QT_GRAPHICSSYSTEM="native"

Expected behavior BraTSPipeline executable is not to be found

CaPTk Version 1.8.1

AlexanderGetka-cbica commented 2 years ago

Hi @camarasu , thanks for reporting this! I'm investigating this and will report back to you soon with any updates or workarounds.

AlexanderGetka-cbica commented 2 years ago

As a workaround, can you please try pulling the following tag from Docker Hub: cbica/captk:2021.03.29

This contains a previous 1.8.1 build and I am certain it includes the BraTSPipeline executable. Inside the container it is in the following location: /opt/captk/1.8.1/usr/bin/BraTSPipeline

Hope this helps! Let me know if that works for you. I will also continue to look into why the Docker builds aren't generating BraTSPipeline.

AlexanderGetka-cbica commented 2 years ago

I forgot to mention -- you can override the container entrypoint by passing --entrypoint="/opt/captk/1.8.1/usr/bin/BraTSPipeline" to docker run, so that it uses the right command in the pulled image without needing to re-build from a Dockerfile.

camarasu commented 2 years ago

Thank you very much @AlexanderGetka-cbica ! I confirm that the workaround using cbica/captk:2021.03.29 with an entrypoint for executing /opt/captk/1.8.1/usr/bin/BraTSPipeline in batch mode works fine.