Discussion:
[ITK-users] simpleitk Python ExtractImageFilter -- basic usage
R***@diamond.ac.uk
2018-05-24 15:53:42 UTC
Permalink
I'm sorry if I'm abit thick, but this doesn't work.
I tried to read documents and old mailing list entries, but I don't find an answer, just in the past someone with a similar problem wound up using CropImageFilter instead.


Can someone clarify why this doesn't work? I'd specifically LIKE to maintain the origin of the region as the origin of the original image.


1 import SimpleITK as sitk
2
3
4 rawimg = sitk.Image(50,60,70,sitk.sitkFloat32)
5 newim=sitk.Extract(rawimg,(20,30,40),(0,0,0))



Traceback (most recent call last):
File "./tryextract.py", line 12, in <module>
newim=sitk.Extract(rawimg,(20,30,40),(0,0,0))
File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 27140, in Extract
return _SimpleITK.Extract(*args, **kwargs)
RuntimeError: Exception thrown in SimpleITK Extract: /tmp/SimpleITK-build/ITK-prefix/include/ITK-4.13/itkExtractImageFilter.hxx:99:
itk::ERROR: ExtractImageFilter(0x7f7eb17d8e80): Extraction Region not consistent with output image
[***@i12-ws011 pycircles]$ python ./tryextract.py /dls/i12/data/2018/cm19662-3/tmp/bubble/onebub.tif -o /scratch/SSD/robert/onebub
Traceback (most recent call last):
File "./tryextract.py", line 5, in <module>
newim=sitk.Extract(rawimg,(20,30,40),(0,0,0))
File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 27140, in Extract
return _SimpleITK.Extract(*args, **kwargs)
RuntimeError: Exception thrown in SimpleITK Extract: /tmp/SimpleITK-build/ITK-prefix/include/ITK-4.13/itkExtractImageFilter.hxx:99:
itk::ERROR: ExtractImageFilter(0x7f8287a9e020): Extraction Region not consistent with output image


But the output image should be getting created (returned) by the filter?So how can it not be consistent???
Or what's going on?
Especially since it worked fine in a previous program with 2d data.



I tried a bit harder and used the object interface, and compare 2d and 3d, and try to set the collapse strategy..

And it works in 2d but not in 3d, I really can't see why.

1 import SimpleITK as sitk
2
3 rawimg2d = sitk.Image(50,60,sitk.sitkFloat32)
4 print rawimg2d.GetDimension()
5 extractor2d=sitk.ExtractImageFilter()
6 extractor2d.SetSize((20,30))
7 extractor2d.SetIndex((5,6))
8 extractor2d.SetDirectionCollapseToStrategy(extractor2d.DIRECTIONCOLLAPSETOIDENTITY)
9 print "strategy, ",extractor2d.GetDirectionCollapseToStrategy()
10 newimg2d=extractor2d.Execute(rawimg2d)
11
12 print "Finished 2d extractor"
13
14 rawimg3d = sitk.Image(50,60,70,sitk.sitkFloat32)
15 print rawimg3d.GetDimension()
16 extractor3d=sitk.ExtractImageFilter()
17 extractor3d.SetSize((20,30,40))
18 extractor3d.SetIndex((5,6,7))
19 extractor3d.SetDirectionCollapseToStrategy(extractor3d.DIRECTIONCOLLAPSETOIDENTITY)
20 print "strategy, ",extractor3d.GetDirectionCollapseToStrategy()
21 newimg3d=extractor3d.Execute(rawimg3d)
22 print "Finished 3d extractor"
23


python ./tryextract.py /

2
strategy, 1
Finished 2d extractor
3
strategy, 1
Traceback (most recent call last):
File "./tryextract.py", line 21, in <module>
newimg3d=extractor3d.Execute(rawimg3d)
File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 27115, in Execute
return _SimpleITK.ExtractImageFilter_Execute(self, *args)
RuntimeError: Exception thrown in SimpleITK ExtractImageFilter_Execute: /tmp/SimpleITK-build/ITK-prefix/include/ITK-4.13/itkExtractImageFilter.hxx:99:
itk::ERROR: ExtractImageFilter(0x7fbf77727bc0): Extraction Region not consistent with output image
--
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom

The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there!
________________________________
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:
https://itk.org/mailman/listinfo/insight-users
Lowekamp, Bradley (NIH/NLM/LHC) [C]
2018-05-24 17:54:09 UTC
Permalink
Can you please post you question to discourse?

https://discourse.itk.org

On 5/24/18, 12:12 PM, "***@diamond.ac.uk" <***@diamond.ac.uk> wrote:

I'm sorry if I'm abit thick, but this doesn't work.
I tried to read documents and old mailing list entries, but I don't find an answer, just in the past someone with a similar problem wound up using CropImageFilter instead.


