]> Creatis software - gdcm.git/blob - Doc/Website/News.html
7374c23678132b4c23e541386871f61c972dd5f2
[gdcm.git] / Doc / Website / News.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <HTML>
3 <HEAD>
4    <META http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
5    <TITLE>Gdcm News</TITLE>
6 </HEAD>
7
8 <BODY>
9
10 <!#######################################################################>
11 <H1>Gdcm News</a></H1>
12
13 <!#######################################################################>
14 <HR size="1"><ADDRESS style="align: right;"></ADDRESS>
15 <H2>
16    <A CLASS="anchor" NAME="NewsCurrentVersion">
17    <B>Current Version</B></A>
18       <B></B></A>
19 </H2>
20 <UL>
21    <LI>State of the art
22    <UL>    
23       <LI> Final check of the jpeg sub-library: all 'classical' jpeg
24         compressed Dicom files can be read<br>
25       <LI>All the previously gdcm-breaker images are now readable<br>
26       <LI> A huge number of memory leaks removed
27       <LI> Improvement of write process   
28    </UL>
29    <LI> New Features
30 <UL>
31    <LI>
32    <LI>
33 </UL>
34  
35    <LI> A.P.I. breaking modifications (since previous version)
36    <UL>
37       <LI> Use of <TT> namespace</TT> : all the methods formerly called
38           <TT>className::gdcmXxx()</TT> are now called <TT>className::Xxx()</TT>
39       <LI> Removal of accessors <TT>GetXxxByname</TT>, <TT>SetXxxByname</TT> 
40            and <TT>GetXxxByNumber</TT>, <TT>SetXxxByNumber</TT> 
41            replaced by <TT>GetXxx</TT>, <TT>SetXxx</TT>
42       <LI> a <TT>gdcm::Document</TT> is now specialized 
43            in <TT>gdcm::DicomDir</TT> and <TT>gdcm::File</TT>
44    </UL>
45
46    <LI> Missing features
47    <UL>
48       <LI> gdcm doesn't read yet JPEG-LS and JPEG2000 encoded files.
49       <LI> Allow user to tell <TT>gdcm::Document</TT> constructor he doesn't 
50            want to deal with <TT>SeqEntry</TT (every time it's possible)
51       <LI> Allow user to tell <TT>gdcm::Document</TT> constructor he doesn't 
52            want to deal with Shadow groups 
53       <LI> Allow user to tell the Writer he doesn't want to write down
54            <TT>SeqEntry</TT> (if any) 
55       <LI> Allow user to tell the Writer he doesn't want to write down
56            Shadow groups (if any)
57       <LI> <TT>Icon Image</TT> management (Read and Write) 
58       <LI> <TT>DICOMDIR</TT> full management (not limited to
59            <TT> PATIENT</TT>/<TT>STUDY</TT>/<TT>SERIE</TT>/<TT>IMAGE</TT>)
60       <LI> Allow user to add an Entry to the default entry list, for
61            making a <TT>DICOMDIR</TT> from a root directory
62       <LI> 16-bits-LUT Management
63       <LI> Allow parsing the Shadow groups against a user supplied 
64            Private Dicom Dictionary (pfff!...)
65       <LI> An accurate <TT>SerieHelper</TT>
66    </UL>
67
68    <LI> Known bugs
69    <UL>
70       <LI> <TT>DocEntrySet::InsertSeqEntry</TT> never used, never checked ...
71       <LI> 
72    </UL> 
73 </UL>
74
75
76 <br>
77 <pre>
78 For people who get this new release :
79
80 We consider now that :
81 - any dicom related file is a gdcm::Document.
82 - a gdcm::Document can be :
83       - a gdcm::File,     if it contains pixel data,
84       - a gdcm::DicomDir, if it contains only informations 
85                           on the files in a given directory
86
87 - in a gdcm::Document, there are gdcm::DocEntry, that can be :
88      - gdcm::ContentEntry (any entry that has an actual value,
89                            *not* an embedded set of other gdcm::DocEntry)
90                            a gdcm::ContentEntry can be :
91           - gdcm::ValEntry (whose value is std::string representable 
92                             e.g. character values, or integers),
93           - gdcm::BinEntry (whose value is not std::string representable 
94                             e.g. color palettes, overlays, icons , ...)
95      - gdcm::Sequence (no proper 'value', but a set of gdcm::SQItems, 
96                        composed of a set of gdc::DocEntry, recursively)
97  
98 - in a gdcm::DicomDir, we only deal, hierarchically, with :
99      - gdcmPatient
100      - gdcmStudy
101      - gdcmSerie
102      - gdcmImage
103 </pre>
104 You can see <a href="uml-gdcm.pdf">gdcm UML Class Diagram</a>
105
106
107
108
109 <!#######################################################################>
110 <HR size="1"><ADDRESS style="align: right;"></ADDRESS>
111 <H2>
112    <A CLASS="anchor" NAME="NewsVersion0_6">
113       <B>Version 0.6 (June 8 2004)</B></A>
114 </H2>
115 <UL>
116    This version will be used by Insight Tool Kit 
117    (<a href="http://www.itk.org">ITK</a> 1.10) at the beginning of 2005.<br>
118     It's not yet packaged ...<br><br>
119    <LI> The new <TT>gdcmDocument</TT> class is a parent class of 
120        <TT>gdcmHeader</TT> class and <TT>gdcmDicomDir</TT> class.
121    <LI> Massive modifications in the Class Diagram :
122    <UL>
123       <LI> Entries (<TT>gdcmEntry</TT>) are now separated into 
124           <TT>ValEntry</TT> and <TT>SeqEntry</TT> (whose VR =
125           <TT>SQ</TT>)
126       <LI> a <TT>gdcmDocument</TT> is_a <TT>gdcmElementSet</TT>,
127          composed of a set of <TT>gdcmValEntry</TT> 
128          and <TT>gdcmSeqEntry</TT>
129       <LI> a <TT>gdcmSeqEntry</TT> is considered as a set 
130           of <TT>gdcmSQItem</TT>
131       <LI> Dicom Sequences (VR = <TT>SQ</TT>) are now dealt as tree-like 
132           structures within <TT>gdcmSQItem</TT> class.<br>
133           they are considered as a set of <TT>gdcmSQItem</TT>s
134       <LI> a <TT>gdcmSQItem</TT> is_a <TT>gdcmElementSet</TT> 
135   </UL>
136   <LI> Improvement of the jpeg sub-library: jpeg
137         compressed Dicom files (lossless and lossy) 
138   might be read (check-it out)
139 </UL>
140
141 <!#######################################################################>
142 <HR size="1"><ADDRESS style="align: right;"></ADDRESS>
143 <H2>
144    <A CLASS="anchor" NAME="NewsVersion0_4">
145       <B>Version 0.4 (February 6 2004)</B></A>
146 </H2>
147 <UL>
148    <LI> Introduction of a jpeg sub-library: some very simple jpeg-lossy
149         compressed Dicom files might be working (check-it out).
150    <LI> And also, fewer memory leaks, cleaned-up stl usage (should work
151         with gcc-3.x), python disutil installer (see file setup.py)
152         supporting both Swig and vtk wrapping.
153    <LI> Introduction of a RLE (Run-Time Encoding) library
154    <LI> Color images (RGB or Palette Color) are dealt with
155  
156 </UL>
157
158 <!#######################################################################>
159 <HR size="1"><ADDRESS style="align: right;"></ADDRESS>
160 <H2>
161    <A CLASS="anchor" NAME="NewsVersion0_3">
162       <B>Version 0.3 (July 8 2003)</B></A>
163 </H2>
164 <UL>
165    <LI> <TT>gdcmFile</TT> class now enables acces to the data
166        i.e. the image[s] content. Previously only parsing of the
167        Dicom header was available through usage of <TT>gdcmHeader</TT>
168        class.
169    <LI> a <A HREF="http://public.kitware.com/VTK/">VTK</A> plugin
170        of gdcm is now available through the <TT>vtkGdcmReader</TT>
171        vtk class (see it as a vtk wrapper of gdcm), which enables
172        <UL>
173          <LI> Loading of a single image,
174          <LI> Loading of a stack of images from multiple Dicom files,
175          <LI> this class is wrapped for vtkPython (by using native vtk
176               wrappers).
177        </UL>
178    <LI> Introduction of a jpeg sub-library: lossless-jpeg
179         compressed Dicom files work.
180 <LI> <TT>vtkgdcmViewer</TT> allows easy displaying of single/multiframe 
181      GreyLevel/RGB/PaletteColor images
182 </UL>
183
184 <!#######################################################################>
185 <HR size="1"><ADDRESS style="align: right;"></ADDRESS>
186 <H2>
187    <A CLASS="anchor" NAME="NewsVersion0_1">
188       <B>Version 0.1 (April 1 2003)</B></A>
189
190 <!#######################################################################>
191 <HR size="1"><ADDRESS style="align: right;"></ADDRESS>
192 <H2>
193    <A CLASS="anchor" name="NewsVersion0_1">
194       <B>Version 0.0 (March 14 2003)</B></A>
195
196 <HR size="1"><ADDRESS style="align: right;"></ADRESS>
197
198 </BODY>
199 </HTML>