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 <[email protected]
<mailto:[email protected]>>
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 <[email protected]
<mailto:[email protected]>>:
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
[email protected] <mailto:[email protected]>
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
-------------------------------------------------
_______________________________________________
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 ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview