[vtkusers] vtkContourWidget question
Karthik Krishnan
karthik.krishnan at kitware.com
Tue Oct 27 00:22:42 EDT 2009
Yes, that representation is intended to keep the contour on the focal
plane always and would explain that behaviour
On Mon, Oct 26, 2009 at 6:16 PM, Martin Gutzeit <itkvtk123 at gmx.net> wrote:
> 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