|
Posted
over 13 years
ago
by
Nakull
← Older revision
Revision as of 08:27, 24 May 2012
Line 90:
Line 90:
===XML generation=== ===XML generation===
+* Understanding the implementation of the gdcmReader and the classes which it uses.
+* Examples to read
... [More]
sample DICOM files using the reader class
* Getting an idea about how to generate tags for some of the easier elements first. * Getting an idea about how to generate tags for some of the easier elements first.
* Thinking of solutions to handle the Vr : UN element. * Thinking of solutions to handle the Vr : UN element.
[Less]
|
|
Posted
over 13 years
ago
by
Nakull
← Older revision
Revision as of 08:27, 24 May 2012
Line 90:
Line 90:
===XML generation=== ===XML generation===
+* Understanding the implementation of the gdcmReader and the classes which it uses.
+* Examples to read
... [More]
sample DICOM files using the reader class
* Getting an idea about how to generate tags for some of the easier elements first. * Getting an idea about how to generate tags for some of the easier elements first.
* Thinking of solutions to handle the Vr : UN element. * Thinking of solutions to handle the Vr : UN element.
[Less]
|
|
Posted
over 13 years
ago
by
Nakull
← Older revision
Revision as of 08:27, 24 May 2012
Line 90:
Line 90:
===XML generation=== ===XML generation===
+* Understanding the implementation of the gdcmReader and the classes which it uses.
+* Examples to read
... [More]
sample DICOM files using the reader class
* Getting an idea about how to generate tags for some of the easier elements first. * Getting an idea about how to generate tags for some of the easier elements first.
* Thinking of solutions to handle the Vr : UN element. * Thinking of solutions to handle the Vr : UN element.
[Less]
|
|
Posted
over 13 years
ago
by
Nakull
Created page with 'My forked repository - https://github.com/Nakull/GDCM'
New pageMy forked repository -
https://github.com/Nakull/GDCM
|
|
Posted
over 13 years
ago
by
Nakull
Background Work:
← Older revision
Revision as of 10:59, 17 May 2012
(One intermediate revision not shown)Line 71:
Line 71:
DICOM -> XML -> XSD validation DICOM -> XML -> XSD validation
+
+==Student==
+
... [More]
+This is the area where I am putting my notes, with the details of what i am working on and the progress made till now.
+
+===Related Research===
+
+====XML output====
+
+* Looking at the XML files being generated by dcmtk.
+* Working on generating XML files from sample data, to get an exact idea of what is expected as the end result.
+
+====Libraries====
+
+* Looking at possible libraries which can be used - TinyXML , Xerces are the major options in my mind.
+* The selection of the library keeping in mind ease of functionality plus the option to do direct XSD validation on DICOM infoset.(such as mapping it to the DOM structure available in both these libraries and then doing direct validation).
+
+===XML generation===
+
+* Getting an idea about how to generate tags for some of the easier elements first.
+* Thinking of solutions to handle the Vr : UN element.
+* Handling PixelData
+
+===XSD Validation===
+
+* Looking at how GDCM generates XML infoset automatically.
+* Making use of it to make XSD creation significantly easier.
+
+===Background Work===
+
+* Building GDCM on unix env.
+* Browsing the git repository.
+* Familiarizing myself with the prevelant coding standards and practices.
+* Reading docs from previous year GSoC's etc. on the sourceforge mediawiki.
== Refs == == Refs ==
[Less]
|
|
Posted
over 13 years
ago
by
Nakull
Background Work:
← Older revision
Revision as of 10:59, 17 May 2012
(One intermediate revision not shown)Line 71:
Line 71:
DICOM -> XML -> XSD validation DICOM -> XML -> XSD validation
+
+==Student==
+
... [More]
+This is the area where I am putting my notes, with the details of what i am working on and the progress made till now.
+
+===Related Research===
+
+====XML output====
+
+* Looking at the XML files being generated by dcmtk.
+* Working on generating XML files from sample data, to get an exact idea of what is expected as the end result.
+
+====Libraries====
+
+* Looking at possible libraries which can be used - TinyXML , Xerces are the major options in my mind.
+* The selection of the library keeping in mind ease of functionality plus the option to do direct XSD validation on DICOM infoset.(such as mapping it to the DOM structure available in both these libraries and then doing direct validation).
+
+===XML generation===
+
+* Getting an idea about how to generate tags for some of the easier elements first.
+* Thinking of solutions to handle the Vr : UN element.
+* Handling PixelData
+
+===XSD Validation===
+
+* Looking at how GDCM generates XML infoset automatically.
+* Making use of it to make XSD creation significantly easier.
+
+===Background Work===
+
+* Building GDCM on unix env.
+* Browsing the git repository.
+* Familiarizing myself with the prevelant coding standards and practices.
+* Reading docs from previous year GSoC's etc. on the sourceforge mediawiki.
== Refs == == Refs ==
[Less]
|
|
Posted
over 13 years
ago
by
Nakull
Background Work:
← Older revision
Revision as of 10:59, 17 May 2012
(One intermediate revision not shown)Line 71:
Line 71:
DICOM -> XML -> XSD validation DICOM -> XML -> XSD validation
+
+==Student==
+
... [More]
+This is the area where I am putting my notes, with the details of what i am working on and the progress made till now.
+
+===Related Research===
+
+====XML output====
+
+* Looking at the XML files being generated by dcmtk.
+* Working on generating XML files from sample data, to get an exact idea of what is expected as the end result.
+
+====Libraries====
+
+* Looking at possible libraries which can be used - TinyXML , Xerces are the major options in my mind.
+* The selection of the library keeping in mind ease of functionality plus the option to do direct XSD validation on DICOM infoset.(such as mapping it to the DOM structure available in both these libraries and then doing direct validation).
+
+===XML generation===
+
+* Getting an idea about how to generate tags for some of the easier elements first.
+* Thinking of solutions to handle the Vr : UN element.
+* Handling PixelData
+
+===XSD Validation===
+
+* Looking at how GDCM generates XML infoset automatically.
+* Making use of it to make XSD creation significantly easier.
+
+===Background Work===
+
+* Building GDCM on unix env.
+* Browsing the git repository.
+* Familiarizing myself with the prevelant coding standards and practices.
+* Reading docs from previous year GSoC's etc. on the sourceforge mediawiki.
== Refs == == Refs ==
[Less]
|
|
Posted
over 13 years
ago
by
Nakull
Background Work:
← Older revision
Revision as of 10:59, 17 May 2012
(One intermediate revision not shown)Line 71:
Line 71:
DICOM -> XML -> XSD validation DICOM -> XML -> XSD validation
+
+==Student==
+
... [More]
+This is the area where I am putting my notes, with the details of what i am working on and the progress made till now.
+
+===Related Research===
+
+====XML output====
+
+* Looking at the XML files being generated by dcmtk.
+* Working on generating XML files from sample data, to get an exact idea of what is expected as the end result.
+
+====Libraries====
+
+* Looking at possible libraries which can be used - TinyXML , Xerces are the major options in my mind.
+* The selection of the library keeping in mind ease of functionality plus the option to do direct XSD validation on DICOM infoset.(such as mapping it to the DOM structure available in both these libraries and then doing direct validation).
+
+===XML generation===
+
+* Getting an idea about how to generate tags for some of the easier elements first.
+* Thinking of solutions to handle the Vr : UN element.
+* Handling PixelData
+
+===XSD Validation===
+
+* Looking at how GDCM generates XML infoset automatically.
+* Making use of it to make XSD creation significantly easier.
+
+===Background Work===
+
+* Building GDCM on unix env.
+* Browsing the git repository.
+* Familiarizing myself with the prevelant coding standards and practices.
+* Reading docs from previous year GSoC's etc. on the sourceforge mediawiki.
== Refs == == Refs ==
[Less]
|
|
Posted
over 13 years
ago
by
Malat
Problem 1:
New page== Mentor ==
This section is where I will be putting notes about this project. See [[GDCM_Summer_of_Code_2012#Export_From.2FTo_XML ]]
=== XML Output ===
There should be some work done to study exactly what the XML output
... [More]
should look like. Some tools such as dcm2xml are producing an XML output, but this is not compliant with what the DICOM commitee describes.
ref:
Supp 118 Application Hosting
I would suggest some time be spent on manually generating XML samples from say ~10 images from [http://gdcm.git.sourceforge.net/git/gitweb.cgi?p=gdcm/gdcmData;a=summary gdcmData] (cd gdcm/Testing/Data)
==== (7fe0,0010) Pixel Data ====
This will be the most difficult DataElement to write. It can support many forms. For example when encoded as raw format one can have \0 char. Which is illegal for XML. We will need to encode the PixelData as mime64 maybe ?
What if the Pixel Data is encoded as J2K. We could store that as an external pixeldata.j2k file. Maybe some XSD validator will allow validation of *.j2k using external codec, who knows ?
=== XML generation ===
A new function in gdcm::DataElement, eg 'WriteXML(std::ostream&)' should be added to allow tree traversal of the gdcm::DataSet to be able to write as XML.
One should really pay attention that some gdcm::DataElement might be be writable as XML easily. Things to watch out are VR::UN DataElement. What if the DataElement is Vr::UN, with a private tags and there is no known solution to what how to represent that.
the worse case would be where DataElement is in fact a Vr::SQ
==== Problem 1 ====
When using VR::UN it is difficult to interpret the situation. For example compare dcmtk vs gdcm output:
$ dcmdump AMIInvalidPrivateDefinedLengthSQasUN.dcm | grep 0009,1110
(0009,1110) UN ff\fe\e0\00\00\00\0c\0c\00\28\00\02\55\53\00\02\00\01\00\28\00\04... # 3092, 1 Unknown Tag & Data
vs GDCM:
$ gdcmdump AMIInvalidPrivateDefinedLengthSQasUN.dcm | grep 0009,1110
(0009,1110) UN (SQ) # 3092,1 GE IIS Thumbnail Sequence
In one case GDCM has the proper private dictionary to interpret the Vr::UN, but in the other case DCMTK, we do not know (and we cant) that 0009,1110 is in fact a Sequence.
==== Problem 2 ====
What if we find a Vr::UN element such as :
$ gdcmdump undefined_length_un_vr.dcm
(2005,1382) UN (UL) 1 # 4,1 ?
(2005,1398) UN (CS) [NO] # 2,1 ?
What should we do ? In the case 2005,1398 it is easy to write the string 'NO' because it is the same in all represnetation (binary & ASCII). The other one is more difficult.
=== DTD Validation ===
DTD is easy. It could be written by hand once and for all. It only need to be updated is the standard add new elements (eg: VR::OL ...)
=== XSD Validation ===
Because the DICOM standard is really huge. GDCM has a way to automatically generates XML infoset representing the standard, see PS 3.3 as XML:
http://gdcm.git.sourceforge.net/git/gitweb.cgi?p=gdcm/gdcm;a=history;f=Source/InformationObjectDefinition/Part3.xml;h=0bab6faebc800222e9b5a68f595d23d05789d312;hb=HEAD
now that we have this XML representation we should be able to write XSLT(2) script to be able to generates DTD and/or XSD automatically. This would be muh more usefull than manually writting our own DTD/XSD by hand.
Because the format of Part3.xml is not cleary defined, we can also improve the file Part3.xml directly if this ease the DTD/XSD generation later on.
=== XML Infoset ===
One super nice feature, yes read feature, would be to support GDCM as a pseudo infoset. Therefore we could load the DICOM file using a gdcm::File/gdcm::DataSet and then do XSD validation directly on this Infoset. Otherwise the easier solution would be to the following process:
DICOM -> XML -> XSD validation
== Refs ==
* http://www.google-melange.com/gsoc/project/google/gsoc2012/nakull/31001
[[Category:GSOC]]
{{GDCM/Template/Footer}} [Less]
|
|
Posted
over 13 years
ago
by
Mmroden
Patient Privacy (Password Protection):
← Older revision
Revision as of 18:56, 24 April 2012
Line 50:
Line 50:
'''References''': '''References''':
+* [http://medical.nema.org/Dicom/2011/11_15pu.pdf DICOM 3.15-2011
... [More]
, Security and System Management]
* [ftp://medical.nema.org/medical/dicom/final/cp895_ft.pdf DICOM Correction Proposal 895: Password based encryption] * [ftp://medical.nema.org/medical/dicom/final/cp895_ft.pdf DICOM Correction Proposal 895: Password based encryption]
* http://gdcm.sourceforge.net/html/gdcmanon.html * http://gdcm.sourceforge.net/html/gdcmanon.html
Line 63:
Line 64:
'''Mentor''': '''Mentor''':
-Mathieu Malaterre+Mark Roden
== Digital Signature == == Digital Signature ==
[Less]
|