25
DICOM Network Roles Successful communication - products must play “opposite roles” Receive images = Service Class Provider (SCP) Send images = Service Class User (SCU) Network roles are defined for all DICOM Network roles are defined for all DICOM Functions Functions Image Send Image Send CT Image Storage CT Image Storage SOP Class (SCU) SOP Class (SCU) CT Image Storage CT Image Storage SOP Class (SCP) SOP Class (SCP)

DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

Embed Size (px)

Citation preview

Page 1: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

DICOM Network RolesDICOM Network Roles– Successful communication - products must play “opposite roles”

Receive images = Service Class Provider (SCP)

Send images = Service Class User (SCU)

Network roles are defined for all Network roles are defined for all DICOM FunctionsDICOM Functions

Network roles are defined for all Network roles are defined for all DICOM FunctionsDICOM Functions

Image SendImage SendImage SendImage Send

CT Image StorageCT Image StorageSOP Class (SCU)SOP Class (SCU)CT Image StorageCT Image StorageSOP Class (SCU)SOP Class (SCU)

CT Image StorageCT Image StorageSOP Class (SCP)SOP Class (SCP)CT Image StorageCT Image StorageSOP Class (SCP)SOP Class (SCP)

Page 2: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

DICOM Conformance DICOM Conformance StatementStatementDICOM Conformance DICOM Conformance StatementStatement

– It is Required!

– It is a Public Document

– It Conveys a Product’s DICOM Functionality

– It is Based on DICOM Vocabulary

Abstract Syntaxes (SOP Classes), Transfer Syntaxes, SCU/SCP…..

– It is Used to Compare Connectivity

– It is most Often on the Web @ Vendor Site

– It Does Not Address All of an Application’s Capabilities, but should Address All of the Application’s DICOM ones

A Major Step Towards InteroperabilityA Major Step Towards Interoperability

Page 3: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

Language and … dictionaryLanguage and … dictionary

128 bit inutili (non sempre)

DICM

Page 4: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

“std” DICOM“std” DICOM

Page 5: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

DICOMDICOM

(0008,0000) UL 424 # 4 IdentifyingGroupLength(0008,0020) DA [20070509] # 8 StudyDate(0008,0022) DA [20070509] # 8 AcquisitionDate(0008,0023) DA [20070509] # 8 ImageDate(0008,0030) TM [163853] # 6 StudyTime(0008,0032) TM [163933] # 6 AcquisitionTime (0008,0060) CS [CT] # 2 Modality(0008,0070) LO [Philips ] # 8 Manufacturer(0008,0080) LO [OSP S.CROCE CUNEO ] # 18 InstitutionName (0008,1040) LO [RADIOLOGIA] # 10 InstitutionalDepartmentName (0008,1090) LO [Brilliance 64 ] # 14 ManufacturerModelName (0010,0010) PN [TEST CTDI 16 CM HEAD^.] # 22 PatientName(0010,0020) LO [11111 ] # 6 PatientID(0010,0030) DA [20070509] # 8 PatientBirthDate(0010,0040) CS [O ] # 2 PatientSex(0018,0050) DS [0.5 ] # 6 SliceThickness(0018,0060) DS [120 ] # 4 KVP(0018,0090) DS [500 ] # 4 DataCollectionDiameter (0018,1030) LO [Encefalo Ax Testa ] # 22 ProtocolName(0018,1100) DS [500 ] # 4 ReconstructionDiameter(0018,1120) DS [0 ] # 2 GantryDetectorTilt (0018,1140) CS [CW] # 2 RotationDirection (0018,1150) IS [3000] # 4 ExposureTime(0018,1151) IS [30] # 2 XrayTubeCurrent(0018,5100) CS [HFS ] # 4 PatientPosition (0028,0030) DS [0.9765625\0.9765625 ] # 20 PixelSpacing

Page 6: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

Images dimension:Images dimension:

Ammettendo che ogni voxel occupi 32 byte qual è lo spazio RAM necessario a simulare 40 cm di TAC di cui il seguente è parte dell’header DICOM di un’immagine?

circa 170 MBytecirca 2 Mbytecirca 670 Mbyte

Page 7: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

Geant4-DICOM interface

Geant4-DICOM interface

