21
I Use This!
Activity Not Available

News

Analyzed 3 months ago. based on code collected 4 months ago.
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]