Posted
over 12 years
ago
by
Malat
Downloads:
← Older revision
Revision as of 08:14, 18 September 2012
(2 intermediate revisions not shown)Line 30:
Line 30:
=== PDF Version === === PDF Version ===
-* http://gdcm.sourceforge.net/2.2/gdcm-2.2.0.pdf+*
... [More]
http://sourceforge.net/projects/gdcm/files/gdcm%202.x/GDCM%202.2.1/gdcm-2.2.1.pdf
== Downloads == == Downloads ==
directly: directly:
-* https://sourceforge.net/projects/gdcm/files/gdcm%202.x/GDCM%202.2.0/+* http://sourceforge.net/projects/gdcm/files/gdcm%202.x/GDCM%202.2.1/
or the parent directory: or the parent directory:
-* https://sourceforge.net/projects/gdcm/files/gdcm%202.x/+* http://sourceforge.net/projects/gdcm/files/gdcm%202.x/
== tags == == tags ==
Line 44:
Line 44:
See here [[GDCM Release 2.2.0]] See here [[GDCM Release 2.2.0]]
+
+=== GDCM 2.2.1 (2012/09/18) ===
+
+See here [[GDCM Release 2.2.1]]
{{GDCM/Template/Footer}} {{GDCM/Template/Footer}}
[Less]
|
Posted
over 12 years
ago
by
Malat
Downloads:
← Older revision
Revision as of 08:14, 18 September 2012
(2 intermediate revisions not shown)Line 30:
Line 30:
=== PDF Version === === PDF Version ===
-* http://gdcm.sourceforge.net/2.2/gdcm-2.2.0.pdf+*
... [More]
http://sourceforge.net/projects/gdcm/files/gdcm%202.x/GDCM%202.2.1/gdcm-2.2.1.pdf
== Downloads == == Downloads ==
directly: directly:
-* https://sourceforge.net/projects/gdcm/files/gdcm%202.x/GDCM%202.2.0/+* http://sourceforge.net/projects/gdcm/files/gdcm%202.x/GDCM%202.2.1/
or the parent directory: or the parent directory:
-* https://sourceforge.net/projects/gdcm/files/gdcm%202.x/+* http://sourceforge.net/projects/gdcm/files/gdcm%202.x/
== tags == == tags ==
Line 44:
Line 44:
See here [[GDCM Release 2.2.0]] See here [[GDCM Release 2.2.0]]
+
+=== GDCM 2.2.1 (2012/09/18) ===
+
+See here [[GDCM Release 2.2.1]]
{{GDCM/Template/Footer}} {{GDCM/Template/Footer}}
[Less]
|
Posted
almost 13 years
ago
by
Malat
What is gdcmData ?:
← Older revision
Revision as of 18:42, 5 September 2012
Line 239:
Line 239:
$ git clone git://gdcm.git.sourceforge.net/gitroot/gdcm/gdcmData $ git clone
... [More]
git://gdcm.git.sourceforge.net/gitroot/gdcm/gdcmData
+
+Note: if you use git clone --recursive (see [[Git]]) to retrieve GDCM, then you do not need to explicitely download gdcmData.
+
+=== What is gdcmData (advanced!) ===
All those DICOM files can be also be retrieved via sf.net file server: All those DICOM files can be also be retrieved via sf.net file server:
[Less]
|
Posted
almost 13 years
ago
by
Malat
What is gdcmData ?:
← Older revision
Revision as of 18:42, 5 September 2012
Line 239:
Line 239:
$ git clone git://gdcm.git.sourceforge.net/gitroot/gdcm/gdcmData $ git clone
... [More]
git://gdcm.git.sourceforge.net/gitroot/gdcm/gdcmData
+
+Note: if you use git clone --recursive (see [[Git]]) to retrieve GDCM, then you do not need to explicitely download gdcmData.
+
+=== What is gdcmData (advanced!) ===
All those DICOM files can be also be retrieved via sf.net file server: All those DICOM files can be also be retrieved via sf.net file server:
[Less]
|
Posted
almost 13 years
ago
by
Malat
What is gdcmData ?:
← Older revision
Revision as of 18:42, 5 September 2012
Line 239:
Line 239:
$ git clone git://gdcm.git.sourceforge.net/gitroot/gdcm/gdcmData $ git clone
... [More]
git://gdcm.git.sourceforge.net/gitroot/gdcm/gdcmData
+
+Note: if you use git clone --recursive (see [[Git]]) to retrieve GDCM, then you do not need to explicitely download gdcmData.
+
+=== What is gdcmData (advanced!) ===
All those DICOM files can be also be retrieved via sf.net file server: All those DICOM files can be also be retrieved via sf.net file server:
[Less]
|
Posted
almost 13 years
ago
by
Malat
What is gdcmData ?:
← Older revision
Revision as of 18:42, 5 September 2012
Line 239:
Line 239:
$ git clone git://gdcm.git.sourceforge.net/gitroot/gdcm/gdcmData $ git clone
... [More]
git://gdcm.git.sourceforge.net/gitroot/gdcm/gdcmData
+
+Note: if you use git clone --recursive (see [[Git]]) to retrieve GDCM, then you do not need to explicitely download gdcmData.
+
+=== What is gdcmData (advanced!) ===
All those DICOM files can be also be retrieved via sf.net file server: All those DICOM files can be also be retrieved via sf.net file server:
[Less]
|
Posted
almost 13 years
ago
by
Malat
changed group membership for User:Romulopinho from (none) to editor
New page
|
Posted
almost 13 years
ago
by
Nakull
Show changes
|
Posted
almost 13 years
ago
by
Nakull
Show changes
|
Posted
almost 13 years
ago
by
Nakull
← Older revision
Revision as of 11:32, 9 July 2012
(3 intermediate revisions not shown)Line 166:
Line 166:
I am first modifying it to meet that criterion and then use an XSLT script to generate the XSD. I am first
... [More]
modifying it to meet that criterion and then use an XSLT script to generate the XSD.
Also, Direct infoset validation sounds feasible but slightly tricky. I am looking more into it. Also, Direct infoset validation sounds feasible but slightly tricky. I am looking more into it.
+
+
+==='''Module DICOM -> XML'''===
+
+===='''Overview'''====
+For printing to XML I have created a class XMLPrinter in MediaStorageAndFileFormat. I have also made a command line utility in Applications/Cxx.
+
+The main files which have been changed are -->
+
+* gdcmByteValue.h
+* gdcmByteValue.cxx
+* gdcmXMLPrinter.h
+* gdcmXMLPrinter.cxx
+* CMakeLists.txt(in MediaStorageAndFileFormat)
+* gdcmElement.h( commented an assert)
+* gdcmxml
+* CMakeLists.txt(in Applications/Cxx)
+
+: There were earlier changes in the DataSet and DataElement classes when I was adding code in those classes.
+But I have rectified those changes in my repository as well.
+
+: The files produced by gdcmxml are in strict compliance with the Native DICOM model.
+
+
+===='''Attribute Printing'''====
+
+: Attributes including Tag, VR, Keyword, PrivateCreator are printed with each DICOM data element. The keyword, VR are printed after lookup from relevant dict.
+DicomAttribute = element DicomAttribute {
+Tag, VR, Keyword?, PrivateCreator?,
+( BulkData | Value+ | Item+ | PersonName+ )?
+}
+
+eg.
+
+
+===='''Value Printing'''====
+
+Three New functions have been added in ByteValue class.
+
+These being --
+ * void PrintPN_XML(std::ostream &os) const;
+ * void PrintASCII_XML(std::ostream &os) const;
+ * void PrintHex_XML(std::ostream &os) const;
+
+
+===='''Handling of PN'''====
+
+The PN VR is handled differently as prescribed in the standard. Alphabetic , Ideographic and Phonetic names have been handled with all components.
+PersonName = element PersonName {
+Number,
+element SingleByte { NameComponents }?,
+element Ideographic { NameComponents }?,
+element Phonetic
+{ NameComponents }?
+}
+
+NameComponents =
+element FamilyName {xsd:string}?,
+element GivenName {xsd:string}?,
+element MiddleName {xsd:string}?,
+element NamePrefix {xsd:string}?,
+element NameSuffix {xsd:string}?
+
+
+===='''Option to load Bulk Data'''====
+
+By default for VR's like OB, OW the Value is not loaded , only a <BulkData> child tag is created with UID attribute. As discussed this UID is created afresh for each element.
+
+If the user wants he can use the -B option to load the Value itself. This is turn Sets the PrintStyle to allow this to happen.
+However this is not recommended as this makes the the XML files difficult to parse as they become exceedingly huge.
+
+
+===='''Value Printing according to schema'''====
+
+Value tags equal to the VM are created and numbered serially, one for each instance of the value.
+
+Value = element Value { Number, xsd:string }
+
+eg.
+
+
+Fragments, Items have been handled separately. A separate function is there to handle VR::SQ.
+
+Item and Sequence Delimiter tags have also been added where length is undefined.
+
+
+===='''Invalid XML characters'''=====
+
+For the time being, at the time of printing keywords I have put checks to detect & < > ' " . Instead these characters have been escaped.
+(& was frequently used in the dict keywords)
+
+
+===='''Application :: gdcmxml'''====
+
+I have added an application which follows the template of the other apps like gdcmdump and has various options like print version, help etc.
+
+You can also set LoadBulkData option as discussed.
+
+===='''NativeDICOM namespace'''====
+
+Actually the schema referred to a namespace URL which did not exist.I had commented that in the schema when I had tried validating.
+I have now included the appropriate namespace "http://dicom.nema.org/PS3.19/models/NativeDICOM".
+
+
+===='''Validation'''====
+
+Using simple scripting I had converted all the files in gdcmData into XML. Then I used another small script to validate all of them with jing.
+There were minor issues like Hex Values Printing should be in upper case etc.
+While Printing Fragments and SQ , directly nesting Elements within each other is not allowed. So I had to first a write an Item tag(with a serial number)
+and then include the nested Data Elements within it.
+I have removed all the problems and all the XML files can be easily validated without issues.
+
+===='''Character Set Encoding'''====
+
+I have converted some Encodings into the appropriate XML ones.
+eg. "ISO_IR 100" -> "ISO-8859-1"
+I am working on some others like those in D Clunie's chartests.
+If the encoding does not match with those recognized by GDCM or the formatting is incorrect, the default printed is "UTF-8"
+The XML standard(http://www.w3.org/TR/REC-xml/#charencoding) says that "an XML processor is required to read only entities in the UTF-8 and UTF-16 encodings" although most read a variety of others as well.
+I presume this is the reason why dcmtk have stuck with UTF-8 as the default.
+
+
+===='''Testing'''====
+
+I have created various XML files from the DICOM files present in gdcmData. I have include some as a sample for you to view.
+
+
+===='''Issues'''====
+
+There was a slight issue in gdcmElement.h (which I was using for Printing Binary values).
+
+assert( idx < Length ) is not working , so I have commented it for the time being.
+
+PN handling was slightly tricky so it might be buggy at some places. The standard itself is not clear at some places.
+I have handled it separately and I feel it should be good enough.
+
+There has been some problem in writing ELSCINT1_JP2vsJ2K.dcm to XML.
+The rest of the files have no problem, both in conversion and validation.
+I am working on it and hopefully should resolve it soon.
+
== Refs == == Refs ==
[Less]
|