DICOM Network Roles –Successful communication - products must play opposite roles Receive images =...

Preview:

Citation preview

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)

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

Language and … dictionaryLanguage and … dictionary

128 bit inutili (non sempre)

DICM

“std” DICOM“std” DICOM

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

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

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

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

…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

… and ends.… and ends.

The structureThe structure

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

Start reading DICOM filesStart reading DICOM files

Tranlsate TAGS with DICTTranlsate TAGS with DICT

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

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

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

Implicit Endian Implicit VRImplicit Endian Implicit VR

Create .g4dcmCreate .g4dcm

Data.datData.dat

CT2Density.datCT2Density.dat

Write densityWrite density

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

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

MC Dose calculation in RadiotherapyHow accurate is the dose

calculation ?

Description of patients

Energy deposition

PhysicsGeometry

Validation studies

DICOM

Grazie per l’attenzione!

Recommended