]> Creatis software - clitk.git/commitdiff
Add PrintOptions and change orientation type names
authorDavid Sarrut <david.sarrut@creatis.insa-lyon.fr>
Mon, 26 Sep 2011 07:01:31 +0000 (09:01 +0200)
committerDavid Sarrut <david.sarrut@creatis.insa-lyon.fr>
Mon, 26 Sep 2011 07:01:31 +0000 (09:01 +0200)
itk/clitkAddRelativePositionConstraintToLabelImageFilter.h
itk/clitkAddRelativePositionConstraintToLabelImageFilter.txx

index 6e578db10276ebd408bea9055b384f7058ffee7b..fa5e95b1c39eb3bc90bc8488ca1feaad320c689a 100644 (file)
@@ -78,7 +78,7 @@ namespace clitk {
     typedef itk::Image<float, ImageDimension> FloatImageType;
 
     /** Orientation types */
-    typedef enum { AtRightTo = 0, AtLeftTo = 1,
+    typedef enum { RightTo = 0, LeftTo = 1,
                    AntTo = 2,   PostTo = 3, 
                    InfTo = 4,   SupTo = 5, Angle = 6
     } OrientationTypeEnumeration;
@@ -130,6 +130,9 @@ namespace clitk {
 
     // I dont want to verify inputs information
     virtual void VerifyInputInformation() { }
+    
+    // For debug
+    void PrintOptions();
 
   protected:
     AddRelativePositionConstraintToLabelImageFilter();
index 54f431109728bd8b31b4bdbd8b5d09cc9679e441..694910c6490434280661bbbba1d51dfbc96a3bbc 100644 (file)
@@ -121,22 +121,22 @@ clitk::AddRelativePositionConstraintToLabelImageFilter<ImageType>::
 AddOrientationTypeString(std::string t) 
 {
   m_OrientationTypeString.push_back(t);
-  switch (t[0]) {
-  case 'L' : AddOrientationType(AtLeftTo); break;
-  case 'R' : AddOrientationType(AtRightTo);break;
-  case 'A' : AddOrientationType(AntTo);break;
-  case 'P' : AddOrientationType(PostTo);break;
-  case 'S' : AddOrientationType(SupTo);break;
-  case 'I' : AddOrientationType(InfTo);break;
-  case 'N': 
-    if (t == "NotLeftTo") { AddOrientationType(AtLeftTo); InverseOrientationFlagOn(); break; }
-    if (t == "NotRightTo") { AddOrientationType(AtRightTo); InverseOrientationFlagOn(); break; }
-    if (t == "NotAntTo") { AddOrientationType(AntTo); InverseOrientationFlagOn(); break; }
-    if (t == "NotPostTo") { AddOrientationType(PostTo); InverseOrientationFlagOn(); break; }
-    if (t == "NotSupTo") { AddOrientationType(SupTo); InverseOrientationFlagOn(); break; }
-    if (t == "NotInfTo") { AddOrientationType(InfTo); InverseOrientationFlagOn(); break; }
-  default: clitkExceptionMacro("Error, you must provide L,R or A,P or S,I (or NotLeftTo, NotRightTo etc)");
-  }
+
+  if (t == "LeftTo") { AddOrientationType(LeftTo); return; }
+  if (t == "RightTo") { AddOrientationType(RightTo); return; }
+  if (t == "AntTo") { AddOrientationType(AntTo); return; }
+  if (t == "PostTo") { AddOrientationType(PostTo); return; }
+  if (t == "SupTo") { AddOrientationType(SupTo); return; }
+  if (t == "InfTo") { AddOrientationType(InfTo); return; }
+
+  if (t == "NotLeftTo") { AddOrientationType(LeftTo); InverseOrientationFlagOn(); return; }
+  if (t == "NotRightTo") { AddOrientationType(RightTo); InverseOrientationFlagOn(); return; }
+  if (t == "NotAntTo") { AddOrientationType(AntTo); InverseOrientationFlagOn(); return; }
+  if (t == "NotPostTo") { AddOrientationType(PostTo); InverseOrientationFlagOn(); return; }
+  if (t == "NotSupTo") { AddOrientationType(SupTo); InverseOrientationFlagOn(); return; }
+  if (t == "NotInfTo") { AddOrientationType(InfTo); InverseOrientationFlagOn(); return; }
+
+  clitkExceptionMacro("Error, you must provide LeftTo,RightTo or AntTo,PostTo or SupTo,InfTo (or NotLeftTo, NotRightTo etc) but you give " << t);
 }
 //--------------------------------------------------------------------
   
@@ -192,11 +192,11 @@ AddOrientationType(OrientationTypeEnumeration orientation)
 {
   m_OrientationType.push_back(orientation);
   switch (orientation) {
-  case AtRightTo:   
+  case RightTo:   
     m_Angle1.push_back(clitk::deg2rad(0));   
     m_Angle2.push_back(clitk::deg2rad(0));
     break;
-  case AtLeftTo:  
+  case LeftTo:  
     m_Angle1.push_back(clitk::deg2rad(180)); 
     m_Angle2.push_back(clitk::deg2rad(0));
     break;
@@ -230,6 +230,26 @@ AddOrientationType(OrientationTypeEnumeration orientation)
 //--------------------------------------------------------------------
 
 
+//--------------------------------------------------------------------
+template <class ImageType>
+void 
+clitk::AddRelativePositionConstraintToLabelImageFilter<ImageType>::
+PrintOptions() 
+{
+  DD((int)this->GetBackgroundValue());
+  DD((int)this->GetObjectBackgroundValue());
+  DDV(this->GetOrientationTypeString(), (uint)this->GetNumberOfAngles());
+  DD(this->GetIntermediateSpacingFlag());
+  DD(this->GetIntermediateSpacing());
+  DD(this->GetFuzzyThreshold());
+  DD(this->GetAutoCropFlag());
+  DD(this->GetInverseOrientationFlag());
+  DD(this->GetRemoveObjectFlag());
+  DD(this->GetCombineWithOrFlag());
+}
+//--------------------------------------------------------------------
+
+
 //--------------------------------------------------------------------
 template <class ImageType>
 void 
@@ -240,6 +260,18 @@ GenerateData()
     clitkExceptionMacro("Add at least one orientation type");
   }  
 
+  if (GetVerboseOptionFlag()) {
+    for(int i=0; i<GetNumberOfAngles(); i++) {
+        std::cout << "Orientation    \t:" << GetOrientationTypeString(i) << std::endl;
+    }
+    std::cout << "Interm Spacing \t:" << GetIntermediateSpacingFlag() << " " << GetIntermediateSpacing() << "mm" << std::endl;
+    std::cout << "Fuzzy threshold\t:" << GetFuzzyThreshold() << std::endl;
+    std::cout << "AutoCrop       \t:" << GetAutoCropFlag() << std::endl;
+    std::cout << "InverseOrient  \t:" << GetInverseOrientationFlag() << std::endl;
+    std::cout << "RemoveObject   \t:" << GetRemoveObjectFlag() << std::endl;
+    std::cout << "CombineWithOr  \t:" << GetCombineWithOrFlag() << std::endl;
+  }
+
   // Get input pointer
   input = dynamic_cast<ImageType*>(itk::ProcessObject::GetInput(0));
   object = dynamic_cast<ImageType*>(itk::ProcessObject::GetInput(1));