[vtkusers] Flattening a probed surface

Jonathan Ruiz Peinado jonathan.ruiz3 at gmail.com
Thu May 31 05:05:44 EDT 2012


by the way the pattern is not always the sameone, and I just note that is
not a pattern sometimes

2012/5/31 Jonathan Ruiz Peinado <jonathan.ruiz3 at gmail.com>

>
> This is how code looks now, I've got to use
> imageData.SetScalarTypeToUnsignedChar(); insetad Double because I got an
> error when I tried to show the image using imageActor, any way I'm not
> getting the image that I spected, not sure why, I'm getting a pattern
> repeated 3 times, just like the old tvs snow, do someone see what is wrong ?
> thanks!
>
> Hope it works for you jhroyer.
>
>         int width = spline.GetOutput().GetNumberOfPoints();
>         int height =
> dicomImage.getNormalized().GetOutput().GetDimensions()[2] + 1;
>
>         //image_data.SetDimensions(width, height, 1);
>         imageData.SetExtent(0, width - 1 ,0,  height - 1, 0, 0);
>         imageData.SetScalarTypeToUnsignedChar();
>         imageData.SetNumberOfScalarComponents(1);
>         imageData.SetSpacing(1.0, 1.0, 1.0);
>         imageData.SetOrigin(0.0, 0.0, 0.0);
>         imageData.AllocateScalars();
>         meshedSurface.Update();
>
>         for (int j=0; j < height; j++)
>         {
>             for(int i = 0; i < width;i++ )
>             {
>                 //System.out.println((j*width) + i) ;
>                 imageData.SetScalarComponentFromDouble(i, j, 0, 0,
> meshedSurface.GetOutput().GetPointData().GetScalars().GetTuple1( (j*width)
> + i ) );
>             }
>         }
>         imageActor.SetInput(imageData);
>
> 2012/5/30 Jonathan Ruiz Peinado <jonathan.ruiz3 at gmail.com>
>
>> Yes, now it's getting the array correctly, thanks!
>>
>>
>> 2012/5/30 Sebastien Jourdain <sebastien.jourdain at kitware.com>
>>
>>> Try to update the pipeline before accessing its data...
>>>
>>> On Wed, May 30, 2012 at 8:50 AM, Jonathan Ruiz Peinado
>>> <jonathan.ruiz3 at gmail.com> wrote:
>>> > No , actually sampleVolume.GetOutput() doesn't have a
>>> method GetScalars(),
>>> > and sampleVolume.GetOutput().GetPointData().GetScalars() returns null.
>>> >
>>> > Maybe I wrote it wrong in a previus mail.
>>> >
>>> > ¿ But could I get the scalars from the volume using the surface points
>>> as
>>> > reference ?
>>> >
>>> > // Probe the volume with the extruded surface
>>> > meshedSurface.SetInputConnection(1,
>>> > dicomImage.getNormalized().GetOutputPort());
>>> > meshedSurface.SetInput(0, surface);
>>> >
>>> > Scalar =
>>> >
>>> dicomImage.getNormalized().GetOutput().GetScalarComponentAsDouble(surfacecoord.x, surfacecoord.x, surfacecoord.x,
>>> > 0);
>>> >
>>> > 2012/5/30 Sebastien Jourdain <sebastien.jourdain at kitware.com>
>>> >>
>>> >> You previously told me that the following line was working
>>> >>
>>> >> sampleVolume.GetOutput().GetScalars()
>>> >>
>>> >> BTW sampleVolume is not a volume but a meshed surface.
>>> >>
>>> >> On Wed, May 30, 2012 at 6:41 AM, Jonathan Ruiz Peinado
>>> >> <jonathan.ruiz3 at gmail.com> wrote:
>>> >> > An update of the previous code, seems that setDimensions is going to
>>> >> > be deprecate at some point and is just for
>>> backwards compatibility so
>>> >> > this
>>> >> > is how it's looks now using setExtent instead:
>>> >> >
>>> >> >  //image_data.SetDimensions(width, height, 1);
>>> >> > image_data.SetExtent(0, width - 1 ,0,  height - 1, 0, 0);
>>> >> > image_data.SetScalarTypeToDouble();
>>> >> > image_data.SetNumberOfScalarComponents(1);
>>> >> > image_data.SetSpacing(1.0, 1.0, 1.0);
>>> >> > image_data.SetOrigin(0.0, 0.0, 0.0);
>>> >> > image_data.SetScalarComponentFromDouble(0, 0, 0, 0, 200.0);
>>> >> > image_data.AllocateScalars();
>>> >> >
>>> >> > Now I'm trying to figure out  how to get the scalars from the probed
>>> >> > surface
>>> >> >
>>> >> > sampleVolume.GetOutput().GetPointData().GetScalars() it's returning
>>> me a
>>> >> > null pointer...
>>> >> > any suggestion?
>>> >> >
>>> >> > 2012/5/30 Jonathan Ruiz Peinado <jonathan.ruiz3 at gmail.com>
>>> >> >>
>>> >> >> Ok, so I misunderstand some basics of VTK.
>>> >> >> I'm not sure about the meaning of cell or point, thanks it shows me
>>> >> >> something more about it.
>>> >> >> Is there some URL where I can go to get the basic theory about it ?
>>> >> >>
>>> >> >> This is how the code looks now, fisrt I'm going to show you how I'm
>>> >> >> Building the surface:
>>> >> >>
>>> >> >> rows = spline.GetOutput().GetNumberOfPoints();
>>> >> >> col =dicomImage.getNormalized().GetOutput().GetDimensions()[2];
>>> >> >> for (int row = 0; row < rows; row++)
>>> >> >>         {
>>> >> >>             for (int col = 0; col < cols; col++)
>>> >> >>             {
>>> >> >>                 double [] p = new double [3];
>>> >> >>                 line.GetPoint(row, p);
>>> >> >>                 x[0] = p[0] + direction[0] * col * spacing;
>>> >> >>                 x[1] = p[1] + direction[1] * col * spacing;
>>> >> >>                 x[2] = p[2] + direction[2] * col * spacing;
>>> >> >>                 points.InsertPoint(cnt++, x);
>>> >> >>             }
>>> >> >>         }
>>> >> >>
>>> >> >> An now how I've fixed the code that was wrong in my previous
>>> message:
>>> >> >> vtkImageData image_data= new vtkImageData();
>>> >> >>
>>> >> >> int width = spline.GetOutput().GetNumberOfPoints();
>>> >> >> int height =
>>> dicomImage.getNormalized().GetOutput().GetDimensions()[2];
>>> >> >>
>>> >> >>
>>> >> >> image_data.SetDimensions(width, height, 1); // 1 because I just
>>> want an
>>> >> >> slice by now
>>> >> >> //image_data.SetSpacing();
>>> >> >>
>>> >> >>
>>> >> >> Do I need to set the Spacing of the image_data or it has a valid
>>> >> >> default
>>> >> >> value?
>>> >> >>
>>> >> >>
>>> >> >>
>>> >> >>
>>> >> >> 2012/5/29 Sebastien Jourdain <sebastien.jourdain at kitware.com>
>>> >> >>>
>>> >> >>> The dimension is related to the number of points....
>>> >> >>>
>>> >> >>> Meaning one dimension will be the number of points that compose
>>> your
>>> >> >>> spline and the other will be the number of iteration the swipe is
>>> >> >>> doing.
>>> >> >>>
>>> >> >>> Seb
>>> >> >>>
>>> >> >>> On Tue, May 29, 2012 at 12:46 PM, jruiz <jonathan.ruiz3 at gmail.com
>>> >
>>> >> >>> wrote:
>>> >> >>> > Thanks, I'm going to follow your instructions step by step,
>>> first
>>> >> >>> > I'm
>>> >> >>> > trying
>>> >> >>> > to get de surface area to set the dimension of the image data.
>>> >> >>> >
>>> >> >>> > Is it even close ? I'm getting the length for the extruded
>>> spline as
>>> >> >>> > "width"
>>> >> >>> > and "height" is the length of the extrusion. I guess this values
>>> >> >>> > need
>>> >> >>> > to be
>>> >> >>> > multiply by the spacing what I get from the source image.
>>> >> >>> >
>>> >> >>> > vtkImageData image_data= new vtkImageData();
>>> >> >>> >
>>> >> >>> > double[] spacing =
>>> >> >>> > dicomImage.getNormalized().GetOutput().GetSpacing();
>>> >> >>> >
>>> >> >>> > double width = spline.GetLength() * spacing[0];
>>> >> >>> > double height = surfaceHeight * spacing[2];
>>> >> >>> >
>>> >> >>> > image_data.SetDimensions(width, height, 1);
>>> >> >>> >
>>> >> >>> > --
>>> >> >>> > View this message in context:
>>> >> >>> >
>>> >> >>> >
>>> http://vtk.1045678.n5.nabble.com/Flattening-a-probed-surface-tp5713443p5713466.html
>>> >> >>> > Sent from the VTK - Users mailing list archive at Nabble.com.
>>> >> >>> > _______________________________________________
>>> >> >>> > 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
>>> >> >>
>>> >> >>
>>> >> >
>>> >
>>> >
>>> >
>>> > _______________________________________________
>>> > 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
>>> >
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20120531/c40ff005/attachment.htm>


More information about the vtkusers mailing list