Developed by L. Archambault, L. Beaulieu, V.-H. Tremblay (Univ. Laval and l'Hôtel-Dieu, Québec)

Donated to Geant4 for the common profit of the scientific community– under the condition that further improvements and developments are made publicly

available to the community

Released with Geant4 5.2, June 2003 in an extended example– by S. Guatelli mainly

Deeply revised in by Pedro Arce in 2007– Small improvements by S. Chauvie

Geant4 examples/extended/medical/DICOMGeant4 examples/extended/medical/DICOM

T. Aso & A.Kimura Ashikaga Institute of TechnologyT. Aso & A.Kimura Ashikaga Institute of Technology

Page 8: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

From phantom to MCFrom phantom to MC

Rows,columns(#): 512 512PixelSpacing_X,Y(mm): 0.875 0.875 SliceTickness(mm): 5.0 SliceLocation(mm): 20.0

Header + DATA SETS

Page 9: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

…cont……cont… #######################################

        #     Density Range                   Materials              #---------------------------------------------------           #       g/cm3                            -                    #---------------------------------------------------           #  [ 0.100 , 0.351 ]                 Lungs (inhale)            #  [ 0.351 , 0.800 ]                 Lungs (exhale)            #  [ 0.919 , 0.979 ]                 Adipose                   #  ] 0.979 , 1.004 ]                 Breast                    #  ] 1.004 , 1.043 ]                 Phantom                   #  ] 1.043 , 1.109 ]                 Liver                     #  ] 1.109 , 1.113 ]                 Muscle                    #  ] 1.113 , 1.400 ]                 Trabecular Bone           #  [ 1.496 , 1.654 ]                 Dense Bone                #######################################

ICRU 46

y = 995,06x - 1000,1

R2 = 0,9981

-1500

-1000

-500

0

500

1000

1500

0,0 0,5 1,0 1,5 2,0

relative electronic density

CT number

3-D view

Page 10: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

… and ends.… and ends.

Page 11: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

The structureThe structure

Page 12: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

From DICOM image to Geant4 geometry

From DICOM image to Geant4 geometry

Reading image information

Transformation of pixel data into densities

Association of densities to a list of corresponding materials

Defining the voxels– Geant4 parameterised

volumes– parameterisation function:

materialreverse engineering by S. Guatelli

Page 13: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

Start reading DICOM filesStart reading DICOM files

Page 14: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

Tranlsate TAGS with DICTTranlsate TAGS with DICT

Page 15: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

Read the header and create the tagRead the header and create the tag

Page 16: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

Implicit Endian Explicit VR, special casesImplicit Endian Explicit VR, special cases

Page 17: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

Implicit Endian Explicit VR, other casesImplicit Endian Explicit VR, other cases

Page 18: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

Implicit Endian Implicit VRImplicit Endian Implicit VR

Page 19: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

Create .g4dcmCreate .g4dcm

Page 20: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

Data.datData.dat

Page 21: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

CT2Density.datCT2Density.dat

Page 22: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

Write densityWrite density

Splitting materials in density intervals: In the class DicomDetectorConstruction, it is defined a density interval G4double densityDiff = 0.1;

Page 23: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

Navigation….Navigation….

:

The 1D optimisation . It will be very slow because each time a track exits a voxel it has to loop to all other voxels to know which one it may enter

The 3D optimisation with G4SmartVoxel: a 3D grid is built, so that the location of voxels is fast, but it requires a lot of memory

Using G4NestedParameterisation. The search is done hierarchically in X, Y and Z. It is fast and does not require big memory

Using G4PhantomParameterisation/G4RegularNavigation: an special algorithm to navigate in regular voxelised geometries (see GEANT4 doc). This is the fastest way without any extra memory requirement (and it is the default in this example). It includes an option (default) to skip frontiers between voxels when they have the same material. When using this option at each step the energy is all deposited in the last voxel; for properly distribution of the dose (=energy/volume) the G4PSDoseDeposit_RegNav scorer can be used

Page 24: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

MC Dose calculation in RadiotherapyHow accurate is the dose

calculation ?

Description of patients

Energy deposition

PhysicsGeometry

Validation studies

DICOM

Page 25: DICOM Network Roles –Successful communication - products must play opposite roles Receive images = Service Class Provider (SCP) Send images = Service Class

Grazie per l’attenzione!