13#include <itksys/SystemTools.hxx>
68 while( filename.empty() || itksys::SystemTools::FileExists( (dir+
"/"+filename).c_str() ) )
72 filename = prefix + s.str() +
"." + ext;
76 filename = dir+
"/"+filename;
83 return itksys::SystemTools::GetFilenameWithoutExtension( s );
88 std::lock_guard<std::mutex> lock(d->
m_Mutex);
89 std::pair<std::set<std::string>::iterator,
bool> res = d->
m_FilesToDebug.insert( s );
95 std::lock_guard<std::mutex> lock(d->
m_Mutex);
101 std::lock_guard<std::mutex> lock(d->
m_Mutex);
107 std::lock_guard<std::mutex> lock(d->
m_Mutex);
108 std::pair<std::set<std::string>::iterator,
bool> res = d->
m_SymbolsToDebug.insert( symbolToDebug );
114 std::lock_guard<std::mutex> lock(d->
m_Mutex);
120 std::lock_guard<std::mutex> lock(d->
m_Mutex);
126 std::lock_guard<std::mutex> lock(d->
m_Mutex);
135 std::lock_guard<std::mutex> lock(d->
m_Mutex);
145 bool debugEnabled =
false;
146 size_t filesSize = 0;
147 size_t symbolsSize = 0;
148 bool symbolFound =
false;
150 std::lock_guard<std::mutex> lock(d->
m_Mutex);
165 if( symbolsSize > 0 )
172 if( !symbol.empty() )
183 std::lock_guard<std::mutex> lock(d->
m_Mutex);
189 std::lock_guard<std::mutex> lock(d->
m_Mutex);
195 std::lock_guard<std::mutex> lock(d->
m_Mutex);
201 std::lock_guard<std::mutex> lock(d->
m_Mutex);
207 std::lock_guard<std::mutex> lock(d->
m_Mutex);
213 std::lock_guard<std::mutex> lock(d->
m_Mutex);
219 std::lock_guard<std::mutex> lock(d->
m_Mutex);
225 std::lock_guard<std::mutex> lock(d->
m_Mutex);
231 std::lock_guard<std::mutex> lock(d->
m_Mutex);
232 d->
m_Stream.open ( file.c_str(), std::ios::out | std::ios::app);
237 std::lock_guard<std::mutex> lock(d->
m_Mutex);
244 newtime = localtime(&aclock);
245 timestr = asctime(newtime);
247 d->
m_Stream << timestr <<
", " << message;
250 std::cout << message << std::flush;
std::string m_DebugImagesOutputDirectory
std::set< std::string > m_FilesToDebug
size_t m_ShowImagesTimeOut
std::set< std::string > m_SymbolsToDebug
void SetFilesToDebug(const std::set< std::string > &filesToDebug)
std::string GetFilenameWithoutExtension(const std::string &s)
std::set< std::string > GetSymbolsToDebug()
void SetSymbolsToDebug(const std::set< std::string > &symbolsToDebug)
bool Debug(const std::string &fileToDebug, const std::string &symbol="")
bool DebugSymbol(const std::string &symbolToDebug)
void SetShowImagesInDebug(bool _ShowImagesInDebug)
bool AddSymbolToDebug(const std::string &symbolToDebug)
void SetShowImagesTimeOut(size_t _ShowImagesTimeOut)
static std::string GetUniqueFileName(const std::string &dir, const std::string &ext="jpg", const std::string &prefix="")
void SetDebugImagesOutputDirectory(const std::string &_DebugImagesOutputDirectory)
size_t GetShowImagesTimeOut()
bool GetShowImagesInDebug()
bool DebugFile(const std::string &fileToDebug)
static EndoDebug & GetInstance()
void SetDebugEnabled(bool _DebugEnabled)
std::string GetDebugImagesOutputDirectory() const
void ShowMessage(const std::string &message)
void SetLogFile(const std::string &file)
std::set< std::string > GetFilesToDebug()
bool AddFileToDebug(const std::string &fileToDebug)