Re: spots on image [message #52328 is a reply to message #52246] |
Fri, 26 January 2007 04:13   |
Jo Klein
Messages: 54 Registered: January 2006
|
Member |
|
|
Just a small caveat that I've stumbled over before: LABEL_REGION doesn't
like border pixels. This can easily be fixed by embedding your image in
a new one with an extra pixel's width added on each margin. See David's
goldmine:
http://www.dfanning.com/idl_way/avgseries.html
Jo
> Mike,
>
> Fantastic, it never fails that I learn something new everyday. I had
> never used label_region function before, Bravo!!!
> and the combination of
> mask = dat ge threshhold
> regions = label_region(mask)
> is pure gold.
> This will make my life a lot better in the future, this is why I read
> (and post) to this group.
>
>
> Brian
>
> ------------------------------------------------------------ ---------------
> Brian A. Larsen
> Dept. of Physics
> Space Science and Engineering Lab (SSEL)
> Montana State University - Bozeman
> Bozeman, MT 59717
>
>
> On Jan 25, 2:35 pm, "mgal...@gmail.com" <mgal...@gmail.com> wrote:
>
>> On Jan 25, 2:22 pm, "Brian Larsen" <balar...@gmail.com> wrote:
>>
>>
>>> I have done a bit of similar work. Just in quick pseudocode
>>
>>> dat = fltarr(256,256)
>>> ;; fill with an image
>>> ;; find one of the pinhole brightnesses using your method
>>> ;; call that center[2] [0]->x [1]->yFor this part, I would do something like:
>>
>> nColumns = 256 ; the number of columns in your image
>> mask = dat ge threshhold
>> regions = label_region(mask)
>> for r = 1L, max(regions) do begin
>> ind = where(regions eq r, count)
>> center = [mean(ind mod nColumns), mean(ind / nColumns)]
>> endfor
>>
>> then continue on with Brian's fitting code.
>>
>> Mike
>> --www.michaelgalloy.com
>
>
|
|
|