### Declare clitkCommon library
ADD_LIBRARY(clitkCommon STATIC ${clitkCommon_SRC})
-### if LIBSTATGRAB is installed, add clitkMemoryUsage.cxx in the library
-IF(CLITK_MEMORY_INFO)
- FIND_PROGRAM(LIBSTATGRAB NAMES statgrab PATHS)
- IF (${LIBSTATGRAB} MATCHES "LIBSTATGRAB-NOTFOUND")
- MESSAGE( FATAL_ERROR "libstatgrab NOT FOUND -> please install http://www.i-scream.org/libstatgrab/")
- ELSE (${LIBSTATGRAB} MATCHES "LIBSTATGRAB-NOTFOUND")
- TARGET_LINK_LIBRARIES(clitkCommon statgrab)
- ENDIF (${LIBSTATGRAB} MATCHES "LIBSTATGRAB-NOTFOUND")
-ENDIF(CLITK_MEMORY_INFO)
-
TARGET_LINK_LIBRARIES(clitkCommon vtkCommon vtkImaging vtkHybrid ITKBasicFilters)
ADD_LIBRARY(clitkDicomRTStruct STATIC
#include "clitkCommon.h"
#include "clitkMemoryUsage.h"
+// itk include
+#include "itkMemoryUsageObserver.h"
+
void clitk::PrintMemory(bool verbose, std::string s)
{
#if CLITK_MEMORY_INFO == 1
if (s != "") std::cout << "==> " << s << ": ";
std::cout << mem << "MB (" << mem-previous << "MB)" << std::endl;
previous = mem;
- //DD(stat[i].proc_resident/1000/1000);
- //DD(stat[i].pid);
}
#endif
- }
+}
double clitk::GetMemoryUsageInMb()
{
-#if CLITK_MEMORY_INFO == 1
- //sleep(1); // wait to refresh memory ? need to let the system refresh the mem
- int * entries = new int;
- sg_process_stats * stat = new sg_process_stats;
- int i=0;
- stat = sg_get_process_stats(entries);
- // Search the current pid in the list of processes
- while (stat[i].pid != getpid()) i++;
- // Display total memory size
- double mem = stat[i].proc_resident/1024/1024; // in Mb
- return mem;
-#endif
- }
+ itk::MemoryUsageObserver memUsage;
+ return memUsage.GetMemoryUsage() / 1024.;
+}
// clitk include
#include "clitkConfiguration.h"
-// statgrab include
-#if CLITK_MEMORY_INFO == 1
-#include <statgrab.h>
-#endif
-
//--------------------------------------------------------------------
namespace clitk {