Best way to move a window [message #29532] |
Wed, 27 February 2002 18:03  |
Ned Horning
Messages: 6 Registered: March 2001
|
Junior Member |
|
|
I am writing a progarm that move a 3 x 3 window through an image. From
what I can tell IDL isn't well suited for the way I have programmed it
but I can't figure out how to improve it. I expect I'm missing a
fundamental concept.
The way I currently have it writen is to move the window, one pixel at
a time and process it like this:
FOR y=1, num_tile_lines - 2 DO BEGIN
out_tile[y*num_tile_samples] = 0
FOR x=1, num_tile_samples - 2 DO BEGIN
IF (((tile_data[x,y] gt 179.99999) AND (tile_data[x,y] lt
180.0001)) OR $
((tile_data[x+1,y] gt 179.99999) AND (tile_data[x+1,y] lt
180.0001)) OR $
((tile_data[x-1,y] gt 179.99999) AND (tile_data[x-1,y] lt
180.0001)) OR $
((tile_data[x,y+1] gt 179.99999) AND (tile_data[x,y+1] lt
180.0001)) OR $
((tile_data[x,y-1] gt 179.99999) AND (tile_data[x,y-1] lt
180.0001)) OR $
((tile_data[x+1,y+1] gt 179.99999) AND (tile_data[x+1,y+1] lt
180.0001)) OR $
((tile_data[x-1,y-1] gt 179.99999) AND (tile_data[x-1,y-1] lt
180.0001)) OR $
((tile_data[x-1,y+1] gt 179.99999) AND (tile_data[x-1,y+1] lt
180.0001)) OR $
((tile_data[x+1,y-1] gt 179.99999) AND (tile_data[x+1,y-1] lt
180.0001))) THEN $
out_tile[y*num_tile_samples+x] = 0 ELSE BEGIN
Is there a faster way to do this?
Thanks in advance for any advice.
Ned
|
|
|