Re: Speed Improvement [message #74583 is a reply to message #74582] |
Tue, 25 January 2011 04:59   |
Jeremy Bailin
Messages: 618 Registered: April 2008
|
Senior Member |
|
|
On Jan 25, 4:24 am, Rony K Varghese <ronykvargh...@gmail.com> wrote:
> Dear All,
>
> How can i improve the speed of below IDL source through code
> optimizing..Now the performance is not satisfactory..
>
> ;Processing a picture
> for sCount = 0, 9 do begin
> for sRow = UpperRow, LowerRow do begin
> for sCol = sLeftCol, sRightCol do begin
> ; Check whether high pixels.
> if E_F_ATTNMAP_HIGH_PIXEL eq PixelArr[sCol, sRow] then
> begin
> sXCol = sCol
> sYRow = sRow
> endif
> ; from the center to the left
> for sIndex = 0, sHalfWid do begin
> if HIGH_PIXEL eq vTemp[sXCol - sIndex, sYRow] then
> begin
> PixelArr[sXCol - sIndex, sYRow] = HIGH_PIXEL
> endif else begin
> break ; break from for sIndex
> endelse
> endfor
> ; from the center to the right
> for sIndex = 0, sHalfWid do begin
> if HIGH_PIXEL eq vTemp[sXCol + sIndex, sYRow] then
> begin
> PixelArr[sXCol + sIndex, sYRow] = HIGH_PIXEL
> endif else begin
> break ; break from for sIndex
> endelse
> endfor
> ; from the center to down
> for sIndex = 0, sHalfHght do begin
> if HIGH_PIXEL eq vTemp[sXCol, sYRow+ sIndex] then
> begin
> PixelArr[sXCol, sYRow+ sIndex] = HIGH_PIXEL
> endif else begin
> break ; break from for sIndex
> endelse
> endfor
> ; from the center to up
> for sIndex = 0, sHalfHght do begin
> if HIGH_PIXEL eq vTemp[sXCol, sYRow - sIndex] then
> begin
> PixelArr[sXCol, sYRow - sIndex] = HIGH_PIXEL
> endif else begin
> break ; break from for sIndex
> endelse
> endfor
> endfor; end for sCol
> endfor; end for sRow
> endfor;end for sCount
>
> Thanks in advance..
> Rony
It might help if you could get a sketch of what this is supposed to
do.
-Jeremy.
|
|
|