[Paraview] Feature Request: vtkImageResample
Bryn Lloyd
blloyd at vision.ee.ethz.ch
Tue Apr 21 03:38:30 EDT 2009
Hi Jerome,
I have had the same problem. It seems to be an incompatibility with the
paraview pipeline.
Standard applications with these filters work fine.
It also affects the vtkImageConstantPad filter.
I sent my attempts to the list in March:
http://www.paraview.org/pipermail/paraview/2009-March/011351.html
bye
Bryn
Jérôme wrote:
> Hi,
>
> This is an up of this old thread. I have problems with vtkImageResample.
> I wrote an XML that exposes this filter to ParaView, and
> vtkImageGaussianSource and vtkImageMagnitude too. Please, could you try
> that and tell me if you can reproduce this behaviour ?
> - Load plugin as XML
> - Create a Gaussian Source and Apply with default settings
> - Plug an Image Resample proxy to the Gaussian Source output
> - Set Spacing to 0.5 0.5 0.5
> - Apply.
>
> Then, a normal behaviour would be for ImageResample to produce a volume
> with Extent twice more than input, so dimension (256, 256, 256). This is
> not the case. Extent is blocked to 0 127 0 127 0 127. With the given
> spacing, the bounding box is smaller than the input! You can try with a
> down-sampling of the input: set Spacing to 2 2 2 in Image Resample
> object property panel, Apply. Extent is twice less than input, Spacing
> twice more: bounding box is the same, this behaviour is correct.
>
> It acts like there is a saturation of the output extent according to the
> input one. I didn't note that problem within a python script (outside
> ParaView) and with an VTK-only dependent executable.
>
> Find attached the XML.
>
> Thanks for your time!
> Best regards,
>
> Jerome
> WIndows XP SP3, ParaView CVS, VS2008X
>
> 2009/1/30 Bryn Lloyd <blloyd at vision.ee.ethz.ch
> <mailto:blloyd at vision.ee.ethz.ch>>
>
> Hi again,
>
> It seems the vtkImageResample filter (and it's parent
> vtkImageReslice probably too) does not give the output array a name
> (unless no resampling is done).
>
> This would seem to be a bug. However, I couldn't follow the code in
> vtkImageReslice to see where the name could be set or what the
> problem is.
>
> Cheers
> Bryn
>
>
>
>
>
>
>
>
> Bryn Lloyd wrote:
>
> Hi,
>
> I have tried it in a similar way with no success.
>
>
> It works though using following Set-methods:
>
> //----------------------------------------------------------------------------
>
> void vtkImageResample2::SetOutputSpacing(double v[3])
> {
> this->SetOutputSpacing(v[0],v[1],v[2]);
> }
>
> //----------------------------------------------------------------------------
>
> void vtkImageResample2::SetOutputSpacing(double v0,double
> v1,double v2)
> {
> this->SetAxisOutputSpacing(0,v0);
> this->SetAxisOutputSpacing(1,v1);
> this->SetAxisOutputSpacing(2,v2);
> }
>
>
>
> With standard xml description:
>
> <DoubleVectorProperty
> name="OutputSpacing"
> command="SetOutputSpacing"
> number_of_elements="3"
> default_values="0 0 0" >
> </DoubleVectorProperty>
>
>
>
> I have place the code here:
>
> http://www.vision.ee.ethz.ch/~blloyd/vtkImageResample2/
> <http://www.vision.ee.ethz.ch/%7Eblloyd/vtkImageResample2/>
>
>
>
> This seems to work (extent is changed say for
> MagnifactionFactos="0.5 0.5 1.0"). But the image data becomes
> invisible. I think it converts the PointData->Arrays to some
> other form, e.g. image scalars or something, which paraview
> doesn't display.
>
>
> --Bryn
>
>
>
>
>
>
>
>
>
>
> Jérôme wrote:
>
> Hi,
>
> I tried to do what you talked about, because I need
> isotropic volumes
> for a number of algorithms. I think it is the same for you,
> right?
>
> I wrote an xml file that you can load in the plugin manager
> menu,
> according to this wiki page:
> http://paraview.org/Wiki/Plugin_HowTo#Enabling_a_filter_in_VTK
>
> The problem is that the VTK filter seems not to be
> paraview-compliant:
> it didn't work, but unfortunately I didn't have time to
> describe the
> bugs. I joint the xml file, so that you can try and please
> tell me if
> it works for you -then I may guess it is because of my
> settings...-.
>
> In a nutshell, here are my problems for a volume of spacing
> 0.5x0.5x1
> that I want to be 0.5x0.5x0.5 ie magnification factor = 0.5
> on axis z
> (= 2)
> - The filter updates, but the extent does not change in the
> output
> - When representation of input is 'Slice', the output
> dimensionality is 2 !!!
>
> I hope someone could find the mistake, wherever it comes (my
> xml,
> paraview, or VTK)
>
> I also write a Cxx class that inherites from
> vtkImageResample and
> computes automatically the magnification factor depending on a
> user-chosen reference axis (in my example, x or y). Today, I
> use an
> independent executable that converts an input mhd file into an
> isotropic volume, and then I open it in paraview. I would be
> glad if
> this step is part of a paraview pipeline, but my inherited
> class has
> the same behaviour than vtkImageResample (and I think that
> when I
> tried with the parent class vtkImageReslice, the same problem
> occured...).
>
> Jerome
>
> 2009/1/30 Bryn Lloyd <blloyd at vision.ee.ethz.ch
> <mailto:blloyd at vision.ee.ethz.ch>>:
>
> Dear VTK Developers
>
>
> I would like to use the vtkResampleImage class in
> Paraview (plugin). For
> this purpose it would be helpful if in addition to the
> methods
>
> SetAxisMagnificationFactor (int axis, double factor)
> SetAxisOutputSpacing (int axis, double spacing)
>
>
> which are valid for axis 0,1 and 2, following new
> functions could be added:
>
> SetAxisMagnificationFactor (double, double, double)
> SetAxisOutputSpacing (double, double, double)
>
>
> i.e. taking values for all three axis directions
> simultaneously.
>
>
> Could this be done?
>
>
> Thanks in advance!
>
> Bryn
>
>
>
>
> --
> -------------------------------------------------
> Bryn Lloyd
> Computer Vision Laboratory
> ETH Zürich, Sternwartstrasse 7
> CH - 8092 Zürich, Switzerland
> Tel: +41 44 63 26668
> Fax: +41 44 63 21199
> -------------------------------------------------
> _______________________________________________
> ParaView mailing list
> ParaView at paraview.org <mailto:ParaView at paraview.org>
> http://www.paraview.org/mailman/listinfo/paraview
>
>
>
>
>
> --
> -------------------------------------------------
> Bryn Lloyd
> Computer Vision Laboratory
> ETH Zürich, Sternwartstrasse 7
> CH - 8092 Zürich, Switzerland
> Tel: +41 44 63 26668
> Fax: +41 44 63 21199
> -------------------------------------------------
>
>
--
-------------------------------------------------
Bryn Lloyd
Computer Vision Laboratory
ETH Zürich, Sternwartstrasse 7
CH - 8092 Zürich, Switzerland
Tel: +41 44 63 26668
Fax: +41 44 63 21199
-------------------------------------------------
More information about the ParaView
mailing list