]> Creatis software - clitk.git/commitdiff
Add VerboseImageSize flag
authorDavid Sarrut <david.sarrut@creatis.insa-lyon.fr>
Mon, 26 Sep 2011 07:00:50 +0000 (09:00 +0200)
committerDavid Sarrut <david.sarrut@creatis.insa-lyon.fr>
Mon, 26 Sep 2011 07:00:50 +0000 (09:00 +0200)
common/clitkFilterBase.cxx
common/clitkFilterBase.h
common/clitkFilterBase.txx

index 482a82c52f249d365bea5e847e58c05da2ecd9ca..32dd9b46cfbeb49fe75cf1e87097f729a9f3d213 100644 (file)
@@ -29,6 +29,7 @@ clitk::FilterBase::FilterBase()
   VerboseWarningFlagOn();
   VerboseWarningFlagOff();
   VerboseMemoryFlagOff();
+  VerboseImageSizeFlagOff();
   SetWarning("");
   VerboseWarningFlagOn();
   m_IsCancelled = false;
index 25cfc4cee99773a93cf138650747214a4a39ad35..29caaf08d94fccb6fbe5d6c46410f7c6fb231d9c 100644 (file)
@@ -69,6 +69,11 @@ namespace clitk {
     itkGetConstMacro(VerboseMemoryFlag, bool);
     itkBooleanMacro(VerboseMemoryFlag);
 
+    // Verbose ImageSize
+    itkSetMacro(VerboseImageSizeFlag, bool);
+    itkGetConstMacro(VerboseImageSizeFlag, bool);
+    itkBooleanMacro(VerboseImageSizeFlag);
+
     // Steps management
     itkSetMacro(NumberOfSteps, int);
     itkGetConstMacro(NumberOfSteps, int);
@@ -115,13 +120,14 @@ namespace clitk {
     virtual ~FilterBase() {}    
     void StartNewStep(std::string s);
     template<class TInternalImageType>
-    void StopCurrentStep(typename TInternalImageType::Pointer p);
+    void StopCurrentStep(typename TInternalImageType::Pointer p, std::string txt="");
     void StopCurrentStep();
 
     bool m_VerboseFlag;  
     bool m_VerboseOptionFlag;  
     bool m_VerboseStepFlag;
     bool m_VerboseMemoryFlag;
+    bool m_VerboseImageSizeFlag;
     bool m_WriteStepFlag;
     int m_CurrentStepNumber;
     int m_NumberOfSteps;
index 81568ed71ced33e2793477682aa71a206ec002d2..d6c028e0739d0349bdd8261215afb2c61008c479 100644 (file)
@@ -59,7 +59,7 @@ void clitk::FilterBase::VerboseOptionV(std::string name, int nb, OptionType * va
 
 //--------------------------------------------------------------------
 template<class TInternalImageType>
-void clitk::FilterBase::StopCurrentStep(typename TInternalImageType::Pointer p) 
+void clitk::FilterBase::StopCurrentStep(typename TInternalImageType::Pointer p, std::string txt
 {
   StopCurrentStep();
   if (m_WriteStepFlag) {
@@ -68,6 +68,19 @@ void clitk::FilterBase::StopCurrentStep(typename TInternalImageType::Pointer p)
     clitk::writeImage<TInternalImageType>(p, name.str());
   }
   clitk::PrintMemory(GetVerboseMemoryFlag(), "End of step"); 
+  if (GetVerboseImageSizeFlag()) {
+    std::ostream & os = std::cout;
+    int dim = p->GetImageDimension();
+    int nb = 1;
+    os << txt << " size = ";
+    for(unsigned int i=0; i<dim-1; i++) {
+      os << p->GetLargestPossibleRegion().GetSize()[i] << "x";
+      nb *= p->GetLargestPossibleRegion().GetSize()[i];
+    }
+    os << p->GetLargestPossibleRegion().GetSize()[dim-1] << "  ";
+    nb *= p->GetLargestPossibleRegion().GetSize()[dim-1];
+    os << " pixels = " << nb << std::endl;    
+  }
 }
 //--------------------------------------------------------------------