[ITK-users] Python SimpleITK DivideReal always returns double image
Addison Elliott
addison.elliott at gmail.com
Tue Oct 10 23:21:51 EDT 2017
Hey guys,
When using Python 3.0+, the operator / utilizes __truediv__ instead of
__div__. For itk.Image, truediv uses DivideReal and div uses Divide. This
is relevant because DivideReal returns an image with double datatype and
Divide uses the datatype of the input image.
Since I am using 32-bit floats for my images, this requires me to cast to a
32-bit float each time. It would be more convenient if it mimicked the
datatype of the input image OR you could specify the desired datatype.
Here is a test case to show what I mean:
image = sitk.Image(50, 50, 50, sitk.sitkFloat32)
image2 = sitk.DivideReal(image, 4.0)
print(image) # <---- Type is float
print(image2) # <---- Type is double
image = sitk.Image(50, 50, 50, sitk.sitkFloat32)
image2 = sitk.Divide(image, 4.0)
print(image) # <---- Type is float
print(image2) # <---- Type is float
I've been using ITK for a few weeks and SimpleITK for about a week. I've
have SimpleITK built from source.
- Is this a feature/bug worthy of fixing?
- Can someone point me in the right direction as to where I should start
for fixing the issue?
- Any other tips and comments are welcome!
Addison
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/insight-users/attachments/20171010/5ea69e81/attachment.html>
More information about the Insight-users
mailing list