Open
Description
I adapted the Create VerificationPlan code to work with both flat and FFF beams, but the beams copied to the verification plan have a different dose rate than the original plan. I put in debug print-outs and it appears the DR changes to 600 in the "ExternalBeamMachineParameters" method.
private static string CopyBeam(Beam originalBeam, ExternalPlanSetup plan, VVector isocenter, bool getCollimatorAndGantryFromBeam)
{
string eMode = originalBeam.EnergyModeDisplayName;
int DR = originalBeam.DoseRate;
ExternalBeamMachineParameters MachineParameters;
if (eMode.Split('-').Count() < 2)
{
MachineParameters=
new ExternalBeamMachineParameters(originalBeam.TreatmentUnit.Id, eMode, DR, originalBeam.Technique.Id, string.Empty); }
else
{
MachineParameters =
new ExternalBeamMachineParameters(originalBeam.TreatmentUnit.Id, eMode.Split('-').First(), DR,
originalBeam.Technique.Id, eMode.Split('-').Last());
}
// Create a new beam.
var collimatorAngle = getCollimatorAndGantryFromBeam ? originalBeam.ControlPoints.First().CollimatorAngle : 0.0;
var gantryAngle = getCollimatorAndGantryFromBeam ? originalBeam.ControlPoints.First().GantryAngle : 0.0;
var couchAngle = getCollimatorAndGantryFromBeam ? originalBeam.ControlPoints.First().PatientSupportAngle : 0.0;
var metersetWeights = originalBeam.ControlPoints.Select(cp => cp.MetersetWeight);
var beam = plan.AddSlidingWindowBeam(MachineParameters, metersetWeights, collimatorAngle, gantryAngle, couchAngle, isocenter);
System.Windows.MessageBox.Show("Beam" + beam.Id + "has a dose rate of " + beam.DoseRate.ToString());
// Copy control points from the original beam.
var editableParams = beam.GetEditableParameters();
for (var i = 0; i < editableParams.ControlPoints.Count(); i++)
{
editableParams.ControlPoints.ElementAt(i).LeafPositions = originalBeam.ControlPoints.ElementAt(i).LeafPositions;
editableParams.ControlPoints.ElementAt(i).JawPositions = originalBeam.ControlPoints.ElementAt(i).JawPositions;
}
beam.ApplyParameters(editableParams);
return beam.Id;
}
Would appreciate any ideas to fix this issue. I am at my wit's end
Metadata
Metadata
Assignees
Labels
No labels