X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkUnaryOperations.cxx;h=f2db9539af4e23a644e65c950ec29cb576086d68;hb=439d517c7006a120661fdc52243cf4108e247fb1;hp=dd9b65a8c6a6d2210179a918b4721c65b75ecfa7;hpb=cfad95b6e08e6e53846ffcda7fbc5932065f2c47;p=bbtk.git diff --git a/packages/vtk/src/bbvtkUnaryOperations.cxx b/packages/vtk/src/bbvtkUnaryOperations.cxx index dd9b65a..f2db953 100644 --- a/packages/vtk/src/bbvtkUnaryOperations.cxx +++ b/packages/vtk/src/bbvtkUnaryOperations.cxx @@ -54,69 +54,66 @@ void UnaryOperations::Process() return; } +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 ope->SetInput1((vtkDataObject*)bbGetInputIn1()); +#else + ope->SetInput1Data((vtkDataObject*)bbGetInputIn1()); +#endif - ope->SetConstantK(bbGetInputInConstant()); - ope->SetConstantC(bbGetInputInConstant()); - switch (bbGetInputOperation()) { case 0: + ope->SetConstantC( bbGetInputInConstant() ); ope->SetOperationToAddConstant(); break; case 1: -//EED Borrame crearPredeterminado(); - ope->SetInput2((vtkDataSet*) constante); - ope->SetOperationToSubtract(); + ope->SetConstantC( -1.0 * bbGetInputInConstant() ); + ope->SetOperationToAddConstant(); break; case 2: - ope->SetInput2((vtkDataSet*) constante); - ope->SetOperationToMultiply(); + ope->SetConstantK( bbGetInputInConstant() ); + ope->SetOperationToMultiplyByK(); +printf("EED UnaryOperations::Process() 2 \n"); break; case 3: - - ope->SetOperationToDivide(); + ope->SetConstantK( 1.0/bbGetInputInConstant() ); + ope->SetOperationToMultiplyByK(); +printf("EED UnaryOperations::Process() 3 \n"); break; case 4: ope->SetOperationToInvert(); break; - case 9: - ope->SetOperationToAbsoluteValue(); - break; case 5: - ope->SetOperationToSin(); break; case 6: - ope->SetOperationToCos(); break; case 7: - ope->SetOperationToExp(); break; case 8: - ope->SetOperationToLog(); break; - - -/* EED 21Juin 2011 Borrame + case 9: + ope->SetOperationToAbsoluteValue(); + break; case 10: - substractWithMinimum(); - bbSetOutputOut(constante); - return; + ope->SetOperationToSquareRoot(); break; case 11: - MultiplyBy(); - bbSetOutputOut(constante); - return; + ope->SetConstantC( bbGetInputInConstant() ); + ope->SetConstantK( bbGetInputNewValue() ); + ope->SetOperationToReplaceCByK(); break; -*/ + + + default: std::cout << "Invalid Operation" << std::endl; @@ -124,6 +121,7 @@ void UnaryOperations::Process() break; } + ope->Modified(); ope->Update(); vtkImageData* salida = ope->GetOutput(); @@ -132,73 +130,6 @@ void UnaryOperations::Process() } -/* Borrame Eduardo - Juan Pablo -void UnaryOperations::crearPredeterminado() -{ - int ext[6]; - vtkImageData* inicial = bbGetInputIn1(); - - - if (constante == NULL) - { - inicial->GetExtent(ext); - constante = vtkImageData::New(); - constante->SetExtent(ext); - constante->SetScalarType(inicial->GetScalarType()); - constante->AllocateScalars(); - constante->Update(); - } - - for (int i=ext[0]; i<=ext[1]; i++) - { - for (int j=ext[2]; j<=ext[3]; j++) - { - for (int k=ext[4]; k<=ext[5]; k++) - { - unsigned short* value = (unsigned short*)constante->GetScalarPointer(i,j,k); - *value = bbGetInputInConstant(); - } - } - } -} -*/ - - -void UnaryOperations::substractWithMinimum() -{ - int ext[6]; - double spc[3]; - vtkImageData* inicial = bbGetInputIn1(); - - - if (constante == NULL) - { - inicial->GetExtent(ext); - inicial->GetSpacing(spc); - constante = vtkImageData::New(); - constante->SetExtent(ext); - constante->SetSpacing(spc); - constante->SetOrigin(inicial->GetOrigin()); - constante->SetScalarType(inicial->GetScalarType()); - constante->AllocateScalars(); - constante->Update(); - } - - for (int i=ext[0]; i<=ext[1]; i++) - { - for (int j=ext[2]; j<=ext[3]; j++) - { - for (int k=ext[4]; k<=ext[5]; k++) - { - double temp1 = lector.getPixelValue(i,j,k,inicial); - double temp = temp1 - bbGetInputInConstant(); - if (temp < 0) - temp = 0; - lector.setPixelValue(i,j,k,constante,temp); - } - } - } -} void UnaryOperations::bbUserSetDefaultValues() @@ -209,6 +140,7 @@ void UnaryOperations::bbUserSetDefaultValues() bbSetInputIn1(NULL); bbSetOutputOut(NULL); bbSetInputInConstant(0); + bbSetInputNewValue(0); bbSetInputOperation(0); ope = vtkImageMathematics::New(); constante = NULL;