changeset 103:af1e13dac7e6

raw dicom in matlab
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 13 Jun 2017 20:35:14 +0200
parents 5ffea09f47a3
children 09b0a61f1942
files Sphinx/source/faq/matlab.rst
diffstat 1 files changed, 41 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/Sphinx/source/faq/matlab.rst	Tue Jun 13 11:22:36 2017 +0200
+++ b/Sphinx/source/faq/matlab.rst	Tue Jun 13 20:35:14 2017 +0200
@@ -40,3 +40,44 @@
   # Annotate the graph with the patient name and ID
   tags = loadjson(urlread([ URL '/instances/' instance '/tags?simplify' ]));
   title([ 'This is a slice from patient ' tags.PatientID ' (' tags.PatientName ')' ])
+
+  
+Opening the raw DICOM file
+--------------------------
+
+Here is another sample Matlab/Octave script explaining how to download
+the raw DICOM file corresponding to one given instance stored in
+Orthanc, then decode this DICOM file using Matlab/Octave::
+
+  SERIES = 'ae164c84-e5bd0366-ba937a6d-65414092-f294d6b6';
+  URL = 'http://demo.orthanc-server.com/';
+
+  # Get information about the instances in this DICOM series
+  instances = loadjson(urlread([ URL '/series/' SERIES '/instances' ]));
+
+  # Select one slice from the series
+  instance = instances{1}.ID
+
+  # Download the raw DICOM file and store it as a file named "instance.dcm"
+  urlwrite([ URL '/instances/' instance '/file' ], 'instance.dcm');
+
+  if exist('OCTAVE_VERSION', 'builtin') ~= 0
+    # If running Octave instead of Matlab, load the "dicom" package from Octave Forge
+    pkg load image
+    pkg load dicom
+  endif
+
+  # Decode the downloaded DICOM file
+  im = dicomread('instance.dcm');
+  imagesc(im)
+
+.. highlight:: bash
+
+**Note:** If running Octave, you will have to manually install the
+`dicom package from Octave Forge
+<https://octave.sourceforge.io/dicom/index.html>`__. Download the
+source code of the package, make sure the ``libgdcm2-dev`` and
+``octave-image`` packages are installed (for Ubuntu 16.04), then type
+the following command to install the ``dicom`` package::
+
+  $ octave --no-gui --eval "pkg install ./dicom-0.2.0.tar.gz"