13 #ifndef mitkSimpleBarrierConstraintChecker_h
14 #define mitkSimpleBarrierConstraintChecker_h
50 itkFactorylessNewMacro(
Self);
72 PenaltyArrayType GetPenalties(
const ParametersType& parameters)
const override;
74 unsigned int GetNumberOfConstraints()
const override;
76 PenaltyValueType GetFailedConstraintValue()
const override;
79 void SetLowerBarrier(ParameterIndexType parameterID, BarrierValueType barrier,
80 BarrierWidthType width = 0.0);
82 void SetUpperBarrier(ParameterIndexType parameterID, BarrierValueType barrier,
83 BarrierWidthType width = 0.0);
85 void SetLowerSumBarrier(
const ParameterIndexVectorType& parameterIDs, BarrierValueType barrier,
86 BarrierWidthType width = 0.0);
88 void SetUpperSumBarrier(
const ParameterIndexVectorType& parameterIDs, BarrierValueType barrier,
89 BarrierWidthType width = 0.0);
93 Constraint& GetConstraint(
unsigned int index);
96 const Constraint& GetConstraint(
unsigned int index)
const;
100 void DeleteConstraint(
unsigned int index);
102 void ResetConstraints();
104 itkSetMacro(MaxConstraintPenalty, PenaltyValueType);
121 PenaltyValueType m_MaxConstraintPenalty;