Can someone clarify why this doesn't work? I'd specifically LIKE to maintain the origin of the region as the origin of the original image.


1 import SimpleITK as sitk
2
3
4 rawimg = sitk.Image(50,60,70,sitk.sitkFloat32)
5 newim=sitk.Extract(rawimg,(20,30,40),(0,0,0))



Traceback (most recent call last):
File "./tryextract.py", line 12, in <module>
newim=sitk.Extract(rawimg,(20,30,40),(0,0,0))
File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 27140, in Extract
return _SimpleITK.Extract(*args, **kwargs)
RuntimeError: Exception thrown in SimpleITK Extract: /tmp/SimpleITK-build/ITK-prefix/include/ITK-4.13/itkExtractImageFilter.hxx:99:
itk::ERROR: ExtractImageFilter(0x7f7eb17d8e80): Extraction Region not consistent with output image
[***@i12-ws011 pycircles]$ python ./tryextract.py /dls/i12/data/2018/cm19662-3/tmp/bubble/onebub.tif -o /scratch/SSD/robert/onebub
Traceback (most recent call last):
File "./tryextract.py", line 5, in <module>
newim=sitk.Extract(rawimg,(20,30,40),(0,0,0))
File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 27140, in Extract
return _SimpleITK.Extract(*args, **kwargs)
RuntimeError: Exception thrown in SimpleITK Extract: /tmp/SimpleITK-build/ITK-prefix/include/ITK-4.13/itkExtractImageFilter.hxx:99:
itk::ERROR: ExtractImageFilter(0x7f8287a9e020): Extraction Region not consistent with output image


But the output image should be getting created (returned) by the filter?So how can it not be consistent???
Or what's going on?
Especially since it worked fine in a previous program with 2d data.



I tried a bit harder and used the object interface, and compare 2d and 3d, and try to set the collapse strategy..

And it works in 2d but not in 3d, I really can't see why.

1 import SimpleITK as sitk
2
3 rawimg2d = sitk.Image(50,60,sitk.sitkFloat32)
4 print rawimg2d.GetDimension()
5 extractor2d=sitk.ExtractImageFilter()
6 extractor2d.SetSize((20,30))
7 extractor2d.SetIndex((5,6))
8 extractor2d.SetDirectionCollapseToStrategy(extractor2d.DIRECTIONCOLLAPSETOIDENTITY)
9 print "strategy, ",extractor2d.GetDirectionCollapseToStrategy()
10 newimg2d=extractor2d.Execute(rawimg2d)
11
12 print "Finished 2d extractor"
13
14 rawimg3d = sitk.Image(50,60,70,sitk.sitkFloat32)
15 print rawimg3d.GetDimension()
16 extractor3d=sitk.ExtractImageFilter()
17 extractor3d.SetSize((20,30,40))
18 extractor3d.SetIndex((5,6,7))
19 extractor3d.SetDirectionCollapseToStrategy(extractor3d.DIRECTIONCOLLAPSETOIDENTITY)
20 print "strategy, ",extractor3d.GetDirectionCollapseToStrategy()
21 newimg3d=extractor3d.Execute(rawimg3d)
22 print "Finished 3d extractor"
23


python ./tryextract.py /

2
strategy, 1
Finished 2d extractor
3
strategy, 1
Traceback (most recent call last):
File "./tryextract.py", line 21, in <module>
newimg3d=extractor3d.Execute(rawimg3d)
File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 27115, in Execute
return _SimpleITK.ExtractImageFilter_Execute(self, *args)
RuntimeError: Exception thrown in SimpleITK ExtractImageFilter_Execute: /tmp/SimpleITK-build/ITK-prefix/include/ITK-4.13/itkExtractImageFilter.hxx:99:
itk::ERROR: ExtractImageFilter(0x7fbf77727bc0): Extraction Region not consistent with output image



--
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom

The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there!
________________________________
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:
https://itk.org/mailman/listinfo/insight-users
The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there!
________________________________________
Community mailing list
***@itk.org
https://itk.org/mailman/listinfo/community


