Class Beam
Represents one beam (also referred to as "field") of an external beam treatment plan. See the definition of DICOM RT Beam for more details.
Implements
Inherited Members
Namespace: VMS.TPS.Common.Model.API
Assembly: VMS.TPS.Common.Model.API.dll
Syntax
public class Beam : ApiDataObject, IXmlSerializable
Properties
Applicator
An applicator is a specific add-on used in the beam.
Declaration
public Applicator Applicator { get; }
Property Value
Type | Description |
---|---|
Applicator |
ArcLength
The arc length.
Declaration
public double ArcLength { get; }
Property Value
Type | Description |
---|---|
System.Double |
AverageSSD
The average Source-to-Skin Distance (SSD) of an arc beam.
Declaration
public double AverageSSD { get; }
Property Value
Type | Description |
---|---|
System.Double |
BeamNumber
DICOM RT Beam Number. The value is unique within the plan in which it is created.
Declaration
public int BeamNumber { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
Blocks
A collection of installed blocks.
Declaration
public IEnumerable<Block> Blocks { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<Block> |
Boluses
A collection of beam boluses.
Declaration
public IEnumerable<Bolus> Boluses { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<Bolus> |
CalculationLogs
A collection of beam calculation logs.
Declaration
public IEnumerable<BeamCalculationLog> CalculationLogs { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<BeamCalculationLog> |
Comment
[Availability of this property depends on your Eclipse Scripting API license] The Beam comment.
Declaration
public string Comment { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Compensator
The compensator.
Declaration
public Compensator Compensator { get; }
Property Value
Type | Description |
---|---|
Compensator |
ControlPoints
An enumerable sequence of machine parameters that describe the planned treatment beam.
Declaration
public ControlPointCollection ControlPoints { get; }
Property Value
Type | Description |
---|---|
ControlPointCollection |
Remarks
A motorized wedge is described with four control points. If Elekta OmniWedge is used, the first three control points are used to describe the motorized wedge. Note, that for proton beams the control points are not currently supported and an empty collection is returned.
CreationDateTime
The date when this object was created.
Declaration
public DateTime? CreationDateTime { get; }
Property Value
Type | Description |
---|---|
System.Nullable<System.DateTime> |
Dose
The dose for the beam. Returns null if the dose is not calculated.
Declaration
public BeamDose Dose { get; }
Property Value
Type | Description |
---|---|
BeamDose | Returns the beam dose, if it exists. Otherwise null. |
Remarks
The dose will always be shown relative units. It does not have, for instance, the field weight factored in. Use GetAbsoluteBeamDoseValue(DoseValue) to get dose in absolute units.
DoseRate
The dose rate of the treatment machine in MU/min.
Declaration
public int DoseRate { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
DosimetricLeafGap
The dosimetric leaf gap that has been configured for the Dynamic Multileaf Collimator (DMLC) beams in the system. The dosimetric leaf gap is used for accounting for dose transmission through rounded MLC leaves.
Declaration
public double DosimetricLeafGap { get; }
Property Value
Type | Description |
---|---|
System.Double |
EnergyModeDisplayName
The display name of the energy mode. For example '18E' or '6X-SRS'.
Declaration
public string EnergyModeDisplayName { get; }
Property Value
Type | Description |
---|---|
System.String |
FieldReferencePoints
A collection of field reference points.
Declaration
public IEnumerable<FieldReferencePoint> FieldReferencePoints { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<FieldReferencePoint> |
GantryDirection
The gantry rotation direction: clockwise (CW), counterclockwise (CCW), or none.
Declaration
public GantryDirection GantryDirection { get; }
Property Value
Type | Description |
---|---|
GantryDirection |
HasAllMLCLeavesClosed
Returns true if all MLC leaves are closed.
Declaration
public bool HasAllMLCLeavesClosed { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Id
[Availability of this property depends on your Eclipse Scripting API license] The identifier of the Beam.
Declaration
public string Id { get; set; }
Property Value
Type | Description |
---|---|
System.String |
IsGantryExtended
Checks if the gantry rotation is extended. For arc beams, checks if the gantry rotation is extended at the start angle.
Declaration
public bool IsGantryExtended { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsGantryExtendedAtStopAngle
Checks if the gantry rotation is extended at the stop angle of an arc beam.
Declaration
public bool IsGantryExtendedAtStopAngle { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsImagingTreatmentField
Checks if a beam is an Imaging Treatment Beam, i.e., a beam that is used to take an MV image and whose dose is calculated and taken into account in treatment planning.
Declaration
public bool IsImagingTreatmentField { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsocenterPosition
The position of the isocenter.
Declaration
public VVector IsocenterPosition { get; }
Property Value
Type | Description |
---|---|
VVector |
IsSetupField
Checks if a beam is a setup field.
Declaration
public bool IsSetupField { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Meterset
The meterset value of the beam.
Declaration
public MetersetValue Meterset { get; }
Property Value
Type | Description |
---|---|
MetersetValue |
MetersetPerGy
The calculated meterset/Gy value for the beam.
Declaration
public double MetersetPerGy { get; }
Property Value
Type | Description |
---|---|
System.Double |
MLC
Returns a hardware description of the Multileaf Collimator (MLC) used in an MLC plan, or null if no MLC exists.
Declaration
public MLC MLC { get; }
Property Value
Type | Description |
---|---|
MLC |
MLCPlanType
The type of the Multileaf Collimator (MLC) plan.
Declaration
public MLCPlanType MLCPlanType { get; }
Property Value
Type | Description |
---|---|
MLCPlanType |
MLCTransmissionFactor
The transmission factor of the Multileaf Collimator (MLC) material.
Declaration
public double MLCTransmissionFactor { get; }
Property Value
Type | Description |
---|---|
System.Double |
MotionCompensationTechnique
DICOM (respiratory) motion compensation technique. Returns an empty string if motion compensation technique is not used.
Declaration
public string MotionCompensationTechnique { get; }
Property Value
Type | Description |
---|---|
System.String |
MotionSignalSource
DICOM (respiratory) signal source. Returns an empty string if motion compensation technique is not used.
Declaration
public string MotionSignalSource { get; }
Property Value
Type | Description |
---|---|
System.String |
Name
[Availability of this property depends on your Eclipse Scripting API license] The name of the Beam.
Declaration
public string Name { get; set; }
Property Value
Type | Description |
---|---|
System.String |
NormalizationFactor
The beam normalization factor.
Declaration
public double NormalizationFactor { get; }
Property Value
Type | Description |
---|---|
System.Double |
NormalizationMethod
The beam normalization method.
Declaration
public string NormalizationMethod { get; }
Property Value
Type | Description |
---|---|
System.String |
Plan
Used for navigating to parent Plan
Declaration
public PlanSetup Plan { get; }
Property Value
Type | Description |
---|---|
PlanSetup |
PlannedSSD
The Source-to-Skin Distance (SSD) value defined by the user.
Declaration
public double PlannedSSD { get; }
Property Value
Type | Description |
---|---|
System.Double |
ReferenceImage
The reference image of the beam.
Declaration
public Image ReferenceImage { get; }
Property Value
Type | Description |
---|---|
Image |
SetupTechnique
The setup technique.
Declaration
public SetupTechnique SetupTechnique { get; }
Property Value
Type | Description |
---|---|
SetupTechnique |
SSD
The Source-to-Skin Distance (SSD). For arc beams, the SSD at the start angle. This value is calculated from the geometrical setup of the beam.
Declaration
public double SSD { get; }
Property Value
Type | Description |
---|---|
System.Double |
SSDAtStopAngle
The Source-to-Skin Distance (SSD) at the stop angle of an arc beam. This value is calculated from the geometrical setup of the beam.
Declaration
public double SSDAtStopAngle { get; }
Property Value
Type | Description |
---|---|
System.Double |
Technique
The technique used in the planning beam.
Declaration
public Technique Technique { get; }
Property Value
Type | Description |
---|---|
Technique |
ToleranceTableLabel
User-defined label for the referenced tolerance table, or an empty string if there is no reference to a tolerance table.
Declaration
public string ToleranceTableLabel { get; }
Property Value
Type | Description |
---|---|
System.String |
Trays
A collection of installed trays.
Declaration
public IEnumerable<Tray> Trays { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<Tray> |
TreatmentTime
The treatment time set for the beam in seconds. Plan Approval wizard sets this value by default.
Declaration
public double TreatmentTime { get; }
Property Value
Type | Description |
---|---|
System.Double |
TreatmentUnit
The external beam treatment unit associated with this beam.
Declaration
public ExternalBeamTreatmentUnit TreatmentUnit { get; }
Property Value
Type | Description |
---|---|
ExternalBeamTreatmentUnit |
Wedges
A collection of installed wedges.
Declaration
public IEnumerable<Wedge> Wedges { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<Wedge> |
Remarks
Use operator is
or as
to distinguish between various wedge types.
WeightFactor
The weight factor of the beam.
Declaration
public double WeightFactor { get; }
Property Value
Type | Description |
---|---|
System.Double |
Methods
AddFlatteningSequence()
[Availability of this method depends on your Eclipse Scripting API license] Adds a flattening sequence to a static Halcyon field. Throws an exception if the field is not a Halcyon field.
Declaration
public bool AddFlatteningSequence()
Returns
Type | Description |
---|---|
System.Boolean | True if flattening sequence was added. |
ApplyParameters(BeamParameters)
[Availability of this method depends on your Eclipse Scripting API license] Modifies the beam by applying the given parameters. This is the only way to modify a beam using the Eclipse Scripting API. After a call to ApplyParameters, the getters of this beam instance will return the new values. An ApplicationException is thrown if the parameters form an invalid combination.
Declaration
public void ApplyParameters(BeamParameters beamParams)
Parameters
Type | Name | Description |
---|---|---|
BeamParameters | beamParams | The parameters to apply to the beam. |
CanSetOptimalFluence(Fluence, out String)
Checks if optimal fluence can be set for this beam.
Declaration
public bool CanSetOptimalFluence(Fluence fluence, out string message)
Parameters
Type | Name | Description |
---|---|---|
Fluence | fluence | The optimal fluence for the beam. |
System.String | message | If the optimal fluence cannot be set, contains information about the reason. |
Returns
Type | Description |
---|---|
System.Boolean | Return true if optimal fluence can be set for this beam. Otherwise false. |
CollimatorAngleToUser(Double)
Converts the given collimator angle value from the internal IEC scale to the user facing scale of the machine.
Declaration
public double CollimatorAngleToUser(double val)
Parameters
Type | Name | Description |
---|---|---|
System.Double | val | Collimator angle value |
Returns
Type | Description |
---|---|
System.Double | The value in the user facing scale of the machine |
CreateOrReplaceDRR(DRRCalculationParameters)
[Availability of this method depends on your Eclipse Scripting API license] Calculates the DRR.
Declaration
public Image CreateOrReplaceDRR(DRRCalculationParameters parameters)
Parameters
Type | Name | Description |
---|---|---|
DRRCalculationParameters | parameters | DRR calculation parameters |
Returns
Type | Description |
---|---|
Image | DRR image |
FitCollimatorToStructure(FitToStructureMargins, Structure, Boolean, Boolean, Boolean)
[Availability of this method depends on your Eclipse Scripting API license] Fits the collimator to the specified structure
Declaration
public void FitCollimatorToStructure(FitToStructureMargins margins, Structure structure, bool useAsymmetricXJaws, bool useAsymmetricYJaws, bool optimizeCollimatorRotation)
Parameters
Type | Name | Description |
---|---|---|
FitToStructureMargins | margins | Margins used to fit to structure |
Structure | structure | Structure to fit to |
System.Boolean | useAsymmetricXJaws | Flag of using asymmetric x jaws |
System.Boolean | useAsymmetricYJaws | Flag of uisng asymmetric y jaws |
System.Boolean | optimizeCollimatorRotation | Flag of optimizing collimator angles as fitting result |
FitMLCToOutline(Point[][])
[Availability of this method depends on your Eclipse Scripting API license] Fits the MLC leaves to a shape on the isocenter plane with default settings, or with settings from previous fit.
Declaration
public void FitMLCToOutline(Point[][] outline)
Parameters
Type | Name | Description |
---|---|---|
System.Windows.Point[][] | outline | The shape to fit the MLC leaves to, for example, Block.Outline. |
FitMLCToOutline(Point[][], Boolean, JawFitting, OpenLeavesMeetingPoint, ClosedLeavesMeetingPoint)
[Availability of this method depends on your Eclipse Scripting API license] Fits the MLC leaves to a shape on the isocenter plane with specified options.
Declaration
public void FitMLCToOutline(Point[][] outline, bool optimizeCollimatorRotation, JawFitting jawFit, OpenLeavesMeetingPoint olmp, ClosedLeavesMeetingPoint clmp)
Parameters
Type | Name | Description |
---|---|---|
System.Windows.Point[][] | outline | The shape to fit the MLC leaves to, for example, Block.Outline. |
System.Boolean | optimizeCollimatorRotation | Specifies if the MLC rotation is optimized. |
JawFitting | jawFit | Controls whether the collimator jaws are positioned to match the MLC outline and how it is done. |
OpenLeavesMeetingPoint | olmp | Specifies the meeting point for MLC leaves and the structure outline (Inside/Middle/Outside). |
ClosedLeavesMeetingPoint | clmp | Specifies the placement of closed leaf pairs (Bank One/Center/Bank Two). |
FitMLCToStructure(Structure)
[Availability of this method depends on your Eclipse Scripting API license] Fits the MLC leaves in the beam to a structure with the default settings, or with settings from the previous fit. The margin is zero.
Declaration
public void FitMLCToStructure(Structure structure)
Parameters
Type | Name | Description |
---|---|---|
Structure | structure | The structure to fit the MLC leaves to. |
FitMLCToStructure(FitToStructureMargins, Structure, Boolean, JawFitting, OpenLeavesMeetingPoint, ClosedLeavesMeetingPoint)
[Availability of this method depends on your Eclipse Scripting API license] Fits the MLC leaves to a structure projection on the isocenter plane with the specified margin.
Declaration
public void FitMLCToStructure(FitToStructureMargins margins, Structure structure, bool optimizeCollimatorRotation, JawFitting jawFit, OpenLeavesMeetingPoint olmp, ClosedLeavesMeetingPoint clmp)
Parameters
Type | Name | Description |
---|---|---|
FitToStructureMargins | margins | Specifies the margin in all directions. |
Structure | structure | The structure to fit the MLC leaves to. |
System.Boolean | optimizeCollimatorRotation | Specify if the MLC rotation is optimized. |
JawFitting | jawFit | Controls whether and how the collimator jaws are positioned to match the MLC outline. |
OpenLeavesMeetingPoint | olmp | Specifies the meeting point for MLC leaves and the structure outline (Inside/Middle/Outside). |
ClosedLeavesMeetingPoint | clmp | Specifies the placement of closed leaf pairs (Bank One/Center/Bank Two). |
GantryAngleToUser(Double)
Converts the given gantry rotation value from the internal IEC scale to the user facing scale of the machine.
Declaration
public double GantryAngleToUser(double val)
Parameters
Type | Name | Description |
---|---|---|
System.Double | val | Gantry rotation value |
Returns
Type | Description |
---|---|
System.Double | The value in the user facing scale of the machine |
GetEditableParameters()
Returns an editable copy of the beam parameters. The returned BeamParameters object is not updated if the beam parameters in the data model are changed, for example, by using another BeamParameters object.
Declaration
public BeamParameters GetEditableParameters()
Returns
Type | Description |
---|---|
BeamParameters | Returns a new parameters object. Its values are copied from the corresponding properties of this object. |
GetOptimalFluence()
Gets the optimal fluence for this beam. Returns null if optimal fluence does not exist.
Declaration
public Fluence GetOptimalFluence()
Returns
Type | Description |
---|---|
Fluence | Returns the optimized fluence, if it exists. Otherwise null. |
GetSourceLocation(Double)
Returns the location of the radiation source at a given gantry angle of the beam.
Declaration
public VVector GetSourceLocation(double gantryAngle)
Parameters
Type | Name | Description |
---|---|---|
System.Double | gantryAngle | Gantry angle |
Returns
Type | Description |
---|---|
VVector | Source location |
GetStructureOutlines(Structure, Boolean)
If the structure has a segment, gets the outline of the structure on the isocenter plane of the beam.
Declaration
public Point[][] GetStructureOutlines(Structure structure, bool inBEV)
Parameters
Type | Name | Description |
---|---|---|
Structure | structure | The structure to be projected to the isocenter plane. |
System.Boolean | inBEV | If true, outlines are returned in the Beams Eye View (BEV) coordinates, where the collimator angle is 0.0 degrees. If false, outlines are returned in beam coordinates. Suitable for use with FitMLCToOutline(...). |
Returns
Type | Description |
---|---|
System.Windows.Point[][] | Outlines as points. |
JawPositionsToUserString(VRect<Double>)
Converts the given jaw positions from the internal IEC scale to a string in the user facing scale of the machine.
Declaration
public string JawPositionsToUserString(VRect<double> val)
Parameters
Type | Name | Description |
---|---|---|
VRect<System.Double> | val | Jaw postitions |
Returns
Type | Description |
---|---|
System.String | The value in the user facing scale of the machine |
PatientSupportAngleToUser(Double)
Converts the given patient support angle value from the internal IEC scale to the user facing scale of the machine.
Declaration
public double PatientSupportAngleToUser(double val)
Parameters
Type | Name | Description |
---|---|---|
System.Double | val | Patient support angle value |
Returns
Type | Description |
---|---|
System.Double | The value in the user facing scale of the machine |
RemoveFlatteningSequence()
[Availability of this method depends on your Eclipse Scripting API license] Removes the flattening sequence from a Halcyon field. Throws an exception if the field is not a Halcyon field.
Declaration
public bool RemoveFlatteningSequence()
Returns
Type | Description |
---|---|
System.Boolean | True if flattening sequence was removed. |
SetOptimalFluence(Fluence)
[Availability of this method depends on your Eclipse Scripting API license] Sets the optimal fluence for this beam. If the fluence is empty (the fluence is null or the dimensions of the fluence matrix are zero) an ArgumentException will be thrown. Setting the optimal fluence for the beam does not clear DVH Estimations of the plan.
Declaration
public void SetOptimalFluence(Fluence fluence)
Parameters
Type | Name | Description |
---|---|---|
Fluence | fluence | The optimal fluence to be set. |
WriteXml(XmlWriter)
Converts an object into its XML representation. For more information on how to serialize an object into an XML document, see System.Xml.Serialization.XmlSerializer.
Declaration
public override void WriteXml(XmlWriter writer)
Parameters
Type | Name | Description |
---|---|---|
System.Xml.XmlWriter | writer | The System.Xml.XmlWriter stream, to which the object is serialized. |