<div dir="ltr">Thanks Matt. In step 3, I generate a polar image and in Step 4 I want to get the corresponding cartesian image. Since in Step 3, the maximum radius of my polar image is R=20 , so I have the cartesian image range from -R to R for both X and Y and I set the default pixel to 0. The pixels in the polar image have value equal to R. So I expected a circular image similar to step 1. However I get a distorted/cropped semi-circle.<div><br></div><div>The use case of this program is the following. I have a cylindrical image. I have to re-sample it at finer intervals in theta. Then I want to convert it to cartesian co-ordinates. Given a polar to cartesian transform, shouldn't the resample image filter be able to handle this ?</div><div><br></div><div>Regarding the CurvilinearArraySpecialCoordinatesImage class. How can I use it to convert a cylindrical image to Cartesian image ? Since it is an "Image" class and not a "Transform" class, I am a little unclear on how to use it. Should I manually create the desired cartesian grid, find the co--responding polar co-ordinate using CurvilinearArraySpecialCoordinatesImage APIs and fill in the pixels. Also do have have to manually handle the interpolation ? Or can I still use the ResampleImageFileter to do these steps ?</div><div><br>Thanks,</div><div>Somesh</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Sep 11, 2016 at 1:37 PM, Matt McCormick <span dir="ltr"><<a href="mailto:matt.mccormick@kitware.com" target="_blank">matt.mccormick@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Somesh,<br>
<br>
One issue: the domain of the Polar image (Step 3) needs to be larger<br>
if it is going to be sampled in the domain requested in Step 4. If<br>
Step 4, the radius goes up to sqrt(20^2 + 20^2) instead of 20.<br>
<br>
In general, a SpecialCoordinatesImage like<br>
itkAzimuthElevationToCartesion<wbr>Transform works better than using a<br>
Transform in ITK. This is implemented here:<br>
<br>
  <a href="https://github.com/KitwareMedical/ITKUltrasound/blob/master/include/itkCurvilinearArraySpecialCoordinatesImage.h" rel="noreferrer" target="_blank">https://github.com/<wbr>KitwareMedical/ITKUltrasound/<wbr>blob/master/include/<wbr>itkCurvilinearArraySpecialCoor<wbr>dinatesImage.h</a><br>
<br>
HTH,<br>
Matt<br>
<div><div class="h5"><br>
On Sat, Sep 10, 2016 at 12:11 PM, Somesh <<a href="mailto:someshsandbox@gmail.com">someshsandbox@gmail.com</a>> wrote:<br>
> Hi,<br>
> I have a very simple polar to cartesian filter. Its similar to<br>
> itkAzimuthElevationToCartesian<wbr>Transform. The source code can be found @<br>
> <a href="https://github.com/someshSandbox/Polar2Cartesian" rel="noreferrer" target="_blank">https://github.com/<wbr>someshSandbox/Polar2Cartesian</a><br>
><br>
> I generate cartesian and polar images and use the resample filter to do the<br>
> conversion for testing. While the conversion from Cartesian to Polar works,<br>
> Polar to conversion doesn't. The sample images can be found at the following<br>
> links:<br>
><br>
> Created Cartesian Image: origin(-20, -20) size(40,40), spacing(1, 1)<br>
> <a href="https://github.com/someshSandbox/Polar2Cartesian/blob/master/images/Cartesian.png" rel="noreferrer" target="_blank">https://github.com/<wbr>someshSandbox/Polar2Cartesian/<wbr>blob/master/images/Cartesian.<wbr>png</a><br>
><br>
> Used filter to convert Cartesian Image to Polar: origin(0, 0) size(20,360),<br>
> spacing(1, 1). This works.<br>
> <a href="https://github.com/someshSandbox/Polar2Cartesian/blob/master/images/Cartesian2Polar.png" rel="noreferrer" target="_blank">https://github.com/<wbr>someshSandbox/Polar2Cartesian/<wbr>blob/master/images/<wbr>Cartesian2Polar.png</a><br>
><br>
> Created Polar Image: origin(0, 0) size(20,360), spacing(1, 1)<br>
> <a href="https://github.com/someshSandbox/Polar2Cartesian/blob/master/images/Polar.png" rel="noreferrer" target="_blank">https://github.com/<wbr>someshSandbox/Polar2Cartesian/<wbr>blob/master/images/Polar.png</a><br>
><br>
> User filter to convert Polar Image to cartesian: origin(-20, -20)<br>
> size(40,40), spacing(1,1). This doesn't work.<br>
> <a href="https://github.com/someshSandbox/Polar2Cartesian/blob/master/images/Polar2Cartesian.png" rel="noreferrer" target="_blank">https://github.com/<wbr>someshSandbox/Polar2Cartesian/<wbr>blob/master/images/<wbr>Polar2Cartesian.png</a><br>
><br>
> I am probably missing something trivial, but can't seem to locate the bug. I<br>
> would appreciate if someone can review the code.<br>
><br>
> Thanks,<br>
> Somesh<br>
><br>
><br>
</div></div>> ______________________________<wbr>_______<br>
> Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
><br>
> Visit other Kitware open-source projects at<br>
> <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/<wbr>opensource/opensource.html</a><br>
><br>
> Kitware offers ITK Training Courses, for more information visit:<br>
> <a href="http://www.kitware.com/products/protraining.php" rel="noreferrer" target="_blank">http://www.kitware.com/<wbr>products/protraining.php</a><br>
><br>
> Please keep messages on-topic and check the ITK FAQ at:<br>
> <a href="http://www.itk.org/Wiki/ITK_FAQ" rel="noreferrer" target="_blank">http://www.itk.org/Wiki/ITK_<wbr>FAQ</a><br>
><br>
> Follow this link to subscribe/unsubscribe:<br>
> <a href="http://public.kitware.com/mailman/listinfo/insight-users" rel="noreferrer" target="_blank">http://public.kitware.com/<wbr>mailman/listinfo/insight-users</a><br>
><br>
</blockquote></div><br></div>