[vtkusers] vtkContourWidget question
Martin Gutzeit
itkvtk123 at gmx.net
Mon Oct 26 18:16:07 EDT 2009
Thank you very much.
I was able to resolve the issues.
I was accidentially using vtkOrientedGlyphFocalPlaneContourRepresentation instead of vtkOrientedGlyphContourRepresentation.
-------- Original-Nachricht --------
> Datum: Mon, 26 Oct 2009 13:04:30 -0400
> Von: Karthik Krishnan <karthik.krishnan at kitware.com>
> An: itkvtk123 at gmx.net
> CC: vtkusers at vtk.org
> Betreff: Re: [vtkusers] vtkContourWidget question
> Please post a minimal compiling example demonstrating issue (1). The
> following code minimal example should demonstrate a contour widget
> used in conjunction with an IMageActorPointPlacer and does not exhibit
> the issues you've described.
>
> The line interpolators etc should be invoked only when you interact
> with the contour widget, and this will happen only when your mouse
> cursor is in the vicinity of the contour widget. Are you saying that
> they are invoked even when you don't interact with the widget.
>
> You may choose to explicitly disable event processing to fix (2) by
> calling
>
> contourWidget->ProcessEventsOff();
>
> The interpolators should definitely not be invoked in this case.
>
> #include "vtkPNGReader.h"
> #include "vtkImageActor.h"
> #include "vtkImageData.h"
> #include "vtkRenderer.h"
> #include "vtkRenderWindow.h"
> #include "vtkRenderWindowInteractor.h"
> #include "vtkProperty.h"
> #include "vtkContourWidget.h"
> #include "vtkOrientedGlyphContourRepresentation.h"
> #include "vtkImageActorPointPlacer.h"
>
> int main(int argc, char*argv[])
> {
> // Create the RenderWindow, Renderer and both Actors
> //
> vtkRenderer *ren1 = vtkRenderer::New();
> vtkRenderWindow *renWin = vtkRenderWindow::New();
> renWin->AddRenderer(ren1);
>
> vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
> iren->SetRenderWindow(renWin);
>
> // Read two images of different modalities. T1 MRI and PD MRI.
> vtkPNGReader *t1MRIReader = vtkPNGReader::New();
> t1MRIReader->SetFileName("BrainProtonDensitySlice.png");
> t1MRIReader->Update();
>
> vtkImageActor *actor = vtkImageActor::New();
> actor->SetInput(t1MRIReader->GetOutput());
> actor->SetDisplayExtent( 0, 180, 0, 216, 0, 0 );
>
> // Add the actors to the renderer
> ren1->AddActor(actor);
>
> // Here comes the image actor constrained handle widget stuff.....
>
> vtkContourWidget *widget = vtkContourWidget::New();
> widget->SetInteractor(iren);
> vtkOrientedGlyphContourRepresentation *rep =
> vtkOrientedGlyphContourRepresentation::SafeDownCast(
> widget->GetRepresentation());
> rep->GetLinesProperty()->SetColor(1, 0.2, 0);
> rep->GetLinesProperty()->SetLineWidth(3.0);
>
> // Define the PointPlacer as the one that converts 2D display
> positions to
> // to those that lie on the image
> vtkImageActorPointPlacer * pointPlacer =
> vtkImageActorPointPlacer::New();
> pointPlacer->SetImageActor( actor );
> rep->SetPointPlacer(pointPlacer);
>
> renWin->Render();
> iren->Initialize();
> widget->EnabledOn();
>
> iren->Start();
>
> // Cleanups
> widget->Delete();
> t1MRIReader->Delete();
> actor->Delete();
> iren->Delete();
> renWin->Delete();
> ren1->Delete();
> pointPlacer->Delete();
>
> return 0;
> }
>
> On Mon, Oct 26, 2009 at 12:34 PM, <itkvtk123 at gmx.net> wrote:
> > Hey
> >
> > I have two questions concerning the vtkContourWidget.
> >
> > 1.
> > While drawing the points, how do I make the contour to stick onto the
> image?
> > I'm using ImageActorPointPlacer already, but the Nodes seem to be drawn
> at display coordinates and not at world coordinates.
> > (When zooming out, the image gets smaller, but the contour stays at the
> same size)
> >
> > 2.
> > Once my contour is drawn and I change the intensity window of
> vtkImageViewer2, all line interpolators of the vtkContourWidget are called.
> > Since my interpolation requires a lot of CPU power, I don't want this
> behaviour. Once the contour is drawn, it should stay as it is, i.e. any
> interaction with the render window should not alter the contour shape once the
> contour is completed (closed loop).
> >
> > Thank you for your answers
> > --
> > GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
> > Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
> > _______________________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> >
> > Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.vtk.org/mailman/listinfo/vtkusers
> >
>
>
>
> --
> Karthik Krishnan
> R&D Engineer,
> Kitware Inc.
> Ph: 518 881 4919
> Fax: 518 371 4573
--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
More information about the vtkusers
mailing list