Пример #1
0
 def __init__(self, patient):
     # RayStation object:
     self.patient = patient
     # Related test suite objects:
     self.ts_case = None
     # Parameters:
     self.param = TEST.Parameter(
         'Pasient', patient.Name, None
     )  # NB: Enkodingproblem: krasjer ikke, men gir ? istedenfor æ,ø,å
     self.id = TEST.Parameter('ID', '', self.param)
Пример #2
0
 def __init__(self, segment, ts_beam=None):
     # RayStation objects:
     self.segment = segment
     # Related test suite objects:
     self.ts_beam = ts_beam
     if ts_beam:
         ts_beam.ts_segments.append(self)
         self.parent_param = ts_beam.param
     else:
         self.parent_param = None
     # Parameters:
     self.param = TEST.Parameter('Segment', str(segment.SegmentNumber),
                                 self.parent_param)
     self.mlc = TEST.Parameter('MLC', '', self.param)
Пример #3
0
 def __init__(self, poi_geometry, ts_structure_set=None):
     # RayStation object:
     self.poi_geometry = poi_geometry
     # Related test suite objects:
     self.ts_structure_set = ts_structure_set
     if ts_structure_set:
         ts_structure_set.ts_poi_geometries.append(self)
         self.parent_param = ts_structure_set.param
     else:
         self.parent_param = None
     # Parameters:
     self.param = TEST.Parameter('POI Geometri',
                                 self.poi_geometry.OfPoi.Name,
                                 self.parent_param)
     self.coordinates = TEST.Parameter('Koordinater', '', self.param)
Пример #4
0
 def __init__(self, optimization, ts_beam_set=None):
     # RayStation object:
     self.optimization = optimization
     # Related test suite objects:
     self.ts_beam_set = ts_beam_set
     if ts_beam_set:
         ts_beam_set.ts_optimization = self
         self.parent_param = ts_beam_set.param
     else:
         self.parent_param = None
     # Parameters:
     self.param = TEST.Parameter('Optimalisering', '', self.parent_param)
     self.background_dose = TEST.Parameter('Bakgrunnsdose', '', self.param)
     self.mu = TEST.Parameter('MU', '', self.param)
     self.parameter = TEST.Parameter('Parameter', '', self.param)
     self.grid = TEST.Parameter('Beregningsmatrise', '', self.param)
Пример #5
0
 def __init__(self, roi, ts_case=None):
     # RayStation objects:
     self.roi = roi
     # Related test suite objects:
     self.ts_case = ts_case
     if ts_case:
         ts_case.ts_rois.append(self)
         self.parent_param = ts_case.param
     else:
         self.parent_param = None
     # Parameters:
     self.param = TEST.Parameter('ROI', self.roi.Name,
                                 self.parent_param)  # (roi parameter)
     self.exclude_from_export = TEST.Parameter('Exclude from export',
                                               str(roi.ExcludeFromExport),
                                               self.param)
Пример #6
0
 def __init__(self, structure_set, ts_case=None):
     # RayStation object:
     self.structure_set = structure_set
     # Related test suite objects:
     self.ts_case = ts_case
     self.ts_poi_geometries = []
     self.ts_roi_geometries = []
     if ts_case:
         ts_case.ts_structure_sets.append(self)
         self.parent_param = ts_case.param
     else:
         self.parent_param = None
     # Parameters:
     self.param = TEST.Parameter('Struktursett',
                                 self.structure_set.OnExamination.Name,
                                 self.parent_param)
     self.localization_point = TEST.Parameter('REF', '', self.param)
     self.couch = TEST.Parameter('Bordtopp', '', self.param)
     self.external = TEST.Parameter('External', '', self.param)
     self.external_bounding = TEST.Parameter('External', '', self.param)
     self.geometry = TEST.Parameter('Geometri', '', self.param)
     self.name = TEST.Parameter('Navn', '', self.param)
     #self.dose_region = TEST.Parameter('Geometri', '', self.param)
     #self.target_volume_test = TEST.Parameter('Geometri', '', self.param)
     #self.ptv_derived = TEST.Parameter('Geometri', '', self.param)
     #self.prosthesis = TEST.Parameter('Geometri', '', self.param)
     #self.dsc = TEST.Parameter('Geometri', '', self.param)
     #self.breast = TEST.Parameter('Geometri', '', self.param)
     # Determine the slice thickness for the examination associated with this structure set:
     self.slice_thickness = round(
         abs(self.structure_set.OnExamination.Series[0].ImageStack.
             SlicePositions[1] - self.structure_set.OnExamination.Series[0].
             ImageStack.SlicePositions[0]), 1)