The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there!
________________________________
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:
https://itk.org/mailman/listinfo/insigh
R***@diamond.ac.uk
2018-05-25 09:13:52 UTC
Permalink
Done!
-----Original Message-----
From: Lowekamp, Bradley (NIH/NLM/LHC) [C]
Sent: 24 May 2018 18:54
Subject: Re: [ITK] [ITK-users] simpleitk Python ExtractImageFilter -- basic
usage
Can you please post you question to discourse?
https://discourse.itk.org
I'm sorry if I'm abit thick, but this doesn't work.
I tried to read documents and old mailing list entries, but I don't find an
answer, just in the past someone with a similar problem wound up using
CropImageFilter instead.
Can someone clarify why this doesn't work? I'd specifically LIKE to maintain
the origin of the region as the origin of the original image.
1 import SimpleITK as sitk
2
3
4 rawimg = sitk.Image(50,60,70,sitk.sitkFloat32)
5 newim=sitk.Extract(rawimg,(20,30,40),(0,0,0))
File "./tryextract.py", line 12, in <module>
newim=sitk.Extract(rawimg,(20,30,40),(0,0,0))
File "/home/kny48981/.local/lib/python2.7/site-
packages/SimpleITK/SimpleITK.py", line 27140, in Extract
return _SimpleITK.Extract(*args, **kwargs)
RuntimeError: Exception thrown in SimpleITK Extract: /tmp/SimpleITK-
itk::ERROR: ExtractImageFilter(0x7f7eb17d8e80): Extraction Region not
consistent with output image
/dls/i12/data/2018/cm19662-3/tmp/bubble/onebub.tif -o
/scratch/SSD/robert/onebub
File "./tryextract.py", line 5, in <module>
newim=sitk.Extract(rawimg,(20,30,40),(0,0,0))
File "/home/kny48981/.local/lib/python2.7/site-
packages/SimpleITK/SimpleITK.py", line 27140, in Extract
return _SimpleITK.Extract(*args, **kwargs)
RuntimeError: Exception thrown in SimpleITK Extract: /tmp/SimpleITK-
itk::ERROR: ExtractImageFilter(0x7f8287a9e020): Extraction Region not
consistent with output image
But the output image should be getting created (returned) by the filter?So
how can it not be consistent???
Or what's going on?
Especially since it worked fine in a previous program with 2d data.
I tried a bit harder and used the object interface, and compare 2d and 3d,
and try to set the collapse strategy..
And it works in 2d but not in 3d, I really can't see why.
1 import SimpleITK as sitk
2
3 rawimg2d = sitk.Image(50,60,sitk.sitkFloat32)
4 print rawimg2d.GetDimension()
5 extractor2d=sitk.ExtractImageFilter()
6 extractor2d.SetSize((20,30))
7 extractor2d.SetIndex((5,6))
8
extractor2d.SetDirectionCollapseToStrategy(extractor2d.DIRECTIONCOLLAPS
ETOIDENTITY)
9 print "strategy, ",extractor2d.GetDirectionCollapseToStrategy()
10 newimg2d=extractor2d.Execute(rawimg2d)
11
12 print "Finished 2d extractor"
13
14 rawimg3d = sitk.Image(50,60,70,sitk.sitkFloat32)
15 print rawimg3d.GetDimension()
16 extractor3d=sitk.ExtractImageFilter()
17 extractor3d.SetSize((20,30,40))
18 extractor3d.SetIndex((5,6,7))
19
extractor3d.SetDirectionCollapseToStrategy(extractor3d.DIRECTIONCOLLAPS
ETOIDENTITY)
20 print "strategy, ",extractor3d.GetDirectionCollapseToStrategy()
21 newimg3d=extractor3d.Execute(rawimg3d)
22 print "Finished 3d extractor"
23
python ./tryextract.py /
2
strategy, 1
Finished 2d extractor
3
strategy, 1
File "./tryextract.py", line 21, in <module>
newimg3d=extractor3d.Execute(rawimg3d)
File "/home/kny48981/.local/lib/python2.7/site-
packages/SimpleITK/SimpleITK.py", line 27115, in Execute
return _SimpleITK.ExtractImageFilter_Execute(self, *args)
/tmp/SimpleITK-build/ITK-prefix/include/ITK-
itk::ERROR: ExtractImageFilter(0x7fbf77727bc0): Extraction Region not
consistent with output image
--
This e-mail and any attachments may contain confidential, copyright and or
privileged material, and are for the use of the intended addressee only. If
you are not the intended addressee or an authorised recipient of the
addressee please notify us of receipt by returning the e-mail and do not use,
copy, retain, distribute or disclose the information in or attached to the e-
mail.
Any opinions expressed within this e-mail are those of the individual and
not necessarily of Diamond Light Source Ltd.
Diamond Light Source Ltd. cannot guarantee that this e-mail or any
attachments are free from viruses and we cannot accept liability for any
damage which you may sustain as a result of software viruses which may be
transmitted in or with the message.
Diamond Light Source Limited (company no. 4375679). Registered in
England and Wales with its registered office at Diamond House, Harwell
Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United
Kingdom
The ITK community is transitioning from this mailing list to discourse.itk.org.
Please join us there!
________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
http://www.kitware.com/products/protraining.php
http://www.itk.org/Wiki/ITK_FAQ
https://itk.org/mailman/listinfo/insight-users
The ITK community is transitioning from this mailing list to discourse.itk.org.
Please join us there!
________________________________________
Community mailing list
https://itk.org/mailman/listinfo/community
--
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom
The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there!
________________________________
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:
https://itk.o
Loading...