]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageInfoUR.cxx
DFCH: UndoRedo + ManualPaint - Code update. Undo beta1 working :) :) :)
[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_OnMemory = false;
11         this->m_OnDisk = false;
12 }
13
14 ImageInfoUR::~ImageInfoUR() {
15 }
16
17 void ImageInfoUR::SetImageName(const StringType &imgName) {
18         this->m_ImageName = imgName;
19 }
20 void ImageInfoUR::SetRegion(const RegionStructUR &region) {
21         this->m_Region = region;
22 }
23 void ImageInfoUR::SetStatus(const bool& onMemory) {
24         this->m_OnMemory = onMemory;
25 }
26 void ImageInfoUR::SetImage(VTKImageDataPointerType img) {
27         this->m_Image = img;
28         this->SetStatus(true);
29 }
30 ImageInfoUR::StringType ImageInfoUR::GetImageName() {
31         return (this->m_ImageName);
32 }
33
34 ImageInfoUR::VTKImageDataPointerType ImageInfoUR::GetImage() {
35         return (this->m_Image);
36 }
37
38 RegionStructUR ImageInfoUR::GetRegion() {
39         return (this->m_Region);
40 }
41 bool ImageInfoUR::GetStatus() {
42         return (this->m_OnMemory);
43 }
44 void ImageInfoUR::RemoveImageFromMemory(const StringType& gPath) {
45         if (!this->m_OnDisk) {
46                 this->SaveImageAsMHD(gPath);
47         }
48         this->m_Image = NULL;
49         this->SetStatus(false);
50 }
51 void ImageInfoUR::LoadImageMHDToMemory(const StringType& gPath) {
52         StringType filename = gPath + this->m_ImageName;
53         VTKMetaImageReaderPointerType reader = VTKMetaImageReaderPointerType::New();
54         reader->SetFileName(filename.c_str());
55         this->m_Image = reader->GetOutput();
56         this->m_OnMemory = true;
57 }
58 void ImageInfoUR::SaveImageAsMHD(const StringType& gPath) {
59         this->m_OnDisk = true;
60         StringType filename = gPath + this->m_ImageName;
61         VTKMetaImageWriterPointerType w = VTKMetaImageWriterPointerType::New();
62         w->SetInput(this->m_Image);
63         w->SetCompression(false);
64         w->SetFileDimensionality(this->m_Image->GetDataDimension());
65         w->SetFileName(filename.c_str());
66         w->Write();
67 }
68
69 void ImageInfoUR::RemoveImageFromDisk(const StringType& gPath) {
70
71 }