Mini PACS


Recommended Posts

It uses DICOM standards to acquire and distribute images. Since X-Ray film is now obsolete, all modalities (Radiology image generating devices) output DICOM images over TCP/IP.

 

I see, a little digging around and I found a pre-existing docker for this, which could be adapted to fit unraid.

 

https://github.com/dpatriarche/docker-dcm4chee

 

I forked it and ran a build in my docker vm i use for test building.

 

I got some kind of web interface for settings etc... and then some records interface.

 

 

Link to comment

Had a play with the preexisting docker and thus far I have this.

 

FROM phusion/baseimage:0.9.16
ENV DEBIAN_FRONTEND noninteractive
# Set correct environment variables
ENV HOME /root
ENV TERM xterm
# Use baseimage-docker's init system
CMD ["/sbin/my_init"]

# output volumes
VOLUME /DICOM /DATABASE

# expose ports
EXPOSE 8080 11112

# Add local files
ADD src/ /root/

# Fix a Debianism of the nobody's uid being 65534
RUN usermod -u 99 nobody && \
usermod -g 100 nobody && \

# set temporary installation folder
DCM4CHEE_TEMP=/root/temp-setup/dcm4chee && \
mkdir -p  $DCM4CHEE_TEMP && \

# install dependencies
apt-get update && \
apt-get install -y wget unzip mysql-server openjdk-6-jdk && \

# fetch, unzip and install required packages
cd $DCM4CHEE_TEMP && \
wget --directory-prefix=/root http://sourceforge.net/projects/dcm4che/files/dcm4chee/2.17.1/dcm4chee-2.17.1-mysql.zip && \
unzip -q /root/dcm4chee-2.17.1-mysql.zip && \
DCM_DIR=$DCM4CHEE_TEMP/dcm4chee-2.17.1-mysql && \
wget --directory-prefix=/root http://colocrossing.dl.sourceforge.net/project/jboss/JBoss/JBoss-4.2.3.GA/jboss-4.2.3.GA-jdk6.zip && \
unzip -q /root/jboss-4.2.3.GA-jdk6.zip && \
JBOSS_DIR=$DCM4CHEE_TEMP/jboss-4.2.3.GA && \
wget --directory-prefix=/root http://sourceforge.net/projects/dcm4che/files/dcm4chee-arr/3.0.11/dcm4chee-arr-3.0.11-mysql.zip && \
unzip -q /root/dcm4chee-arr-3.0.11-mysql.zip  && \
ARR_DIR=$DCM4CHEE_TEMP/dcm4chee-arr-3.0.11-mysql && \
rm -rf /root/*.zip && \
$DCM_DIR/bin/install_jboss.sh jboss-4.2.3.GA > /dev/null && \
$DCM_DIR/bin/install_arr.sh dcm4chee-arr-3.0.11-mysql > /dev/null && \

# Patch the JPEGImageEncoder issue for the WADO service
sed -e "s/value=\"com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageWriter\"/value=\"com.sun.image.codec.jpeg.JPEGImageEncoder\"/g" < $DCM_DIR/server/default/conf/xmdesc/dcm4chee-wado-xmbean.xml > dcm4chee-wado-xmbean.xml && \
mv dcm4chee-wado-xmbean.xml $DCM_DIR/server/default/conf/xmdesc/dcm4chee-wado-xmbean.xml && \

# Update environment variables
echo "\
JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64\n\
PATH=\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\n\
" > /etc/environment && \

# clean up apt etc....
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

Link to comment

Dude, you totally rock. My current contract ends in a few months and I will get home to play with this. To test it you can set up a DICOM workstation and get some sample images off the web. I recommend Osirix but it is only MacOS so an alternative is a demo of ClearCanvas.

 

 

Link to comment

Dude, you totally rock. My current contract ends in a few months and I will get home to play with this. To test it you can set up a DICOM workstation and get some sample images off the web. I recommend Osirix but it is only MacOS so an alternative is a demo of ClearCanvas.

 

 

it still needs modification of the startup scripts in that other docker and a script to check for existing databases and if they don't exist, create them.

 

 

Link to comment

I've put it into my beta repo, it really needs someone who knows this software to take a look at it, I wouldn't even know where to begin with running it.

 

The default password is admin/admin

 

the webui link in dockerman takes you to the "records interface" there is another interface which seems to be for settings etc... at

 

/jmx-console

Link to comment

The databases and the dcm4chee setup are made inside the image when built on dockerhub. When you run the container locally for the first time, they are copied to local storage. So if anything ever cocks up (or you just want to test it out on dummy data etc...) , if you delete the contents of the database and dicom folders on local storage and restart the container, it takes you back to a virgin install again.

Link to comment

I may have to play with this DCM4CHEE docker. The GUI is often the sticking point of many of these open-source PACS. They can be very difficult to use and set up. As you mentioned, Osirix is a terrific alternative. You could always try loading a MacOS VM and load it on there.

Link to comment

I've rebuilt the whole thing again, if you build it from git you can change two variables to select folders for the databases and the dcm4chee files and with the variables i've used everything gets changed automatically.

 

There's also a placeholder output volume called IMAGES in the root.

 

I've also swapped out runit in favour of supervisor, both the database and dcm4chee run as nobody:users, if you take out this section here from the Dockerfile, you take out the unraid specifics and it becomes portable.

 

# Fix a Debianism of the nobody's uid being 65534
RUN usermod -u 99 nobody && \
usermod -g 100 nobody && \

 

(just remember to add the RUN back in to the next command in the Dockerfile)

 

 

git here.

 

https://github.com/sparklyballs/pacs

 

Link to comment
  • 1 year later...
  • 3 years later...
  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.