[Insight-users] Problems to read a vtk file using SimpleITK+Python

Ariel Hernán Curiale curiale at gmail.com
Wed Aug 7 12:24:27 EDT 2013


I'm sorry I forgot include the list.

The compiler used to compile python was:
>> print(sys.version)
2.7.5 (default, Aug  1 2013, 00:59:40) 
[GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))]


These are the compiler that I have in the system:

1)
/usr/bin/clang++ -> clang
/usr/bin/cc -> clang
Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin11.4.2
Thread model: posix

2)
/usr/bin/g++ -> ../llvm-gcc-4.2/bin/llvm-g++-4.2
/usr/bin/gcc -> llvm-gcc-4.2
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)

3) 
/usr/bin/i686-apple-darwin11-llvm-g++-4.2 -> ../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-g++-4.2
/usr/bin/i686-apple-darwin11-llvm-gcc-4.2 -> ../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)



I set the the variable CC to /usr/bin/cc and then I download and installed the python by mac port.


__________________________________
| Ariel Hernán Curiale Ph.D Student
| ETSI Telecomunicación
| Universidad de Valladolid
| Campus Miguel Delibes
| 47011 Valladolid, Spain
| Phone: 983-423000 ext. 5590
| Web: www.curiale.com.ar
|_________________________________

El 07/08/2013, a las 17:35, Bradley Lowekamp escribió:

