1 /*=========================================================================
2 Program: vv http://www.creatis.insa-lyon.fr/rio/vv
5 - University of LYON http://www.universite-lyon.fr/
6 - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr
7 - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr
9 This software is distributed WITHOUT ANY WARRANTY; without even
10 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11 PURPOSE. See the copyright notices for more information.
13 It is distributed under dual licence
15 - BSD See included LICENSE.txt file
16 - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
17 ======================================================================-====*/
20 #include "clitkFilterBase.h"
22 //--------------------------------------------------------------------
23 clitk::FilterBase::FilterBase()
26 SetVerboseOption(false);
27 SetCurrentStepNumber(0);
28 SetCurrentStepBaseId("");
31 VerboseWarningOffOn(); // OffOn, it's cool no ?
34 //--------------------------------------------------------------------
37 //--------------------------------------------------------------------
38 void clitk::FilterBase::ResetLastError()
42 //--------------------------------------------------------------------
45 //--------------------------------------------------------------------
46 void clitk::FilterBase::SetLastError(std::string e)
49 if (GetStopOnError()) {
50 std::cerr << GetLastError() << std::endl;
54 //--------------------------------------------------------------------
57 //--------------------------------------------------------------------
58 void clitk::FilterBase::SetWarning(std::string e)
61 if (!GetVerboseWarningOff()) {
62 std::cout << GetWarning() << std::endl;
65 //--------------------------------------------------------------------
68 //--------------------------------------------------------------------
69 void clitk::FilterBase::StartNewStep(std::string s)
71 //m_CurrentStepTimer.Reset();
72 // m_CurrentStepTimer.Start();
73 m_CurrentStepNumber++;
74 if (GetCurrentStepBaseId() != "") {
75 std::ostringstream oss;
76 oss << GetCurrentStepBaseId() << "." << m_CurrentStepNumber;
77 SetCurrentStepId(oss.str());
80 std::ostringstream oss;
81 oss << m_CurrentStepNumber;
82 SetCurrentStepId(oss.str());
85 m_CurrentStepName = "Step "+GetCurrentStepId()+" -- "+s;
87 std::cout << m_CurrentStepName << std::endl;
88 //"Step " << GetCurrentStepId() << " -- " << s << std::endl;
91 //--------------------------------------------------------------------
94 //--------------------------------------------------------------------
95 void clitk::FilterBase::StopCurrentStep()
97 // m_CurrentStepTimer.Stop();
98 // m_CurrentStepTimer.Print(std::cout);
99 // std::ostringstream oss;
101 // m_CurrentStepName = m_CurrentStepName +"
103 //--------------------------------------------------------------------
106 //--------------------------------------------------------------------
107 void clitk::FilterBase::SetMustStop(bool b)
111 SetLastError("Filter is interrupted.");
114 //--------------------------------------------------------------------
117 //--------------------------------------------------------------------
118 bool clitk::FilterBase::GetMustStop()
120 if (m_MustStop) return true;
121 if (HasError()) return true;
124 //--------------------------------------------------------------------