if (mVectorReader.IsNull())
mVectorReader = vvImageReader::New();
mVectorReader->SetInputFilename(filename);
- mVectorReader->Update(vvImageReader::VECTORFIELD);
+
+ if (mType == vvImageReader::IMAGEWITHTIME)
+ mVectorReader->Update(vvImageReader::VECTORFIELDWITHTIME);
+ else
+ mVectorReader->Update(vvImageReader::VECTORFIELD);
if (mVectorReader->GetLastError().size() != 0) {
mLastError = mVectorReader->GetLastError();
return false;
for ( unsigned int i = 0; i < mSlicers.size(); i++) {
if (slice != mSlicers[i]->GetTSlice()) {
mSlicers[i]->SetTSlice(slice);
- if (mSlicers[i]->GetImageActor()->GetVisibility())
UpdateTSlice(i);
}
}
if (mSlicers[slicer]->GetTSlice() == tslice) return;
mSlicers[slicer]->SetTSlice(tslice);
- if (mSlicers[slicer]->GetImageActor()->GetVisibility())
- UpdateTSlice(slicer);
+ UpdateTSlice(slicer);
}
//----------------------------------------------------------------------------
mSlicers[slicer]->Render();
for ( unsigned int i = 0; i < mSlicers.size(); i++) {
- if (i != (unsigned int)slicer && mSlicers[i]->GetImageActor()->GetVisibility()
+ if (i != (unsigned int)slicer
+ && mSlicers[i]->GetRenderer()->GetDraw()
&& mSlicers[i]->GetRenderWindow()->GetSize()[0] > 2
&& mSlicers[i]->GetRenderWindow()->GetSize()[1] > 2) {
mSlicers[i]->SetCurrentPosition(mSlicers[slicer]->GetCurrentPosition()[0],
}
//----------------------------------------------------------------------------
+//------------------------------------------------------------------------------
+void vvSlicerManager::ResetTransformationToIdentity(const std::string actorType)
+{
+ if(actorType == "image")
+ this->GetImage()->GetTransform()->Identity();
+ else if(actorType == "overlay")
+ this->GetSlicer(0)->GetOverlay()->GetTransform()->Identity();
+ else if(actorType == "fusion")
+ this->GetSlicer(0)->GetFusion()->GetTransform()->Identity();
+ else if(actorType == "vf")
+ this->GetVF()->GetTransform()->Identity();
+ else
+ return;
+
+ for(int i=0; i< this->GetNumberOfSlicers(); i++){
+ this->GetSlicer(i)->ForceUpdateDisplayExtent();
+ this->GetSlicer(i)->ResetCamera();
+ this->GetSlicer(i)->Render();
+ }
+}
+//------------------------------------------------------------------------------
//----------------------------------------------------------------------------
void vvSlicerManager::Render()
Z <= mSlicers[slicer]->GetInput()->GetWholeExtent()[5]) {
value = this->GetScalarComponentAsDouble(mSlicers[slicer]->GetInput(), X, Y, Z);
- if (mSlicers[slicer]->GetVFActor() && mSlicers[slicer]->GetVFActor()->GetVisibility()) {
+ if (mSlicers[slicer]->GetVFActor() ) {
displayVec = 1;
unsigned int currentTime = mSlicers[slicer]->GetTSlice();
vtkImageData *vf = NULL;
valueVec = sqrt(xVec*xVec + yVec*yVec + zVec*zVec);
}
}
- if (mSlicers[slicer]->GetOverlayActor() && mSlicers[slicer]->GetOverlayActor()->GetVisibility()) {
+ if (mSlicers[slicer]->GetOverlayActor() ) {
displayOver = 1;
vtkImageData *overlay = dynamic_cast<vtkImageData*>(mSlicers[slicer]->GetOverlayMapper()->GetInput());
double Xover = (x - overlay->GetOrigin()[0]) / overlay->GetSpacing()[0];
double Zover = (z - overlay->GetOrigin()[2]) / overlay->GetSpacing()[2];
valueOver = this->GetScalarComponentAsDouble(overlay, Xover, Yover, Zover);
}
- if (mSlicers[slicer]->GetFusionActor() && mSlicers[slicer]->GetFusionActor()->GetVisibility()) {
+ if (mSlicers[slicer]->GetFusionActor() ) {
displayFus = 1;
vtkImageData *fusion = dynamic_cast<vtkImageData*>(mSlicers[slicer]->GetFusionMapper()->GetInput());
double Xover = (x - fusion->GetOrigin()[0]) / fusion->GetSpacing()[0];
emit UpdateVector(displayVec,xVec, yVec, zVec, valueVec);
emit UpdateOverlay(displayOver,valueOver,value);
emit UpdateFusion(displayFus,valueFus);
- for (unsigned int i = 0; i < mSlicers.size(); i++) {
- if (mSlicers[i]->GetImageActor()->GetVisibility() == 1)
- emit UpdateWindows(i,mSlicers[i]->GetSliceOrientation(),mSlicers[i]->GetSlice());
- else
- emit UpdateWindows(i,-1,-1);
- }
}
}
//----------------------------------------------------------------------------
LUT->SetHueRange(0.4,0.80);
break;
case 3:
+ if (LUT == NULL)
+ LUT = vtkLookupTable::New();
+ LUT->SetValueRange(0.5,1);
+ LUT->SetSaturationRange(1,1);
+ LUT->SetHueRange(0.666,0);
+ break;
+ case 4:
if (LUT == NULL)
LUT = vtkLookupTable::New();
LUT->SetValueRange(0,1);
LUT->Build();
}
vtkWindowLevelLookupTable* fusLUT = NULL;
- if (mSlicers[0]->GetFusion()) { // && mFusionColorMap != 0) {
+ if (mSlicers[0]->GetFusion()) { // && mFusionColorMap >= 0) {
fusLUT = vtkWindowLevelLookupTable::New();
double fusRange [2];
fusRange[0] = mFusionLevel - mFusionWindow/2;
}
else if (mFusionColorMap == 4)
fusLUT->SetHueRange(0,1);
- else if (mFusionColorMap == 0)
+ else if (mFusionColorMap <= 0)
{
fusLUT->SetValueRange(0,1);
fusLUT->SetSaturationRange(0,0);
fusLUT->ForceBuild();
- // set color table transparancy
+ // set color table transparency
double alpha_range_end = frange[0] + (double)mFusionThresOpacity*(frange[1] - frange[0])/100;
for (double i = frange[0]; i < alpha_range_end; i++) {
double v[4];
}
if (mSlicers[i]->GetFusion()) {
- mSlicers[i]->GetFusionActor()->SetOpacity(double(mFusionOpacity)/100);
mSlicers[i]->GetFusionMapper()->SetLookupTable(fusLUT);
+ mSlicers[i]->GetFusionActor()->SetOpacity(double(mFusionOpacity)/100);
}
}
if (fusLUT)