<H2>Command Line Utilities :</H2>
<UL>
<LI> <b>PrintFile</b>
+ <font size=-1>
<pre>
Displays the header of any kind of ACR-NEMA/PAPYRUS/DICOM File
usage: PrintFile filein=fileName [level=n]
debug : user wants to run the program in 'debug mode'
usage : user wants to display usage
</pre>
+ </font>
<LI> <b>Anonymize</b>
+ <font size=-1>
<pre>
Anonymizes a full gdcm-readable Dicom image
Warning : probably segfaults if pixels are not gdcm readable.
debug : user wants to run the program in 'debug mode'
usage : user wants to display usage
</pre>
+ </font>
<LI> <b>AnonymizeNoLoad</b>
+ <font size=-1>
<pre>
Anonymizes a gdcm-readable Dicom image even if pixels aren't gdcm readable
- Warning : Warning : the image is overwritten;
+ Warning : the image is overwritten;
to preserve its integrity, use a copy.
usage: AnonymizeNoLoad {filein=inputFileName|dirin=inputDirectoryName}
[rubout=listOfPrivateElementsToRubOut]
debug : user wants to run the program in 'debug mode'
usage : user wants to display usage
</pre>
+ </font>
<LI> <b>ReWrite</b>
+ <font size=-1>
<pre>
- Re writes a full gdcm-readable Dicom image (compressed Pixels are expanded)
+ Reads and rewrites a full gdcm-readable Dicom image (compressed Pixels are expanded)
(usefull when the file is not very straight).
usage: ReWrite filein=inputFileName fileout=anonymizedFileName
[mode=write mode] [rgb]
debug : user wants to run the program in 'debug mode'
usage : user wants to display usage
</pre>
+ </font>
<LI> <b>PrintDicomDir</b>
+ <font size=-1>
<pre>
Displays the tree-like structure of a DICOMDIR File
usage: PrintDicomDir filein=fileName [detail=n] [level=n] [debug] [usage]
debug : user wants to run the program in 'debug mode'
usage : user wants to display usage
</pre>
+ </font>
<LI> <b>MakeDicomDir</b>
- <pre>
+ <font size=-1>
+ <pre>
Explores recursively the given directory, makes the relevant DICOMDIR
and writes it as 'NewDICOMDIR'
usage: MakeDicomDir dirname=rootDirectoryName
debug : user wants to run the program in 'debug mode'
usage : user wants to display usage
</pre>
+ </font>
<LI> <b>AnonymizeDicomDir</b>
+ <font size=-1>
<pre>
Anonymizes a gdcm-readable DICOMDIR even when some 'Objects'
are not yet taken into account
debug : user wants to run the program in 'debug mode'
usage : user wants to display usage
</pre>
+ </font>
+ <LI> <b>PatchHeader</b>
+ <font size=-1>
+ <pre>
+ Allows aware user to patch a gdcm-parsable image header, without
+ loading image.
+ Warning : the image(s) is/are overwritten
+ to preserve image(s) integrity, use a copy.
+ WARNING : *NO CHECK* is performed on the new values.
+ Use only if you are sure the original values are wrong
+ *and* your values are right...
+ usage: PatchHeader {filein=inputFileName|dirin=inputDirectoryName}
+ [ { [size=] | [rows=][columns=] } ] [planes=]
+ [bitsallocated=] [bitsstored=]
+ [highbit=] [samplesperpixel=]
+ [pixelrepresentation=] [samplesperpixel=]
+ [ { [noshadowseq] | [noshadow][noseq] } ] [debug]
+
+ inputFileName : Name of the (single) file user wants to modify
+ inputDirectoryName : user wants to modify *all* the files
+ within the directory
+ newsize : new size, to overwrite old (wrong) one
+ or
+ rows : new Rows number, to overwrite old (wrong) one
+ columns : new Columns number, to overwrite old (wrong) one
+ planes : new Planes number, ...
+ bitsallocated : new Bits Allocated number, ...
+ bitsstored : new Bits Stored number, ...
+ highbit : new High Bit number, ...
+ samplesperpixel : new Samples Per Pixel, ...
+ pixelrepresentation : new Pixel Representation, ...
+
+ noshadowseq: user doesn't want to load Private Sequences
+ noshadow : user doesn't want to load Private groups (odd number)
+ noseq : user doesn't want to load Sequences
+ debug : user wants to run the program in 'debug mode'
+ usage : user wants to display usage
+ </pre>
+ </font>
</UL>
</BODY>
</HTML>
<A HREF="http://public.kitware.com/dashboard.php?name=gdcm">
Kitware's dashboard</A>
under the name of your machine (uname). For ease of use you can
-change the BUILDNAME variable in your <TT>CMakeCache.txt</TT> to something more
-accurate such as: GDCM-my_machine_name. The entry will then be within
-the "Experimental Builds" entry.<BR>
+change the <TT>BUILDNAME</TT> variable in your <TT>CMakeCache.txt</TT>
+to something more accurate such as: GDCM-my_machine_name. The entry will
+then be within the "Experimental Builds" entry.<BR>
<b>UPDATE:</b>Since GDCM moved to its own dashboard there is no possible
collision with other project. You can then send dashboard without having
-to properly prepend 'GDCM-' to your cmake BUILDNAME variable. But the
+to properly prepend 'GDCM-' to your cmake <TT>BUILDNAME</TT> variable. But the
Win32, mingw, gcc, SunOS is still very important...
<UL>
<LI> Decoders
<UL>
- <LI> gdcm doesn't read yet JPEG-LS encoded files.
+ <LI> gdcm doesn't read yet <TT>JPEG-LS</TT> encoded files.
<UL>
- We said 'JPEG-LS', not Lossless Jpeg ...<br>
- [JPEG-LS is the basis for new lossless/near-lossless compression
- standard for continuous-tone images intended for JPEG2000.
+ We said '<TT>JPEG-LS</TT>', not Lossless Jpeg ...<br>
+ [<TT>JPEG-LS</TT> is the basis for new lossless/near-lossless compression
+ standard for continuous-tone images intended for <TT>JPEG2000</TT>.
The standard is based on the LOCO-I algorithm
(LOw COmplexity LOssless COmpression for Images)
developed at Hewlett-Packard Laboratories]
</UL>
- <LI> gdcm doesn't read yet all JPEG2000 encoded files.
+ <LI> gdcm doesn't read yet all <TT>JPEG2000</TT> encoded files.
<UL>
But we are working on it (a lot of troubles with Jasper).
</UL>
- <LI> gdcm doesn't read yet MPEG2 encoded files.
+ <LI> gdcm doesn't read yet <TT>MPEG2</TT> encoded files.
<UL>
But we are working on it.
</UL>
</UL>
-<LI>Reader
+ <LI>Reader
<UL>
<LI> Allow user to tell <TT>gdcm::Document</TT> constructor he just wants
to load a given list of <TT>DocEntries</TT>
(to save CPU time and RAM space)
+ <LI> Allow user to tell <TT>gdcm::Document</TT> constructor he wants
+ to force the loading of a given list of <TT>DocEntries</TT>,
+ even if there length exceeds the current
+ <TT>MAX_SIZE_LOAD_ELEMENT_VALUE</TT>.
<LI> Allow 'frame by frame' reading (should be helpfull for huge
multiframe images)
<LI> Allow subvolume selection / frames selection before reading.
<a href="uml-gdcm.pdf">gdcm UML Class Diagram</a> current version.
<br><br>
</UL>
-
+ <LI> <A HREF="News.html#missing">Missing Features</a>
<LI> New Features
<UL>
<LI> <TT>AnonymizeNoLoad</TT> used with <TT>dirin=inputDirectoryName</TT>
gdcm::File *f = new gdcm::File(fileName);</TT> <br>
<br>
<LI> User is now allowed to tell <TT>gdcm::DicomDir</TT> constructor
- he doesn't want to deal with <TT>SeqEntry</TT>
he doesn't want to deal with <TT>SeqEntry</TT>
(every time it's possible) <br> and/or he doesn't
want to deal with <TT>Shadow groups</TT> (every time it's
<LI> A.P.I. breaking modifications (since previous version : <TT>1.0</TT>)
<UL>
<LI> NEVER more API breaking modifications !!!
-
+ <br><br>
</UL>
<LI> Known bugs
causes troubles, when there are some <TT>SQ</TT> belonging to a
<TT>Shadow Group</TT>. <br>
Better you use <TT>Explicit Value Representation</TT> writting mode ...
+ <LI> Troubles on 'Big endian' processors (i.e. Apple/Motorola, SunSparc
+ ...) when writting 16 Bits images.
</UL>
</UL>