Class IonPlanSetup
Represents a proton treatment plan.
Inherited Members
Namespace: VMS.TPS.Common.Model.API
Assembly: VMS.TPS.Common.Model.API.dll
Syntax
public class IonPlanSetup : PlanSetup, IXmlSerializable, IDVHEstimationCalculator
Properties
DoseAsEvaluationDose
The evaluation dose is connected to the plan and contains voxels that are set by SetVoxels(Int32, Int32[,]) instead of the dose calculation algorithm. Returns null if the plan has no evaluation dose.
Declaration
public EvaluationDose DoseAsEvaluationDose { get; }
Property Value
Type | Description |
---|---|
EvaluationDose |
IonBeams
Gets the proton beams of the plan.
Declaration
public IEnumerable<IonBeam> IonBeams { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IonBeam> |
IsPostProcessingNeeded
Instructs whether to include the post-processing of scanning spots in proton dose calculation.
Declaration
public bool IsPostProcessingNeeded { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Methods
AddModulatedScanningBeam(ProtonBeamMachineParameters, String, Double, Double, Double, VVector)
[Availability of this method depends on your Eclipse Scripting API license] Adds a new proton modulated scanning beam to the plan.
Declaration
public Beam AddModulatedScanningBeam(ProtonBeamMachineParameters machineParameters, string snoutId, double snoutPosition, double gantryAngle, double patientSupportAngle, VVector isocenter)
Parameters
Type | Name | Description |
---|---|---|
ProtonBeamMachineParameters | machineParameters | Configuration of the used treatment unit. See ExternalBeamMachineParameters. |
System.String | snoutId | Snout ID. |
System.Double | snoutPosition | Snout position in centimeters. |
System.Double | gantryAngle | The orientation of the IEC GANTRY coordinate system with respect to the IEC FIXED REFERENCE coordinate system (in degrees). |
System.Double | patientSupportAngle | The orientation of the IEC PATIENT SUPPORT (turntable) coordinate system with respect to the IEC FIXED REFERENCE coordinate system (in degrees). |
VVector | isocenter | The isocenter position, in millimeters. |
Returns
Type | Description |
---|---|
Beam | The newly created proton beam. |
Remarks
All angles must be specified in degree within the range [0, 360].
CalculateBeamLine()
[Availability of this method depends on your Eclipse Scripting API license] Calculates the beam line for the proton plan.
Declaration
public CalculationResult CalculateBeamLine()
Returns
Type | Description |
---|---|
CalculationResult | The calculation result. See calculation details from CalculationLogs. |
CalculateDose()
[Availability of this method depends on your Eclipse Scripting API license] Calculates the dose for the proton plan.
Declaration
public CalculationResult CalculateDose()
Returns
Type | Description |
---|---|
CalculationResult | The calculation result. See calculation details from CalculationLogs. |
CalculateDoseWithoutPostProcessing()
Calculates the dose for a proton plan without post-processing. The existing final spot list is used, and no new list is created during the calculation.
Declaration
public CalculationResult CalculateDoseWithoutPostProcessing()
Returns
Type | Description |
---|---|
CalculationResult | The calculation result. See calculation details from CalculationLogs. |
CalculateDVHEstimates(String, Dictionary<String, DoseValue>, Dictionary<String, String>)
[Availability of this method depends on your Eclipse Scripting API license] Calculates DVH estimates for the plan.
Declaration
public CalculationResult CalculateDVHEstimates(string modelId, Dictionary<string, DoseValue> targetDoseLevels, Dictionary<string, string> structureMatches)
Parameters
Type | Name | Description |
---|---|---|
System.String | modelId | DVH estimation model ID. |
System.Collections.Generic.Dictionary<System.String, DoseValue> | targetDoseLevels | Dose levels for the target structures. |
System.Collections.Generic.Dictionary<System.String, System.String> | structureMatches | Matching between the IDs of the structures contained in the structure set used in the plan (the Key in the Dictionary) and the structures used in the DVH estimation model (the Value in the Dictionary). |
Returns
Type | Description |
---|---|
CalculationResult | The calculation result. See the calculation details CalculationLogs |
CopyEvaluationDose(Dose)
[Availability of this method depends on your Eclipse Scripting API license] Creates an evaluation dose for the plan. The voxels in an evaluation dose are copied from the existing dose matrix. To create an evaluation dose, the plan must not contain any beams.
Declaration
public EvaluationDose CopyEvaluationDose(Dose existing)
Parameters
Type | Name | Description |
---|---|---|
Dose | existing | The dose matrix is copied from this object. |
Returns
Type | Description |
---|---|
EvaluationDose | A new evaluation dose object. |
CreateDectVerificationPlan(Image, Image)
[Availability of this property depends on your Eclipse Scripting API license] Creates a new proton verification plan that is a copy of this plan and that has dose calculated using the DECT proton stopping power values calculated based on the input images "rhoImage" and "zImage".
Declaration
public IonPlanSetup CreateDectVerificationPlan(Image rhoImage, Image zImage)
Parameters
Type | Name | Description |
---|---|---|
Image | rhoImage | A DECT relative electron density image where the value each voxel is interpreted as rho = 0.001 * (value + 1000). |
Image | zImage | A DECT effective atomic number image. |
Returns
Type | Description |
---|---|
IonPlanSetup | A verification plan with dose calculated using DECT proton stopping powers. |
CreateEvaluationDose()
[Availability of this method depends on your Eclipse Scripting API license] Creates an evaluation dose for the plan. The voxels in an evaluation dose can be set using the Eclipse Scripting API instead of a dose calculation algorithm. To create an evaluation dose, the plan must not contain any beams. To set the evaluation dose voxels, retrieve the dose matrix using the DoseAsEvaluationDose property of the plan and then use SetVoxels(Int32, Int32[,]).
Declaration
public EvaluationDose CreateEvaluationDose()
Returns
Type | Description |
---|---|
EvaluationDose | A new evaluation dose object. |
Remarks
Saving modifications to the database is not possible if the evaluation dose has been created but voxels have not been set.
GetModelsForCalculationType(CalculationType)
Returns a list of calculation models for the given calculation type.
Declaration
public IEnumerable<string> GetModelsForCalculationType(CalculationType calculationType)
Parameters
Type | Name | Description |
---|---|---|
CalculationType | calculationType | The type of calculation. |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<System.String> | The list of calculation models. |
GetOptimizationMode()
Get information on whether the plan is optimized using multi-field optimization or single-field optimization.
Declaration
public IonPlanOptimizationMode GetOptimizationMode()
Returns
Type | Description |
---|---|
IonPlanOptimizationMode | MultiFieldOptimization if the plan uses multi-field proton optimization and returns SingleFieldOptimization if the plan uses single-field proton optimization. |
OptimizeIMPT(OptimizationOptionsIMPT)
[Availability of this method depends on your Eclipse Scripting API license] Runs IMPT optimization for the plan setup. Plan normalization method is changed to 'No plan normalization' after successful optimization.
Declaration
public OptimizerResult OptimizeIMPT(OptimizationOptionsIMPT options)
Parameters
Type | Name | Description |
---|---|---|
OptimizationOptionsIMPT | options | IMPT optimization options. |
Returns
Type | Description |
---|---|
OptimizerResult | The result of the optimization. |
PostProcessAndCalculateDose()
Post-processes the proton plan by creating a final spot list, and calculates the dose.
Declaration
public CalculationResult PostProcessAndCalculateDose()
Returns
Type | Description |
---|---|
CalculationResult | The calculation result. See calculation details from CalculationLogs. |
SetNormalization(IonPlanNormalizationParameters)
[Availability of this method depends on your Eclipse Scripting API license] Set the plan normalization. See cref="PlanNormalizationMode" for the supported plan normalization methods.
Declaration
public void SetNormalization(IonPlanNormalizationParameters normalizationParameters)
Parameters
Type | Name | Description |
---|---|---|
IonPlanNormalizationParameters | normalizationParameters | Normalization parameters |
See Also
SetOptimizationMode(IonPlanOptimizationMode)
[Availability of this method depends on your Eclipse Scripting API license] Set proton optimization to use either multi-field or single-field optimization.
Declaration
public void SetOptimizationMode(IonPlanOptimizationMode mode)
Parameters
Type | Name | Description |
---|---|---|
IonPlanOptimizationMode | mode | Set the parameter to MultiFieldOptimization to use multi-field optimization and set to SingleFieldOptimization to use single-field optimization. |
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. |