shift= A + (range[1]*newdifrange/difrange);
} // if type 3
- filter->SetInput( bbGetInputIn() );
- filter->SetOutputScalarType( outputformat );
- filter->SetScale( scale );
- filter->SetShift( shift );
+ filter1->SetInput( bbGetInputIn() );
+ filter1->SetOutputScalarType( VTK_DOUBLE );
+ filter1->SetShift( 0 );
+ filter1->SetScale( scale );
- mchange->SetInput( filter->GetOutput() );
+ filter2->SetInput( filter1->GetOutput() );
+ filter2->SetOutputScalarType( outputformat );
+ filter2->SetShift( shift );
+ filter2->SetScale( 1 );
+
+ mchange->SetInput( filter2->GetOutput() );
mchange->SetExtentTranslation( -ext[0], -ext[2], -ext[4] );
mchange->SetOutputSpacing (spc);
mchange->Update(); //important
bbSetInputB(0);
bbSetInputOutputFormat("SAME");
- filter = NULL;
+ filter1 = NULL;
+ filter2 = NULL;
mchange = NULL;
}
//=====
// but this is where you should allocate the internal/output pointers
// if any
- filter = vtkImageShiftScale::New();
+ filter1 = vtkImageShiftScale::New();
+ filter2 = vtkImageShiftScale::New();
mchange = vtkImageChangeInformation::New();
// but this is where you should desallocate the internal/output pointers
// if any
mchange->Delete();
- filter->Delete();
+ filter1->Delete();
+ filter2->Delete();
}
}