4 * Created on: Sep 22, 2011
7 #include "imageInfoUR.h"
9 ImageInfoUR::ImageInfoUR() {
11 this->m_OnMemory = false;
12 this->m_OnDisk = false;
15 ImageInfoUR::~ImageInfoUR() {
16 this->m_Image->Delete();
19 void ImageInfoUR::SetImageName(const std::string &imgName) {
20 this->m_ImageName = imgName;
22 void ImageInfoUR::SetRegion(const RegionStructUR ®ion) {
23 this->m_Region = region;
25 void ImageInfoUR::SetStatus(const bool& onMemory) {
26 this->m_OnMemory = onMemory;
28 void ImageInfoUR::SetImage(vtkImageData* img) {
30 this->SetStatus(true);
32 std::string ImageInfoUR::GetImageName() {
33 return (this->m_ImageName);
35 RegionStructUR ImageInfoUR::GetRegion() {
36 return (this->m_Region);
38 bool ImageInfoUR::GetStatus() {
39 return (this->m_OnMemory);
41 void ImageInfoUR::RemoveImageFromMemory(const std::string& gPath) {
42 if (!this->m_OnDisk) {
43 this->SaveImageAsMHD(gPath);
45 this->m_Image->Delete();
46 this->SetStatus(false);
48 void ImageInfoUR::LoadImageMHDToMemory(const std::string& gPath) {
49 std::string filename = gPath + this->m_ImageName;
50 vtkSmartPointer<vtkMetaImageReader> reader = vtkSmartPointer<
51 vtkMetaImageReader>::New();
52 reader->SetFileName(filename.c_str());
53 this->m_Image = reader->GetOutput();
54 this->m_OnMemory = true;
56 void ImageInfoUR::SaveImageAsMHD(const std::string& gPath) {
57 this->m_OnDisk = true;
58 std::string filename = gPath + this->m_ImageName;
59 vtkSmartPointer<vtkMetaImageWriter> w =
60 vtkSmartPointer<vtkMetaImageWriter>::New();
61 w->SetInput(this->m_Image);
62 w->SetCompression(false);
63 w->SetFileDimensionality(this->m_Image->GetDataDimension());
64 w->SetFileName(filename.c_str());
70 void ImageInfoUR::RemoveImageFromDisk(const std::string& gPath)