ITK/Release 4/DICOM/Tcon 2010 10 11: Difference between revisions

From KitwarePublic
< ITK‎ | Release 4‎ | DICOM
Jump to navigationJump to search
 
(19 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= How To Join =
* skype (Mathieu will start conf)
= Attendees =
= Attendees =


* Mathieu Malaterre (CoSMo)
* Mathieu Malaterre (CoSMo)
* Mark Roden (CoSMo)
* Steve Pieper (Isomics)
* Dan Blezek + Bill Ryan (Mayo)


= Topics =
= Topics =
Line 8: Line 15:
** http://github.com/malaterre/ITKDICOM
** http://github.com/malaterre/ITKDICOM
* Should we support streaming ?
* Should we support streaming ?
** Store to disk ?
** Store to disk (easy) ?
** Store to memory ?
** Store to memory (harder) ?
** Drop Presentation Data Value for Pixel Data (requested extent) ?
*** Drop Presentation Data Value for Pixel Data (requested extent) ?
*** JPIP ?
* Interface for Abstract DICOM DataSet /
* Interface for Abstract DICOM DataSet /
** Follow App 118 syntax
** Follow App 118 syntax (see below)
** Very simple interface (eg. [http://www.vtk.org/doc/nightly/html/classvtkMedicalImageProperties.html vtkMedicalImageProperties]). Not extensible
** Very simple interface (eg. [http://www.vtk.org/doc/nightly/html/classvtkMedicalImageProperties.html vtkMedicalImageProperties]). Not extensible
** Flexible solution to handle PMS and CSA:
*** http://sourceforge.net/apps/mediawiki/gdcm/index.php?title=Gdcmdump#SIEMENS_CSA_Header
*** http://sourceforge.net/apps/mediawiki/gdcm/index.php?title=Gdcmdump#Protocol_Data_Block
* C-FIND interface ?
* C-FIND interface ?
** low level DICOM approach: http://www.itk.org/Wiki/DICOM_QueryRetrieve_Explained
** interface for characterset (easy work around only allow UTF-8 interface)


* Implementation details:
* Implementation details:
** Support GDCM ?
** Support GDCM ?
** Support DCMTK ?
** Support DCMTK ?
*** See [http://github.com/commontk/CTK/blob/master/Applications/Testing/Cpp/ctkDICOMApplicationTest1.cpp CTK example store/query/retrieve example using dcmtk]
** Support CTN ?
** Support CTN ?
** Third party ?
** Third party ?
Line 25: Line 39:
** TLS ?
** TLS ?


== App 118 Syntax ==
== SubTopics ==
 
* Relation: itk::Image / itk::DICOMDataSet
** This is a weak relation
** http://www.itk.org/Wiki/ITK_Release_4/Image_Class_Hierarchy_Refactoring
 
*How do we handle 2D DICOM Series loaded in a Single itk::Image ? (one DataSet ? array of dataset ?)
*How do we handle the opposite : 3D image stored as 2D (Eg. Enhanced -> old SOP)
*Typical use case: Applying Gaussian filter on itk::Image, means changing Image Type from ORIGINAL to SECONDARY...
** Should we remove attribute from Image group (0028) ?
** Question: how do we hanlde Overlay stored in Pixel Data unused bits ?
 
== Annex: App 118 Syntax ==


See:
See:
* ftp://medical.nema.org/medical/dicom/supps/sup118_lb.pdf
* ftp://medical.nema.org/medical/dicom/supps/sup118_lb.pdf (now moved to final directory ftp://medical.nema.org/medical/dicom/Final/sup118_ft.pdf)


A.1.7 Examples
A.1.7 Examples

Latest revision as of 16:00, 9 December 2011

How To Join

  • skype (Mathieu will start conf)

Attendees

  • Mathieu Malaterre (CoSMo)
  • Mark Roden (CoSMo)
  • Steve Pieper (Isomics)
  • Dan Blezek + Bill Ryan (Mayo)

Topics

SubTopics

  • How do we handle 2D DICOM Series loaded in a Single itk::Image ? (one DataSet ? array of dataset ?)
  • How do we handle the opposite : 3D image stored as 2D (Eg. Enhanced -> old SOP)
  • Typical use case: Applying Gaussian filter on itk::Image, means changing Image Type from ORIGINAL to SECONDARY...
    • Should we remove attribute from Image group (0028) ?
    • Question: how do we hanlde Overlay stored in Pixel Data unused bits ?

Annex: App 118 Syntax

See:

A.1.7 Examples

Here is an example XPath query to extract the code meaning of the first item in the View Code Sequence:
/DicomNativeModel/DicomAttribute[@keyword=‖ViewCodeSequence‖]/Item[@number=1]/ /DicomAttribute[@keyword=‖CodeMeaning‖]/Value[@number=1]
1405

See posts

> The following XPath expression is not defined:
>
> DicomAttribute[@tag=”OverlayLabel”]/Value[@number=1]
>
DicomAttribute[@tag=”OverlayLabel” and @repeating="02"]/Value[@number=1]