X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkUnaryOperations.cxx;h=706949fe06a2c00025ac4e0ea0d301489264561e;hb=5ef20de28d80f6a2e34321fa000cf02914029365;hp=4f62f1a0665746406f8e7e53963fbe531b307b07;hpb=a2eeaea569d3db4c16a0897072a2fa16f845f21a;p=bbtk.git diff --git a/packages/vtk/src/bbvtkUnaryOperations.cxx b/packages/vtk/src/bbvtkUnaryOperations.cxx index 4f62f1a..706949f 100644 --- a/packages/vtk/src/bbvtkUnaryOperations.cxx +++ b/packages/vtk/src/bbvtkUnaryOperations.cxx @@ -57,20 +57,19 @@ void UnaryOperations::Process() ope->SetInput1((vtkDataObject*)bbGetInputIn1()); - ope->SetConstantK( bbGetInputInConstant() ); -// ope->SetConstantC(bbGetInputInConstant()); - switch (bbGetInputOperation()) { case 0: + ope->SetConstantC( bbGetInputInConstant() ); ope->SetOperationToAddConstant(); break; case 1: - ope->SetConstantK( -1.0 * bbGetInputInConstant() ); + ope->SetConstantC( -1.0 * bbGetInputInConstant() ); ope->SetOperationToAddConstant(); break; case 2: + ope->SetConstantK( bbGetInputInConstant() ); ope->SetOperationToMultiplyByK(); printf("EED UnaryOperations::Process() 2 \n"); @@ -84,20 +83,16 @@ printf("EED UnaryOperations::Process() 3 \n"); ope->SetOperationToInvert(); break; case 5: - ope->SetOperationToSin(); break; case 6: - ope->SetOperationToCos(); break; case 7: - ope->SetOperationToExp(); break; case 8: - ope->SetOperationToLog(); break; case 9: @@ -106,21 +101,14 @@ printf("EED UnaryOperations::Process() 3 \n"); case 10: ope->SetOperationToSquareRoot(); break; + case 11: + ope->SetConstantC( bbGetInputInConstant() ); + ope->SetConstantK( bbGetInputNewValue() ); + ope->SetOperationToReplaceCByK(); + break; -/* EED 21Juin 2011 Borrame - case 10: - substractWithMinimum(); - bbSetOutputOut(constante); - return; - break; - case 11: - MultiplyBy(); - bbSetOutputOut(constante); - return; - break; -*/ default: std::cout << "Invalid Operation" << std::endl; @@ -137,73 +125,6 @@ printf("EED UnaryOperations::Process() 3 \n"); } -/* 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() @@ -214,6 +135,7 @@ void UnaryOperations::bbUserSetDefaultValues() bbSetInputIn1(NULL); bbSetOutputOut(NULL); bbSetInputInConstant(0); + bbSetInputNewValue(0); bbSetInputOperation(0); ope = vtkImageMathematics::New(); constante = NULL;