Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Container exists immediately after running #437

Open
ptahery opened this issue Apr 5, 2021 · 6 comments
Open

Container exists immediately after running #437

ptahery opened this issue Apr 5, 2021 · 6 comments

Comments

@ptahery
Copy link

ptahery commented Apr 5, 2021

Hi,

Thank you so much for your package.
I have a problem with docker container for qiicr/dcmqi.
After running it exits immediately with exited (139). I tried all the below commands but they don't work.

docker run qiicr/dcmqi
docker run -dit --name my_dcmqi qiicr/dcmqi
docker run -dit qiicr/dcmqi
docker run -it -d qiicr/dcmqi:latest
docker run -t -d qiicr/dcmqi:latest
docker run -it qiicr/dcmqi:latest
docker run -i qiicr/dcmqi
docker run -it qiicr/dcmqi

I would be grateful if you help me.
Best.

@fedorov
Copy link
Member

fedorov commented Apr 5, 2021

Perhaps this is because of how the entrypoint for the container is defined: https://github.com/QIICR/dcmqi/blob/master/docker/dcmqi/imagefiles/docker_entry.sh.

The easiest might be to make a new docker image from qiicr/dcmqi. docker run -it works as expected for me for a container definition below:

FROM qiicr/dcmqi
MAINTAINER test

ENTRYPOINT /bin/bash

@Georift
Copy link

Georift commented Oct 25, 2022

I'm experiencing the same problem on Debian 11. I tried your solution @fedorov and the container still exits with 139.

@fedorov
Copy link
Member

fedorov commented Oct 25, 2022

I confirm it currently works for me on mac as below. I have not yet tested on other platforms.

$ docker run qiicr/dcmqi segimage2itkimage --help
dcmqi repository URL: [email protected]:QIICR/dcmqi.git revision: 3802ee3 tag: latest-2-g3802ee3

USAGE:

   segimage2itkimage  [--returnparameterfile <std::string>]
                      [--processinformationaddress <std::string>] [--xml]
                      [--echo] [--verbose] [-t <nrrd|mhd|mha|nii|nifti|hdr
                      |img>] [-p <std::string>] [--outputDirectory
                      <std::string>] [--inputDICOM <std::string>] [--]
                      [--version] [-h]
...

@Georift
Copy link

Georift commented Nov 7, 2022

Yeah it's a strange one, I haven't had time to debug more but I just tired your output:

➜  docker run qiicr/dcmqi segimage2itkimage --help
➜  echo $?
139
➜  docker images qiicr/dcmqi:latest
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
qiicr/dcmqi   latest    cbbc3a373e9a   2 months ago   344MB

I'll likely check this out in the coming week. Just quickly how does this project compare to the Slicer extension? I feel like I get the impression that may be more supported than the cli?

@fedorov
Copy link
Member

fedorov commented Nov 30, 2022

The Slicer extension is a wrapper around dcmqi CLIs. I have not been able to find much time to invest into dcmqi. I feel like dcmqi serves a certain need in its current state, implementation of drastically new features is complex due to dependency on DCMTK for lower-level functionality, which is not easy to extend.

Regarding this specific issue you are facing, I would definitely appreciate any help, since my experience with docker is rather basic.

Right now the main feature I want to make the time to implement is

  1. update to modern ITK and fix the testing components that will break due to that shift (I also realized just today that there are many failing tests on Slicer dashboard, since dcmqi in Slicer is built against the current ITK, not 3.12 that is used in the standalone tool here) Explore upgrading to use ITKv5 #444
  2. writing of non-overlapping segments into a single ITK file (currently, segments are saved into separate files, which has huge performance implications for SEG objects with many segments) Overlapping frames on segimage2itkimage #462

I am sorry for such a delay in responding to your question.

@Georift
Copy link

Georift commented Dec 2, 2022

@fedorov No worries on the time to reply! no pressure here.

I'm currently using the slicer extension to prove a process I'm working on, soon I'll likely come back to this project and the container image to better automate the process.

I'm fairly comfortable with Docker but I've never encountered it crashing immediately, so it'll be an interesting debug.

Do you think the old ITK build difference between the container and slicer could have any influence in this issue?

I'll keep you posted when I get a chance, and if I find anything interesting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants