[Insight-users] How can I read a pixel from a VectorImage
Ariel Hernán Curiale
curiale at gmail.com
Thu Jan 17 09:41:38 EST 2013
Bradley, I think this is what I want to do.
Thanks a lot and sorry again for the mailing list.
Saludos
__________________________________
| 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 17/01/2013, a las 15:04, Bradley Lowekamp escribió:
> Ariel,
>
> Please respond to all to include the mailing list so that all may benefit.
>
> I agree you certainly should be able to set and get a vector pixel type, I'll try to make that happen in the next week or so.
>
> However, I must warn you that this is not a very fast approach for any interpretive language. You really should avoid iterating in Python on all the pixels unless the image is of trivial size. Using a tuple to perform computation is an additional burden too. Generally it mean looping those nested elements too.
>
> There is a very large selection of image operators, and function available. There is a good chance you can do the majority of you computation on the whole image at once. Which will be significantly more efficient. Take for example the function below to generate a Marschner-Lobb function.
>
> def marschner_lobb(size=40, alpha=0.25, f_M=6.0):
> img = sitk.PhysicalPointSource( sitk.sitkVectorFloat32, [size]*3, [-1]*3, [2.0/size]*3)
> imgx = sitk.VectorIndexSelectionCast(img, 0)
> imgy = sitk.VectorIndexSelectionCast(img, 1)
> imgz = sitk.VectorIndexSelectionCast(img, 2)
> del img
> r = sitk.Sqrt(imgx**2 + imgy**2)
> del imgx, imgy
> pr = sitk.Cos((2.0*math.pi*f_M)*sitk.Cos((math.pi/2.0)*r))
> return (1.0 - sitk.Sin((math.pi/2.0)*imgz) + alpha*(1.0+pr))/(2.0*(1.0+alpha))
>
>
> If there is some specific computation that you are trying todo, please describe it so I perhaps can recommend a sequence of filters and operator to accomplish it.
>
> Brad
>
>
>
> On Jan 17, 2013, at 3:34 AM, Ariel Hernán Curiale <curiale at gmail.com> wrote:
>
>> Hi Bradley,
>>
>> Thanks for your reply. I'm using SimpleITK version 0.5.1. I just want to have a way to read the pixel value to perform some computation and create another image with this value (another VectorImage) I prefer to obtain a python tuple or a list like the Image.GetSize().
>>
>> Pd: I'll try later the 0.6rc1 version.
>> Thanks
>> __________________________________
>> | 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 16/01/2013, a las 20:25, Bradley Lowekamp escribió:
>>
>>> Hello,
>>>
>>> What version of SimpleITK are you using?
>>>
>>> With 0.6rc1 there have been major improvements to support multi-dimensional slice based indexing. Which incorporates start:stop:stride, for the physical dimensions not the vector components. It appears that there may been some regression in behavior with the GetPixel method... What are you currently able to get a scalar component value? And you say you expect a "vector value" do you want a wrapped std::vector, a python tuple, or what?
>>>
>>> As a couple people have asked me about the slice based indexing and vector images. I am thinking that maybe the should be done before the 0.6 release is done.
>>>
>>> Please let me know what you need and expect the behavior to be.
>>>
>>> Thanks,
>>> Brad
>>>
>>>
>>>
>>> On Jan 16, 2013, at 12:56 PM, Ariel Hernán Curiale <curiale at gmail.com> wrote:
>>>
>>>> Hi all,
>>>>
>>>> This is my first time with SimpleITK and looks really great. I'm trying to use it for a quick developments (SimpleITK + Python) but I don't know how I can get the pixel value of a VectorImage. Could Anyone give some tips about it ?
>>>> Is there a way to get the vector instead a single value or I need to use a filter to get the vector value ?
>>>>
>>>> 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
>>>> |_________________________________
>>>>
>>>> _____________________________________
>>>> 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/20130117/68f644aa/attachment.htm>
More information about the Insight-users
mailing list