Editing Dose - cerr/CERR GitHub Wiki

Editing Dose display via the GUI

  • Dose distribution to view can be seleced from CERR menubar located at the top. Dose --> .
  • Dose display can be turned-off by selectine View --> Dose
  • Dose display for an individual view can be selected by right-clicking on that view and then setting the desired doseSet.
  • Dose transparency can be adjusted by moving the scan-dose slider located next to the left-panel.
  • Dose display ranges can be adjusted by setting the colorbar options. These can be set by (i) double-clicking the colorbar (ii) dragging the triangles at the edges of the colorbar or (iii) selecting View -> Colorbar options to manually enter colorbar ranges as shown below.

Editing the "Dose" object programatically

Dose distributions are stored in planC cell array and can be accessed as follows:

    global planC

    indexS = planC{end};

    doseNum = 2;

    planC{indexS.dose}(doseNum)

    ans = 

              imageNumber: 105
                imageType: 'DOSE'
               caseNumber: 'orart2_hn'
              patientName: 'orart2_hn'
               doseNumber: 1
                 doseType: 'PHYSICAL'
                doseUnits: 'GRAYS'
                doseScale: 0.3882
          fractionGroupID: '1'
               numberOfTx: 33
        orientationOfDose: 'TRANSVERSE'
     numberRepresentation: 'TWO'S COMPLEMENT INTEGER'
       numberOfDimensions: 3
         sizeOfDimension1: 256
         sizeOfDimension2: 256
         sizeOfDimension3: 88
       coord1OFFirstPoint: 0.1000
       coord2OFFirstPoint: 51.1000
   horizontalGridInterval: 0.2000
     verticalGridInterval: -0.2000
          doseDescription: 
              doseEdition: 
               unitNumber: 
                   writer: 
              dateWritten: 
       planNumberOfOrigin: 
      planEditionOfOrigin: 
      studyNumberOfOrigin: 'orart2_hn'
   versionNumberOfProgram: 
   xcoordOfNormaliznPoint: 
   ycoordOfNormaliznPoint: 
   zcoordOfNormaliznPoint: 
     doseAtNormaliznPoint: 
                doseError: 
       coord3OfFirstPoint: 9.7000
        depthGridInterval: 0.2000
           planIDOfOrigin: 
                doseArray: [256x256x88 double]
                  zValues: [1x88 double]
                delivered: 
              cachedColor: []
               cachedTime: []
          numCachedSlices: 0
           associatedScan: []
                   transM: [4x4 double]
                  doseUID: 'RD.3172006.10934.02341.1936'
             assocScanUID: 
         transferProtocol: 
             DICOMHeaders: 
                       Rx: 
               doseOffset:

Notice that the fieldnames are similar to ones used in RTOG specification. Some of the important fields are:

  • '.doseArray' - stores the volumetric dose data
  • '.transM' - stores the 4x4 rigid-transformation matrix. If this field in empty, then the associated scan's transformation matrix is used
  • '.doseUID' - stores the unique identifier for this dose distribution. Note that this fields gets modified (or should be modified) whenever user changes any data associated with this dose.

The coordinates of dose grid can be obtained by using a CERR function as follows:

[xDoseVals, yDoseVals, zDoseVals] = getDoseXYZVals(planC{indexS.dose}(doseNum))
%two methods to get dose3D from planC
%method one
dose3M  = getDoseArray(doseNum,planC);
%method2
doseArray=planC{indexS.dose}(doseNum).doseArray;