private static void BuildMeanDoseConstraint(MayoConstraint mc, string structureName, PriorityType priority, out IConstraint c) { var doseUnit = GetDoseUnits(mc.Query.UnitsDesired); var dose = mc.ConstraintValue; var dv = new DoseValue(dose, doseUnit); switch (mc.Discriminator) { case Discriminator.EQUAL: case Discriminator.GREATER_THAN: case Discriminator.GREATHER_THAN_OR_EQUAL: c = new MinMeanDoseConstraint { ConstraintDose = dv, StructureName = structureName, Priority = priority }; break; case Discriminator.LESS_THAN: case Discriminator.LESS_THAN_OR_EQUAL: c = new MaxMeanDoseConstraint { ConstraintDose = dv, StructureName = structureName, Priority = priority }; break; default: c = null; break; } }
private static void BuildMinDoseConstraint(MayoConstraint mc, string structureName, PriorityType priority, out IConstraint c) { var doseUnit = GetDoseUnits(mc.Query.UnitsDesired); var dose = mc.ConstraintValue; var dv = new DoseValue(dose, doseUnit); c = new MinDoseConstraint { ConstraintDose = dv, StructureName = structureName, Priority = priority }; }
public static IConstraint ConvertToDVHConstraint(string structureName, PriorityType priority, MayoConstraint mc) { IConstraint c = null; switch (mc.Query.QueryType) { case QueryType.MAX_DOSE: BuildMaxDoseConstraint(mc, structureName, priority, out c); break; case QueryType.MIN_DOSE: BuildMinDoseConstraint(mc, structureName, priority, out c); break; case QueryType.MEAN_DOSE: BuildMeanDoseConstraint(mc, structureName, priority, out c); break; case QueryType.DOSE_AT_VOLUME: BuildDoseAtVolumeConstraint(mc, structureName, priority, out c); break; case QueryType.VOLUME_AT_DOSE: BuildVolumeAtDoseConstraint(mc, structureName, priority, out c); break; case QueryType.DOSE_COMPLIMENT: BuildDoseComplimentConstraint(mc, structureName, priority, out c); break; case QueryType.COMPLIMENT_VOLUME: BuildComplimentVolumeConstraint(mc, structureName, priority, out c); break; } return(c); }
public static IConstraint ToDVHConstraint(this MayoConstraint mc, string structureName, PriorityType priority) { return(MayoConstraintConverter.ConvertToDVHConstraint(structureName, priority, mc)); }
public static IConstraint Build(string structureName, string mayoConstraint, PriorityType priority = PriorityType.IDEAL) { var mayo = MayoConstraint.Read(mayoConstraint); return(mayo.ToDVHConstraint(structureName, priority)); }