Mercurial > hg > orthanc-book
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"