]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageInfoUR.cxx
DFCH: ManualPaint + imageUndoRedo -> 50% tested. (Save Images undo and redo) :) :)
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / imageUndoRedo / imageInfoUR.cxx
1 /*
2  * ImageInfo.cxx
3  *
4  *  Created on: Sep 22, 2011
5  *      Author: caceres
6  */
7 #include "imageInfoUR.h"
8
9 ImageInfoUR::ImageInfoUR() {
10         this->m_Image = NULL;
11         this->m_OnMemory = false;
12         this->m_OnDisk = false;
13 }
14
15 ImageInfoUR::~ImageInfoUR() {
16 }
17
18 void ImageInfoUR::SetImageName(const std::string &imgName) {
19         this->m_ImageName = imgName;
20 }
21 void ImageInfoUR::SetRegion(const RegionStructUR &region) {
22         this->m_Region = region;
23 }
24 void ImageInfoUR::SetStatus(const bool& onMemory) {
25         this->m_OnMemory = onMemory;
26 }
27 void ImageInfoUR::SetImage(vtkImageData* img) {
28         this->m_Image = img;
29         this->SetStatus(true);
30 }
31 std::string ImageInfoUR::GetImageName() {
32         return (this->m_ImageName);
33 }
34 RegionStructUR ImageInfoUR::GetRegion() {
35         return (this->m_Region);
36 }
37 bool ImageInfoUR::GetStatus() {
38         return (this->m_OnMemory);
39 }
40 void ImageInfoUR::RemoveImageFromMemory(const std::string& gPath) {
41         if (!this->m_OnDisk) {
42                 this->SaveImageAsMHD(gPath);
43         }
44         this->m_Image = NULL;
45         this->SetStatus(false);
46 }
47 void ImageInfoUR::LoadImageMHDToMemory(const std::string& gPath) {
48         std::string filename = gPath + this->m_ImageName;
49         vtkSmartPointer<vtkMetaImageReader> reader = vtkSmartPointer<
50                         vtkMetaImageReader>::New();
51         reader->SetFileName(filename.c_str());
52         this->m_Image = reader->GetOutput();
53         this->m_OnMemory = true;
54 }
55 void ImageInfoUR::SaveImageAsMHD(const std::string& gPath) {
56         this->m_OnDisk = true;
57         std::string filename = gPath + this->m_ImageName;
58         vtkSmartPointer<vtkMetaImageWriter> w =
59                         vtkSmartPointer<vtkMetaImageWriter>::New();
60         w->SetInput(this->m_Image);
61         w->SetCompression(false);
62         w->SetFileDimensionality(this->m_Image->GetDataDimension());
63         w->SetFileName(filename.c_str());
64         w->Write();
65 }
66
67 void ImageInfoUR::RemoveImageFromDisk(const std::string& gPath)
68 {
69
70 }