> Please also include the list in your response.
> 
> What compiler was used to compile you macPort version of Python?
> 
> >>> import sys
> >>> print(sys.version)
> Brad
> 
> On Aug 7, 2013, at 10:51 AM, Ariel Hernán Curiale <curiale at gmail.com> wrote:
> 
>> Hi Brad,
>> 
>> I could run the code using the  version installed with easy_install but I prefer to use  the version from the source code. I think that I have a problem with clang 4.2 + python. I'll try to find what is happen.
>> 
>> Thanks a lot.
>> __________________________________
>> | Ariel Hernán Curiale Ph.D Student
>> | ETSI Telecomunicación
>> | Universidad de Valladolid
>> | Campus Miguel Delibes
>> | 47011 Valladolid, Spain
>> | Phone: 983-423000 ext. 5590
>> | Web: www.curiale.com.ar
>> |_________________________________
>> 
>> El 07/08/2013, a las 15:08, Bradley Lowekamp escribió:
>> 
>>> Hello,
>>> 
>>> If you try to download the build distribution for your system python, it the error there?
>>> 
>>> /usr/bin/easy_install SimpleITK
>>> 
>>> Also did you run the tests for you compilation of SimpleITK? any failures?
>>> 
>>> Brad
>>> 
>>> On Aug 7, 2013, at 6:43 AM, Ariel Hernán Curiale <curiale at gmail.com> wrote:
>>> 
>>>> Hi,
>>>> 
>>>> After rebuild the SimpleITK-0.6.1 the error is still there. The compilation of SimpleITK finish without any error.
>>>> 
>>>> I'm using:
>>>> ITK-4.4.0
>>>> Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
>>>> Python 2.7.5 from MacPort
>>>> 
>>>> 
>>>> Cheers,
>>>> __________________________________
>>>> | Ariel Hernán Curiale Ph.D Student
>>>> | ETSI Telecomunicación
>>>> | Universidad de Valladolid
>>>> | Campus Miguel Delibes
>>>> | 47011 Valladolid, Spain
>>>> | Phone: 983-423000 ext. 5590
>>>> | Web: www.curiale.com.ar
>>>> |_________________________________
>>>> 
>>>> El 06/08/2013, a las 23:14, Matt McCormick escribió:
>>>> 
>>>>> Hi Ariel,
>>>>> 
>>>>> Your code works when I run it  with SimpleITK 0.6.1:
>>>>> 
>>>>> In [4]: im2
>>>>> Out[4]: <SimpleITK.Image; proxy of <Swig Object of type 'std::vector<
>>>>> itk::simple::Image >::value_type *' at 0x4fdf300> >
>>>>> 
>>>>> In [5]: print(im2)
>>>>> Image (0x44ea740)
>>>>>  RTTI typeinfo:   itk::Image<double, 2u>
>>>>>  Reference Count: 1
>>>>>  Modified Time: 1413
>>>>>  Debug: Off
>>>>>  Observers:
>>>>>    none
>>>>>  Source: (none)
>>>>>  Source output name: (none)
>>>>>  Release Data: Off
>>>>>  Data Released: False
>>>>>  Global Release Data: Off
>>>>>  PipelineMTime: 1250
>>>>>  UpdateMTime: 1412
>>>>>  RealTimeStamp: 0 seconds
>>>>>  LargestPossibleRegion:
>>>>>    Dimension: 2
>>>>>    Index: [0, 0]
>>>>>    Size: [100, 100]
>>>>>  BufferedRegion:
>>>>>    Dimension: 2
>>>>>    Index: [0, 0]
>>>>>    Size: [100, 100]
>>>>>  RequestedRegion:
>>>>>    Dimension: 2
>>>>>    Index: [0, 0]
>>>>>    Size: [100, 100]
>>>>>  Spacing: [0.834496, 0.822352]
>>>>>  Origin: [0, 0]
>>>>>  Direction:
>>>>> 1 0
>>>>> 0 1
>>>>> 
>>>>>  IndexToPointMatrix:
>>>>>  0.834496 0
>>>>> 0 0.822352
>>>>> 
>>>>>  PointToIndexMatrix:
>>>>>  1.19833 0
>>>>> 0 1.21602
>>>>> 
>>>>>  Inverse Direction:
>>>>>  1 0
>>>>> 0 1
>>>>> 
>>>>>  PixelContainer:
>>>>>    ImportImageContainer (0x44ea910)
>>>>>      RTTI typeinfo:   itk::ImportImageContainer<unsigned long, double>
>>>>>      Reference Count: 1
>>>>>      Modified Time: 1409
>>>>>      Debug: Off
>>>>>      Observers:
>>>>>        none
>>>>>      Pointer: 0x506a530
>>>>>      Container manages memory: true
>>>>>      Size: 10000
>>>>>      Capacity: 10000
>>>>> 
>>>>> HTH,
>>>>> Matt
>>>>> 
>>>>> On Tue, Aug 6, 2013 at 8:26 PM, Ariel Hernán Curiale <curiale at gmail.com> wrote:
>>>>>> Hi Matt,
>>>>>> 
>>>>>> You are right, the vtk format is always 3D. If you have a 2D image  and save
>>>>>> it as vtk, then the writer automatically add the last dimension with a
>>>>>> spacing 1.
>>>>>> For example, this is the 2D image create with the python code:
>>>>>> 
>>>>>> ariel at Gohan:~/Uva/LPI/Proyectos/Python-ITK-VTK-QT/Ultrasonido/SpeckleTracking$
>>>>>> head -10 img.vtk
>>>>>> # vtk DataFile Version 3.0
>>>>>> VTK File Generated by Insight Segmentation and Registration Toolkit (ITK)
>>>>>> BINARY
>>>>>> DATASET STRUCTURED_POINTS
>>>>>> DIMENSIONS 100 100 1
>>>>>> SPACING 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
>>>>>> ORIGIN 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
>>>>>> POINT_DATA 10000
>>>>>> SCALARS scalars double 1
>>>>>> LOOKUP_TABLE default
>>>>>> .....
>>>>>> 
>>>>>> I don't know why the warning say that the spacing must be grater than 0
>>>>>> 
>>>>>> Ps: I can read this image using vtk.
>>>>>> 
>>>>>> Thanks for your quickly response.
>>>>>> 
>>>>>> Cheers,
>>>>>> __________________________________
>>>>>> | Ariel Hernán Curiale Ph.D Student
>>>>>> | ETSI Telecomunicación
>>>>>> | Universidad de Valladolid
>>>>>> | Campus Miguel Delibes
>>>>>> | 47011 Valladolid, Spain
>>>>>> | Phone: 983-423000 ext. 5590
>>>>>> | Web: www.curiale.com.ar
>>>>>> |_________________________________
>>>>>> 
>>>>>> El 06/08/2013, a las 17:52, Matt McCormick escribió:
>>>>>> 
>>>>>> Hi Ariel,
>>>>>> 
>>>>>> The VTK file format [1] is always 3D, so a non-zero spacing will need
>>>>>> to be specified if using this format.
>>>>>> 
>>>>>> HTH,
>>>>>> Matt
>>>>>> 
>>>>>> [1] www.vtk.org/VTK/img/file-formats.pdf
>>>>>> 
>>>>>> 
>>>>>> On Tue, Aug 6, 2013 at 3:00 PM, Ariel Hernán Curiale <curiale at gmail.com>
>>>>>> wrote:
>>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>> I create a simple example to show you the problem that I'm getting when I'm
>>>>>> 
>>>>>> trying to read a vtk file. I'm using the last release of SimpleITK
>>>>>> 
>>>>>> (SimpleITK-0.6.1) and python.
>>>>>> 
>>>>>> In this example, I create, write and read a simple image.
>>>>>> 
>>>>>> 
>>>>>> Here is the code:
>>>>>> 
>>>>>> -------------------------
>>>>>> 
>>>>>> import SimpleITK as sitk
>>>>>> 
>>>>>> import scipy as sc
>>>>>> 
>>>>>> 
>>>>>> dim = (100, 100)
>>>>>> 
>>>>>> origin = (0, 0)
>>>>>> 
>>>>>> spacing = (0.834496, 0.8223519)
>>>>>> 
>>>>>> img = sc.zeros(dim)
>>>>>> 
>>>>>> 
>>>>>> img[20:40, 20:40] = 1
>>>>>> 
>>>>>> 
>>>>>> img_sitk = sitk.GetImageFromArray(img)
>>>>>> 
>>>>>> img_sitk.SetOrigin(origin)
>>>>>> 
>>>>>> img_sitk.SetSpacing(spacing)
>>>>>> 
>>>>>> 
>>>>>> print img_sitk
>>>>>> 
>>>>>> sitk.Show(img_sitk)
>>>>>> 
>>>>>> sitk.WriteImage(img_sitk,"img.vtk")
>>>>>> 
>>>>>> 
>>>>>> im = sitk.ReadImage("img.vtk")
>>>>>> 
>>>>>> 
>>>>>> reader = sitk.ImageFileReader()
>>>>>> 
>>>>>> reader.SetFileName("img.vtk")
>>>>>> 
>>>>>> im2 = reader.Execute()
>>>>>> 
>>>>>> --------
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> The img_sitk seems to be created properly:
>>>>>> 
>>>>>> ----
>>>>>> 
>>>>>> Image (0x7f9a95ff8550)
>>>>>> 
>>>>>> RTTI typeinfo:   itk::Image<double, 2u>
>>>>>> 
>>>>>> Reference Count: 1
>>>>>> 
>>>>>> Modified Time: 3295
>>>>>> 
>>>>>> Debug: Off
>>>>>> 
>>>>>> Observers:
>>>>>> 
>>>>>>   none
>>>>>> 
>>>>>> Source: (none)
>>>>>> 
>>>>>> Source output name: (none)
>>>>>> 
>>>>>> Release Data: Off
>>>>>> 
>>>>>> Data Released: False
>>>>>> 
>>>>>> Global Release Data: Off
>>>>>> 
>>>>>> PipelineMTime: 0
>>>>>> 
>>>>>> UpdateMTime: 0
>>>>>> 
>>>>>> RealTimeStamp: 0 seconds
>>>>>> 
>>>>>> LargestPossibleRegion:
>>>>>> 
>>>>>>   Dimension: 2
>>>>>> 
>>>>>>   Index: [0, 0]
>>>>>> 
>>>>>>   Size: [100, 100]
>>>>>> 
>>>>>> BufferedRegion:
>>>>>> 
>>>>>>   Dimension: 2
>>>>>> 
>>>>>>   Index: [0, 0]
>>>>>> 
>>>>>>   Size: [100, 100]
>>>>>> 
>>>>>> RequestedRegion:
>>>>>> 
>>>>>>   Dimension: 2
>>>>>> 
>>>>>>   Index: [0, 0]
>>>>>> 
>>>>>>   Size: [100, 100]
>>>>>> 
>>>>>> Spacing: [0.834496, 0.822352]
>>>>>> 
>>>>>> Origin: [0, 0]
>>>>>> 
>>>>>> Direction:
>>>>>> 
>>>>>> 1 0
>>>>>> 
>>>>>> 0 1
>>>>>> 
>>>>>> 
>>>>>> IndexToPointMatrix:
>>>>>> 
>>>>>> 0.834496 0
>>>>>> 
>>>>>> 0 0.822352
>>>>>> 
>>>>>> 
>>>>>> PointToIndexMatrix:
>>>>>> 
>>>>>> 1.19833 0
>>>>>> 
>>>>>> 0 1.21602
>>>>>> 
>>>>>> 
>>>>>> Inverse Direction:
>>>>>> 
>>>>>> 1 0
>>>>>> 
>>>>>> 0 1
>>>>>> 
>>>>>> 
>>>>>> PixelContainer:
>>>>>> 
>>>>>>   ImportImageContainer (0x7f9a960309b0)
>>>>>> 
>>>>>>     RTTI typeinfo:   itk::ImportImageContainer<unsigned long, double>
>>>>>> 
>>>>>>     Reference Count: 1
>>>>>> 
>>>>>>     Modified Time: 2866
>>>>>> 
>>>>>>     Debug: Off
>>>>>> 
>>>>>>     Observers:
>>>>>> 
>>>>>>       none
>>>>>> 
>>>>>>     Pointer: 0x7f9a95352200
>>>>>> 
>>>>>>     Container manages memory: true
>>>>>> 
>>>>>>     Size: 10000
>>>>>> 
>>>>>>     Capacity: 10000
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> But when I try to read the image using sitk.ReadImage or
>>>>>> 
>>>>>> sitk.ImageFileReader I'm getting this error:
>>>>>> 
>>>>>> ----
>>>>>> 
>>>>>> Traceback (most recent call last):
>>>>>> 
>>>>>> File "<stdin>", line 1, in <module>
>>>>>> 
>>>>>> File
>>>>>> 
>>>>>> "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/SimpleITK-0.6.1_g1387a-py2.7-macosx-10.7-x86_64.egg/SimpleITK.py",
>>>>>> 
>>>>>> line 4371, in Execute
>>>>>> 
>>>>>>   return _SimpleITK.ImageFileReader_Execute(self)
>>>>>> 
>>>>>> RuntimeError: Exception thrown in SimpleITK ImageFileReader_Execute:
>>>>>> 
>>>>>> /Users/ariel/Applications/InsightToolkit-4.4.0/Modules/Core/Common/include/itkImageBase.hxx:189:
>>>>>> 
>>>>>> itk::ERROR: Image(0x7f9a95d9d640): A spacing of 0 is not allowed: Spacing is
>>>>>> 
>>>>>> [1, 0]
>>>>>> 
>>>>>> ----
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> It seems to be a bug but, I don't know if I'm doing something wrong.
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> Cheers,
>>>>>> 
>>>>>> __________________________________
>>>>>> 
>>>>>> | Ariel Hernán Curiale Ph.D Student
>>>>>> 
>>>>>> | ETSI Telecomunicación
>>>>>> 
>>>>>> | Universidad de Valladolid
>>>>>> 
>>>>>> | Campus Miguel Delibes
>>>>>> 
>>>>>> | 47011 Valladolid, Spain
>>>>>> 
>>>>>> | Phone: 983-423000 ext. 5590
>>>>>> 
>>>>>> | Web: www.curiale.com.ar
>>>>>> 
>>>>>> |_________________________________
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> _____________________________________
>>>>>> 
>>>>>> 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://www.itk.org/mailman/listinfo/insight-users
>>>>>> 
>>>>>> 
>>>>>> 
>>>> 
>>>> _____________________________________
>>>> 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://www.itk.org/mailman/listinfo/insight-users
>>> 
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20130807/43b0c15d/attachment.htm>


More information about the Insight-users mailing list