[ITK-users] Rotating image results in last slices being half empty

Dženan Zukić dzenanz at gmail.com
Thu Apr 13 11:13:32 EDT 2017


Hi Matias,

you are not using origenX or origenY after they are defined. But your
program (with modifications to make it compile) works for me:
[image: Inline image 1]

Regards,
Dženan Zukić, PhD, Senior R&D Engineer, Kitware (Carrboro, N.C.)

On Sat, Apr 8, 2017 at 6:08 PM, Matias <matimontg at gmail.com> wrote:

> Hi, I'm rotating a volume (Using the Euler3DTransform) and the final set
> of slices are half black or empty. here's an example when rotating a volume
> of 10 slices: Am I missing something such as changing the origin or maybe
> computing the center incorrectly? (The center is passed as parameter from
> another program) And here's the code I'm using: typedef
> itk::ResampleImageFilter<ImageType, ImageType> FilterType;
> FilterType::Pointer FiltroResample = FilterType::New();
> FiltroResample->SetInput(reader->GetOutput()); typedef itk::
> LinearInterpolateImageFunction<ImageType, double > InterpolatorType;
> InterpolatorType::Pointer interpolator = InterpolatorType::New();
> FiltroResample->SetInterpolator(interpolator); FiltroResample->
> SetOutputDirection(inputImage->GetDirection()); FiltroResample->
> SetOutputOrigin(inputImage->GetOrigin()); ImageType::SizeType inputSize =
> inputImage->GetLargestPossibleRegion().GetSize(); FiltroResample->SetSize(inputSize);
> const ImageType::SpacingType& inputSpacing = inputImage->GetSpacing();
> FiltroResample->SetOutputSpacing(inputSpacing); FiltroResample->SetDefaultPixelValue(-1000);
> typedef itk::Euler3DTransform< double > TransformType; //Transform
> TransformType::Pointer transform = TransformType::New(); double alfa, beta,
> gamma, centro_rotacion_X, centro_rotacion_Y, centro_rotacion_Z,
> origenX,origenY; gamma = atof(argv[2]); beta = atof(argv[3]); alfa =
> atof(argv[4]); centro_rotacion_X = atof(argv[5]); centro_rotacion_Y =
> atof(argv[6]); centro_rotacion_Z = atof(argv[7]); origenX = atof(argv[8]);
> origenY = atof(argv[9]); transform->SetRotation(gamma, beta, alfa); double
> centro[3] = { centro_rotacion_X, centro_rotacion_Y, centro_rotacion_Z };
> transform->SetCenter(centro); FiltroResample->SetTransform(transform);
> FiltroResample->Update();
> ------------------------------
> View this message in context: Rotating image results in last slices being
> half empty
> <http://itk-users.7.n7.nabble.com/Rotating-image-results-in-last-slices-being-half-empty-tp38081.html>
> Sent from the ITK - Users mailing list archive
> <http://itk-users.7.n7.nabble.com/> at Nabble.com.
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.php
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/insight-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/insight-users/attachments/20170413/66875069/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screenshot 2017-04-13 11.09.11.jpg
Type: image/jpeg
Size: 45704 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/insight-users/attachments/20170413/66875069/attachment.jpg>


More information about the Insight-users mailing list