Пример #7
0
 def __init__(self, plan, ts_case=None):
     # RayStation objects:
     self.plan = plan
     # Related test suite objects:
     self.ts_case = ts_case
     self.ts_beam_sets = []
     if ts_case:
         ts_case.ts_plan = self
         self.parent_param = ts_case.param
     else:
         self.parent_param = None
     # Parameters:
     self.param = TEST.Parameter('Plan', self.plan.Name, self.parent_param)
     self.planned_by = TEST.Parameter('Planlagt av', self.plan.PlannedBy,
                                      self.param)
     self.isocenter = TEST.Parameter('Isocenter', '', self.param)
     self.numbers = TEST.Parameter('Beam numbers', '', self.param)
     self.defined_roi = TEST.Parameter('Geometri', '', self.param)
Пример #8
0
 def __init__(self, roi_geometry, ts_structure_set=None):
     # RayStation object:
     self.roi_geometry = roi_geometry
     # Related test suite objects:
     self.ts_structure_set = ts_structure_set
     if ts_structure_set:
         ts_structure_set.ts_roi_geometries.append(self)
         self.parent_param = ts_structure_set.param
     else:
         self.parent_param = None
     # Parameters:
     self.param = TEST.Parameter('ROI', '', self.parent_param)
     self.defined_roi = TEST.Parameter('Geometri',
                                       self.roi_geometry.OfRoi.Name,
                                       self.param)
     self.updated_roi = TEST.Parameter('Geometri',
                                       self.roi_geometry.OfRoi.Name,
                                       self.param)
Пример #9
0
 def __init__(self, label, ts_beam_set=None):
     # Label object (from beam set dicom plan label):
     self.label = BSL.BeamSetLabel(label)
     # Related test suite objects:
     self.ts_beam_set = ts_beam_set
     if ts_beam_set:
         ts_beam_set.ts_label = self
         self.parent_param = ts_beam_set.param
     else:
         self.parent_param = None
     # Parameters:
     self.param = TEST.Parameter('Label', label, self.parent_param)
Пример #10
0
 def __init__(self, prescription, ts_beam_set=None):
     # RayStation object:
     self.prescription = prescription
     # Related test suite objects:
     self.ts_beam_set = ts_beam_set
     if ts_beam_set:
         ts_beam_set.ts_prescription = self
         self.parent_param = ts_beam_set.param
     else:
         self.parent_param = None
     # ROI (Name) parameter:
     # In case SITE prescription is used:
     try:
         name = self.prescription.PrimaryDosePrescription.OnStructure.Name
     except:
         name = self.prescription.PrimaryDosePrescription.Description
     # Parameters:
     self.param = TEST.Parameter(
         'Prescription',
         str(prescription.PrimaryDosePrescription.DoseValue / 100.0),
         self.parent_param)
     self.roi = TEST.Parameter('ROI', name, self.param)
     self.type = TEST.Parameter(
         'Type', self.prescription.PrimaryDosePrescription.PrescriptionType,
         self.param)
     self.dose = TEST.Parameter('Dose', '', self.param)
     self.mu = TEST.Parameter('MU', '', self.param)
     self.max = TEST.Parameter('Klinisk maksdose', '', self.param)
Пример #11
0
 def __init__(self, roi, ts_case=None):
     # RayStation objects:
     self.roi = roi
     # Related test suite objects:
     self.ts_case = ts_case
     if ts_case:
         ts_case.ts_rois.append(self)
         self.parent_param = ts_case.param
     else:
         self.parent_param = None
     # Parameters:
     self.param = TEST.Parameter('ROI', self.roi.Name,
                                 self.parent_param)  # (roi parameter)
Пример #12
0
 def __init__(self, structure_set, ts_case=None):
     # RayStation object:
     self.structure_set = structure_set
     # Related test suite objects:
     self.ts_case = ts_case
     self.ts_poi_geometries = []
     self.ts_roi_geometries = []
     if ts_case:
         ts_case.ts_structure_sets.append(self)
         self.parent_param = ts_case.param
     else:
         self.parent_param = None
     # Parameters:
     self.param = TEST.Parameter('Struktursett',
                                 self.structure_set.OnExamination.Name,
                                 self.parent_param)
     self.localization_point = TEST.Parameter('REF', '', self.param)
     self.couch = TEST.Parameter('Bordtopp', '', self.param)
     self.external = TEST.Parameter('External', '', self.param)
     self.external_bounding = TEST.Parameter('External', '', self.param)
     self.geometry = TEST.Parameter('Geometri', '', self.param)
     self.name = TEST.Parameter('Navn', '', self.param)
