//------------------------------------------------------------------------------
-void vvSlicerManager::SetFilename(std::string f)
+void vvSlicerManager::SetFilename(std::string filename, int number)
{
- mFileName = f;
+ mFileName = filename;
+ mFileName = vtksys::SystemTools::GetFilenameName(mFileName);
+ mBaseFileName = vtksys::SystemTools::GetFilenameName(vtksys::SystemTools::GetFilenameWithoutLastExtension(mFileName));
+ // DD(mBaseFileName);
+ mBaseFileNameNumber = number;
+
for(unsigned int i=0; i<mSlicers.size(); i++) {
- mSlicers[i]->SetFileName(f);
+ mSlicers[i]->SetFileName(vtksys::SystemTools::GetFilenameWithoutLastExtension(filename));
+ }
+
+ if (number != 0) {
+ mFileName.append("_"+clitk::toString(number));
}
}
//------------------------------------------------------------------------------
//----------------------------------------------------------------------------
-bool vvSlicerManager::SetImage(std::string filename, LoadedImageType type, int n)
+bool vvSlicerManager::SetImage(std::string filename, LoadedImageType type, int n, unsigned int slice)
{
- mFileName = filename;
mType = type;
if (mReader == NULL)
mReader = new vvImageReader;
std::vector<std::string> filenames;
filenames.push_back(filename);
mReader->SetInputFilenames(filenames);
+ mReader->SetSlice(slice); // Only used for SLICED type
mReader->Update(type);
- mFileName = vtksys::SystemTools::GetFilenameName(mFileName);
- mBaseFileName = vtksys::SystemTools::GetFilenameName(vtksys::SystemTools::GetFilenameWithoutLastExtension(mFileName));
+ SetFilename(filename, n);
+ // mFileName = vtksys::SystemTools::GetFilenameName(mFileName);
+ //mBaseFileName = vtksys::SystemTools::GetFilenameName(vtksys::SystemTools::GetFilenameWithoutLastExtension(mFileName));
// DD(mBaseFileName);
- mBaseFileNameNumber = n;
+ //mBaseFileNameNumber = n;
if (mReader->GetLastError().size() == 0) {
mImage=mReader->GetOutput();
mLastError = mReader->GetLastError();
return false;
}
- if (n!=0) {
- // DD(mFileName);
- mFileName.append("_"+clitk::toString(n));
- }
+ // if (n!=0) {
+ // // DD(mFileName);
+ // mFileName.append("_"+clitk::toString(n));
+ // }
return true;
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-void vvSlicerManager::SetExtractedImage(std::string filename,vvImage::Pointer image, int slice)
-{
- mFileName = filename;
- mImage = vvImage::New();
- if (image->GetNumberOfDimensions() == 4) {
- mImage->AddImage(image->GetVTKImages()[slice]);
- for ( unsigned int i = 0; i < mSlicers.size(); i++) {
- mSlicers[i]->SetFileName(vtksys::SystemTools::GetFilenameWithoutLastExtension(filename));
- mSlicers[i]->SetImage(mImage);
- }
- } else {
- vtkImageClip* clipper = vtkImageClip::New();
- int extent[6];
- image->GetVTKImages()[0]->GetWholeExtent(extent);
- clipper->SetInput(image->GetVTKImages()[0]);
- clipper->SetOutputWholeExtent(extent[0],extent[1],extent[2],extent[3],slice,slice);
- clipper->Update();
- mImage->AddImage(clipper->GetOutput());
- for ( unsigned int i = 0; i < mSlicers.size(); i++) {
- mSlicers[i]->SetFileName(vtksys::SystemTools::GetFilenameWithoutLastExtension(filename));
- mSlicers[i]->SetImage(mImage);
- }
- clipper->Delete();
- }
-}
-//----------------------------------------------------------------------------
-
-
//----------------------------------------------------------------------------
vvSlicer* vvSlicerManager::GetSlicer(int i)
{
bool interpolate=!(mSlicers[0]->GetImageActor()->GetInterpolate());
for ( unsigned int i = 0; i < mSlicers.size(); i++) {
mSlicers[i]->GetImageActor()->SetInterpolate(interpolate);
+ if (mSlicers[i]->GetOverlayActor())
+ mSlicers[i]->GetOverlayActor()->SetInterpolate(interpolate);
+ if (mSlicers[i]->GetFusionActor())
+ mSlicers[i]->GetFusionActor()->SetInterpolate(interpolate);
}
}
//----------------------------------------------------------------------------
std::string component_type=mImage->GetScalarTypeAsITKString();
switch (preset) {
case 0:
- if (component_type == "unsigned_char") {
- window = 255;
- level = 127;
- } else if (component_type == "short") {
- window = 2000;
- level = 0;
- } else {
- double range[2];
- mImage->GetScalarRange(range);
- window = range[1] - range[0];
- level = (range[1] + range[0])* 0.5;
- }
+ double range[2];
+ mImage->GetScalarRange(range);
+ window = range[1] - range[0];
+ level = (range[1] + range[0])* 0.5;
break;
case 1:
window = 2000;
level = 0;
break;
case 2:
- window = 350;
- level = 60;
+ window = 400;
+ level = 20;
break;
case 3:
window = 1500;
if (mSlicers[i]->GetFusion() && mSlicers[i]->GetFusionActor()->GetVisibility()) {
mSlicers[i]->GetFusionActor()->SetOpacity(double(mFusionOpacity)/100);
mSlicers[i]->GetFusionMapper()->SetLookupTable(fusLUT);
+ mSlicers[i]->GetFusionMapper()->SetWindow(mFusionWindow);
+ mSlicers[i]->GetFusionMapper()->SetLevel(mFusionLevel);
}
}
if (fusLUT)