From: Eduardo Davila Date: Mon, 14 Dec 2009 16:59:49 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: CREATOOLS.2-0-3~87 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=581e566e84a6829d8494e117728d195b0f078db1;p=creaMaracasVisu.git *** empty log message *** --- diff --git a/bbtk/bbs/appli/ExampleShowNPoints.bbs b/bbtk/bbs/appli/ExampleShowNPoints.bbs index b1c51a3..e353a3f 100644 --- a/bbtk/bbs/appli/ExampleShowNPoints.bbs +++ b/bbtk/bbs/appli/ExampleShowNPoints.bbs @@ -23,17 +23,19 @@ new LoadHola reader # uncomment next lines to have a file selector # --------------------------------------------- +/* new FileSelector openFileDialog set openFileDialog.Wildcard "(*.mhd)|*.mhd" new MetaImageReader reader connect openFileDialog.Out reader.In +*/ # uncomment next lines to use Gimmick # ----------------------------------- -/* + load creaImageIO new Gimmick reader -*/ + new ViewerNV viewer connect reader.Out viewer.In diff --git a/bbtk/src/bbmaracasvisuViewerNV.cxx b/bbtk/src/bbmaracasvisuViewerNV.cxx index 08c084b..48b69e5 100644 --- a/bbtk/src/bbmaracasvisuViewerNV.cxx +++ b/bbtk/src/bbmaracasvisuViewerNV.cxx @@ -63,6 +63,17 @@ void ViewerNV::Process() { vtkImageData* img = bbGetInputIn(); +/* + double spc[3]; + img->GetSpacing(spc); + printf ("EED ViewerNV::Process A %f %f %f \n", spc[0], spc[1], spc[2] ); + img->SetSpacing( 1,1,1 ); + img->Update( ); + img->GetSpacing(spc); + img->PrintSelf(std::cout,(vtkIndent)2); + img->Print(std::cout); + printf ("EED ViewerNV::Process B %f %f %f \n", spc[0], spc[1], spc[2] ); +*/ std::vector type = bbGetInputnTypeView(); // std::cout<<"img "<imagedata = imagedata; + this->imagedata->GetScalarRange(scalarRange); // RaC 20-11-09 Changes in InitLstContoursLinesYPoints int ext[6]; @@ -421,14 +422,16 @@ void ContourExtractData::CalculateImageResult() if ((i>=0) && (i<=ext[1]) && (j>=0) && (j<=ext[3])) { - if (isInside(i,j,_typeOperation)==true) + if (isInside(i,j,_typeOperation)==true) { - value = GetDataValue(i,j,zImage); + value = GetDataValue(i,j,zImage); + if ( (value>=scalarRange[0]) && (value<=scalarRange[1]) ) + { PutVtkImageDataResultValue(i,j,zImage, value ); - } // if - - }//if + } // scalarRange + } // if isInside + } // if ext } // for i } // for j @@ -442,10 +445,11 @@ void ContourExtractData::CalculateImageResult() } //------------------------------------------------------------------------ -void ContourExtractData::GetValuesInsideCrown(std::vector *pLstValue, - std::vector *pLstValuePosX, - std::vector *pLstValuePosY, - std::vector *pLstValuePosZ) +void ContourExtractData::GetValuesInsideCrown( int *numberOfPixels, + std::vector *pLstValue, + std::vector *pLstValuePosX, + std::vector *pLstValuePosY, + std::vector *pLstValuePosZ) { pLstValue->clear(); pLstValuePosX->clear(); @@ -461,7 +465,7 @@ void ContourExtractData::GetValuesInsideCrown(std::vector *pLstValue, int maxPoint[2]; int i,j; double value; - + int acum=0; minPoint[0] = 999999; minPoint[1] = 999999; @@ -481,34 +485,24 @@ void ContourExtractData::GetValuesInsideCrown(std::vector *pLstValue, if ((i>=0) && (i<=ext[1]) && (j>=0) && (j<=ext[3])) { - - if (isInside(i,j,_typeOperation)==true) + if (isInside(i,j,_typeOperation)==true) { - value = GetDataValue(i,j,zImage); - - // Borrame - // if (okImagesResults==true){ - // PutVtkImageDataResultValue(i,j,zImage, value ); - // } - - pLstValue -> push_back( value ); - pLstValuePosX -> push_back( i ); - pLstValuePosY -> push_back( j ); - pLstValuePosZ -> push_back( -1 ); - } // if - - } //if + acum++; + value = GetDataValue(i,j,zImage); + if ( (value>=scalarRange[0]) && (value<=scalarRange[1]) ) + { + pLstValue -> push_back( value ); + pLstValuePosX -> push_back( i ); + pLstValuePosY -> push_back( j ); + pLstValuePosZ -> push_back( -1 ); + } // scalarRange + } // if isInside + } // if ext } // for } // for - // Borrame - // if (this->okImagesResults==true){ - // imagedataValueResult->Modified(); - // imagedataMaskResult->Modified(); - // } - - + *numberOfPixels = acum; } //------------------------------------------------------------------------ @@ -656,9 +650,9 @@ void ContourExtractData::Statistics( std::vector *inputLstValue, acum_standardeviation = acum_standardeviation + tmp*tmp; } // for standar deviation standardeviation = sqrt(acum_standardeviation/size); - SetVolumeStatistics(countRange, size, - min,max, - acum_average,acum_standardeviation); + SetVolumeStatistics(countRange, (*rsize), + min,max, + acum_average,acum_standardeviation); } // if size } // if NULL @@ -743,6 +737,12 @@ void ContourExtractData::InitLstContoursLinesYPoints() } +void ContourExtractData::SetScalarRange(double min, double max) +{ + scalarRange[0]=min; + scalarRange[1]=max; +} + void ContourExtractData::SetSizeImageY(int pSizeImageY) { _sizeImageY=pSizeImageY; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/Contour/ContourExtractData.h b/lib/maracasVisuLib/src/interface/wxWindows/Contour/ContourExtractData.h index 6123e66..7003fcd 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/Contour/ContourExtractData.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/Contour/ContourExtractData.h @@ -19,7 +19,8 @@ void SetZtoBeAnalys( int z ); void SetLstManualContourModel( std::vector lstManConMod); - void GetValuesInsideCrown( std::vector *pLstValue, + void GetValuesInsideCrown( int *numberOfPixels, + std::vector *pLstValue, std::vector *pLstValuePosX, std::vector *pLstValuePosY, std::vector *pLstValuePosZ); @@ -45,6 +46,7 @@ double *vol_average, double *vol_standardeviation); void ResetImageResult(int z); + void SetScalarRange(double min, double max); void InitLstContoursLinesYPoints(); bool isInside(int x, int y, int typeOperation ); @@ -54,6 +56,7 @@ void SetSizeImageY(int pSizeImageY); private: + double scalarRange[2]; bool okImagesResults; // diff --git a/lib/maracasVisuLib/src/interface/wxWindows/Contour/Propagation.cxx b/lib/maracasVisuLib/src/interface/wxWindows/Contour/Propagation.cxx index c6d2365..580863f 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/Contour/Propagation.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/Contour/Propagation.cxx @@ -762,8 +762,8 @@ int PropContour::VectorDirection(std::vector*InX, std::vector*In { ax = (*InX)[i]-SumX; ay = (*InY)[i]-SumY; - bx = (*InX)[i+1]-SumX; - by = (*InY)[i+1]-SumY; + bx = (*InX)[(i+1)%size]-SumX; + by = (*InY)[(i+1)%size]-SumY; axb = (ax*by) - (bx*ay); if(axb > 0) { @@ -1096,7 +1096,7 @@ void PropContour::SetKeyContours(std::vector*InX, std::vector*In okFind=true; i=sizeKeyContour; } - if ( (_KeyContourZ[i-1] != _KeyContourZ[i]) ) + if ( (iGetInteractor(); -printf("EED %p vtkInteractorScrollZ::OnRightButtonDown A", this ); if ((interactor->GetControlKey()==0) && (interactor->GetShiftKey()==0) ){ -printf("EED %p vtkInteractorScrollZ::OnRightButtonDown B", this ); _stateFordware = true; _fordwareX = interactor->GetEventPosition()[0]; _fordwareY = interactor->GetEventPosition()[1]; @@ -40,7 +38,6 @@ bool vtkInteractorScrollZ::OnRightButtonUp() bool vtkInteractorScrollZ::OnMouseMove () { if (_stateFordware==true){ -printf("EED %p vtkInteractorScrollZ::OnMouseMove \n", this); //int fx = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[0]; // JPRx int fy = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1]; int delta = (_fordwareY - fy)/3; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx index 8cfed90..fd8fa4c 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx @@ -131,16 +131,13 @@ void vtkInteractorStyleBaseView::CallLstInteractorStyleMaracas(int type) for (i=0;iGetActive()==true){ -printf("EED %p vtkInteractorStyleBaseView C i=%d size=%d sizeLst%d\n", this, i, size, _lstInteractorStyleMaracas.size() ); if (type ==1) { // OnRightButtonDown if (intStyMar->OnRightButtonDown()==false) diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DView.cxx index 1893f32..cd40b52 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DView.cxx @@ -183,7 +183,6 @@ void wxVtkMPR3DView::Configure(){ //------------------------------------------------------------------- wxVtkMPR3DView::~wxVtkMPR3DView() { - printf("EED wxVtkMPR3DView::~wxVtkMPR3DView\n"); VisiblePointWidget( false ); VisiblePlaneWidget( false );