#include <creaImageIOGimmickView.h>
#include <creaImageIOSystem.h>
-
#include "boost/filesystem.hpp"
namespace fs = boost::filesystem;
//======================================================================
// CTor
- GimmickView::GimmickView(Gimmick* gimmick, int threads)
+ GimmickView::GimmickView(boost::shared_ptr<Gimmick> gimmick, int threads)
: mGimmick(gimmick),
mReader(threads)
{
///
void GimmickView::Initialize()
{
- mImageExtent=0;
mReaderStarted=false;
}
//======================================================================
{
if(mImageExtent!=0)
{
- mImageExtent=0;
+ // mImageExtent=0;
}
valid=true;
}
}
}
+ //======================================================================
+ /// No selected image
+ bool GimmickView::NoValidateSelected ()
+ {
+ GimmickDebugMessage(2,"Validating selected"<<std::endl);
+ std::string mMessage;
+ mMessage="Cannot have 0 images selected!";
+ valid=false;
+ modifyValidationSignal(valid);
+ SetMessage(mMessage);
+ return valid;
+ }
+
//======================================================================
///Validates the dimension compliance of the images with the maximum and
///minimum given, and between their sizes
}
else
{
- ImageExtent* ie=new ImageExtent((*sel).GetAttribute("D0028_0010"),
+ boost::shared_ptr<ImageExtent> ie=boost::shared_ptr<ImageExtent>(new ImageExtent((*sel).GetAttribute("D0028_0010"),
(*sel).GetAttribute("D0028_0011"),
(*sel).GetAttribute("D0028_0012"),
- "");
+ ""));
if(mImageExtent==0)
{
mImageExtent=ie;
out->SetScalarType(first->GetScalarType());
int ext[6];
first->GetExtent(ext);
- ext[5] = im.size();
+ ext[5] = im.size()-1;
out->SetExtent(ext);
// LG : TODO : Z Spacing ?
int dim[3];
first->GetDimensions(dim);
- unsigned long imsize =
+ unsigned long imsize = dim[0] * dim[1];/*
( (unsigned long)first->GetScalarPointer(0,1,0)
- (unsigned long)first->GetScalarPointer(0,0,0))
- *dim[1];
+ *dim[1];*/
int slice = 0;
std::vector<std::string>::iterator it;
// std::cout << "src="<<src<<std::endl;
// std::cout << "dst="<<dst<<std::endl;
// std::cout << "siz="<<imsize<<std::endl;
+ std::cout << slice;
memcpy(dst,src,imsize);
slice++;
- }
+ }
s.push_back(out);
-
+
}
}
}
//======================================================================
///Requests the reading of an image
void GimmickView::RequestReading(tree::Node* n,
- int prio, int selection_index, ImagePointerHolder *p)
+ int prio, int selection_index, boost::shared_ptr<ImagePointerHolder> p)
{
if(!mReaderStarted)
{
mReader.Start();
mReaderStarted=true;
}
- ImageEventType t(n,selection_index, p);
+ ImageEventType t(n,selection_index);
+ t.pointerHolder = p;
mImageEventMap[n->GetAttribute("FullFileName")] = t;
mReader.Request(this,n->GetAttribute("FullFileName"),prio);
}