Пример #13
0
    # RayStation object:
    self.case = case
    # Related test suite objects:
    self.ts_patient = ts_patient
    self.ts_plan = None
    self.ts_pois = []
    self.ts_rois = []
    self.ts_structure_sets = []
    if ts_patient:
      ts_patient.ts_case = self
      self.parent_param = ts_patient.param
    else:
      self.parent_param = None
    # Parameters:
    self.param = TEST.Parameter('Case', self.case.CaseName, self.parent_param)
    self.localization_point = TEST.Parameter('REF', '', self.param)
    self.examination = TEST.Parameter('Examination', '', self.param)

    # Attributes:
    self.has_target_volume = self.target_volume()




  # Determines if a target volume is defined in the case.
  def target_volume(self):
    match = False
    for roi in self.case.PatientModel.RegionsOfInterest:
      if roi.Type in ('Gtv', 'Ctv', 'Ptv'):
       match = True
    return match
Пример #14
0
 def __init__(self, beam, ts_beam_set=None):
     # RayStation object:
     self.beam = beam
     # Related test suite objects:
     self.ts_beam_set = ts_beam_set
     self.ts_segments = []
     if ts_beam_set:
         ts_beam_set.ts_beams.append(self)
         self.parent_param = ts_beam_set.param
     else:
         self.parent_param = None
     # Parameters:
     self.param = TEST.Parameter('Felt', str(beam.Number),
                                 self.parent_param)
     self.name = TEST.Parameter('Navn', '', self.param)
     self.mu = TEST.Parameter('MU', '', self.param)
     self.gantry = TEST.Parameter('Gantryvinkel',
                                  str(round(self.beam.GantryAngle, 1)),
                                  self.param)
     self.energy = TEST.Parameter('Energi',
                                  str(self.beam.MachineReference.Energy),
                                  self.param)
     self.collimator = TEST.Parameter(
         'Kollimatorvinkel', str(round(beam.InitialCollimatorAngle, 1)),
         self.param)
     self.segments = TEST.Parameter('Segmenter', '', self.param)
     self.gantry_spacing = TEST.Parameter('Gantry spacing', '', self.param)
     self.isocenter = TEST.Parameter('Isosenter', '', self.param)
     self.opening = TEST.Parameter('Åpning', '', self.param)
     self.mlc = TEST.Parameter('MLC', '', self.param)
Пример #15
0
 def __init__(self, beam_set, ts_plan=None):
     # RayStation object:
     self.beam_set = beam_set
     # Related test suite objects:
     self.ts_plan = ts_plan
     self.ts_prescription = None
     self.ts_optimization = None
     self.ts_label = None
     self.ts_beams = []
     if ts_plan:
         ts_plan.ts_beam_sets.append(self)
         self.parent_param = ts_plan.param
     # Parameters:
     self.param = TEST.Parameter('Beam Set', self.beam_set.DicomPlanLabel,
                                 self.parent_param)
     self.technique = TEST.Parameter('Teknikk',
                                     self.beam_set.DeliveryTechnique,
                                     self.param)
     self.machine = TEST.Parameter(
         'Maskin', self.beam_set.MachineReference.MachineName, self.param)
     self.dose = TEST.Parameter('Doseberegning', '', self.param)
     self.energies = TEST.Parameter('Energier', '', self.param)
     self.label = TEST.Parameter('Label', beam_set.DicomPlanLabel,
                                 self.param)
     self.vmat = TEST.Parameter('VMAT', '', self.param)
     self.fractions = TEST.Parameter(
         'Fraksjoner', beam_set.FractionationPattern.NumberOfFractions,
         self.param)
     self.collimator_angles = TEST.Parameter('Kollimator vinkler', '',
                                             self.param)
     self.defined_prescription = TEST.Parameter('Prescription', '',
                                                self.param)
     self.couch = TEST.Parameter('Bordtopp', '', self.param)
     self.mlc = TEST.Parameter('MLC', '', self.param)
     self.norm_dose = TEST.Parameter('Dose', '', self.param)
     self.isocenter = TEST.Parameter('Isosenter', '', self.param)
     self.mu = TEST.Parameter('MU', '', self.param)
     self.name = TEST.Parameter('Navn', '', self.param)
     self.number = TEST.Parameter('Feltnummer', '', self.param)