//----------------------------------------------------------------------------
-bool vvSlicerManager::SetImage(std::string filename, LoadedImageType type, int n)
+bool vvSlicerManager::SetImage(std::string filename, LoadedImageType type, int n, unsigned int slice)
{
mType = type;
if (mReader == NULL)
std::vector<std::string> filenames;
filenames.push_back(filename);
mReader->SetInputFilenames(filenames);
+ mReader->SetSlice(slice); // Only used for SLICED type
mReader->Update(type);
SetFilename(filename, n);
//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-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);
}
}
//----------------------------------------------------------------------------
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)