X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOWxViewer.cpp;h=4a0f2835aabc5bf1732d6dc0ff2d1e71a34a880a;hb=da80530068246081505e9649523d10e8da8e6acd;hp=193fedb7881179c91504be980052c55f178f2e13;hpb=96ca5a0d7b7ccd6b4291160c19afd48e3207db2a;p=creaImageIO.git diff --git a/src2/creaImageIOWxViewer.cpp b/src2/creaImageIOWxViewer.cpp index 193fedb..4a0f283 100644 --- a/src2/creaImageIOWxViewer.cpp +++ b/src2/creaImageIOWxViewer.cpp @@ -5,13 +5,13 @@ #include #include #include - +#include #include #include #include using namespace crea; - +// Memory tracking allocation namespace creaImageIO { @@ -61,8 +61,7 @@ namespace creaImageIO wxBoxSizer *topsizer = new wxBoxSizer(wxVERTICAL); - // previewer - + // previewer mInteractor = new crea::creawxVTKRenderWindowInteractor(this,-1); mInteractor->UseCaptureMouseOn(); @@ -92,7 +91,7 @@ namespace creaImageIO //===================================================================== //================================================================ - void WxViewer::SetImageVector(std::vector& pointers) + void WxViewer::SetImageVector(std::vector >& pointers) { wxMutexLocker lock(mMutex); GimmickDebugMessage(6,"WxViewer::SetImageVector"< iph = imagePointers[mCurrent]; + //ImagePointerHolder* iph= imagePointers[mCurrent]; vtkImageData* currIm=iph->Get(); ShowImage(currIm); if ( currIm != mLastImageShown ) @@ -127,7 +127,8 @@ namespace creaImageIO else { mCurrent = 0; - ImagePointerHolder* iph=imagePointers[mCurrent]; + //ImagePointerHolder* iph=imagePointers[mCurrent]; + boost::shared_ptr iph = imagePointers[mCurrent]; vtkImageData* currIm=iph->Get(); ShowImage(currIm); if ( currIm != mLastImageShown ) @@ -144,22 +145,34 @@ namespace creaImageIO //===================================================================== void WxViewer::ShowImage(vtkImageData* im) { - GimmickDebugMessage(6,"WxViewer::ShowImage" <SetInput(im); - + mViewer->SetSlice( 0 ); - + int x1,x2,y1,y2,z1,z2; double spx,spy,spz; im->Update(); - + +//std::cout << "in WxViewer::ShowImage PrintSelf() ="; +//im->PrintSelf(std::cout, vtkIndent(2)); + im->GetSpacing(spx,spy,spz); - im->GetExtent (x1,x2,y1,y2,z1,z2); - + //im->GetExtent (x1,x2,y1,y2,z1,z2); // JPR + im->GetWholeExtent (x1,x2,y1,y2,z1,z2); +/* +std::cout << "in WxViewer::ShowImage GetWholeExtent ext ="; + std::cout << " [x1]=" << x1; + std::cout << " [x2]=" << x2; + std::cout << " [y1]=" << y1; + std::cout << " [y2]=" << y2; + std::cout << " [z1]=" << z1; + std::cout << " [z2]=" << z2; +std::cout << std::endl; +*/ if ((x1!=mx1) || (x2!=mx2) || (y1!=my1) || @@ -180,27 +193,23 @@ namespace creaImageIO mspx = spx; mspy = spy; mspz = spz; - + double *range = im->GetScalarRange(); - mViewer->SetColorWindow(range[1] - range[0]); - mViewer->SetColorLevel(0.5 * (range[1] + range[0])); + mViewer->SetColorWindow(range[1] - range[0]); + mViewer->SetColorLevel(0.5 * (range[1] + range[0])); - mViewer->GetRenderer()->ResetCamera(); + mViewer->GetRenderer()->ResetCamera(); double bounds[6]; + mViewer->GetRenderer()->ComputeVisiblePropBounds(bounds); - mViewer->GetRenderer()->ComputeVisiblePropBounds(bounds); - - - mViewer->GetRenderer()->ResetCameraClippingRange(bounds); - - - } - + mViewer->GetRenderer()->ResetCameraClippingRange(bounds); + mViewer->GetRenderer()->SetBackground(0.1,0.1,0.2); + } } //================================================================ - //================================================================ + //================================================================ bool WxViewer::RefreshIfNecessary() { if (mNeedRefresh)