hi

i have a large multi dimentional matrix that i need to iterate pixel by pixel, lets say size(A) = [2000,2000,100];

each pixel that i iterate through i take it's neighbourhood .

btw, to my appication I have to iterate by for loop.

the problem: indexing , for example

b = A(i:i+10,i+i+10,:)

takes a very long time for some reason.

i performed timing with profiler and that line is the most expensive one (timely wise).

why is indexing such an expensive operation? is there another way to do this?

thanks

Answer by Matt J
on 11 Aug 2019

Edited by Matt J
on 11 Aug 2019

It takes a long time because every time you execute the line

b = A(i:i+10,i+10,:)

memory is allocated for b. Instead of iterating over image neighborhoods in Mcode, you should try to write your operations in terms of use built-in functions like convn, which can access the neighborhoods in a more economical way.

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 8 Comments

## KSSV (view profile)

## Direct link to this comment

https://uk.mathworks.com/matlabcentral/answers/475190-indexing-takes-a-very-long-time#comment_732668

## Adam (view profile)

## Direct link to this comment

https://de.mathworks.com/matlabcentral/answers/475190-indexing-takes-a-very-long-time#comment_732693

## Vinny (view profile)

## Direct link to this comment

https://de.mathworks.com/matlabcentral/answers/475190-indexing-takes-a-very-long-time#comment_732741

## Bruno Luong (view profile)

## Direct link to this comment

https://uk.mathworks.com/matlabcentral/answers/475190-indexing-takes-a-very-long-time#comment_732745

## David Goodmanson (view profile)

## Direct link to this comment

https://uk.mathworks.com/matlabcentral/answers/475190-indexing-takes-a-very-long-time#comment_733729

## Walter Roberson (view profile)

## Direct link to this comment

https://de.mathworks.com/matlabcentral/answers/475190-indexing-takes-a-very-long-time#comment_733744

## Vinny (view profile)

## Direct link to this comment

https://de.mathworks.com/matlabcentral/answers/475190-indexing-takes-a-very-long-time#comment_733896

## Vinny (view profile)

## Direct link to this comment

https://uk.mathworks.com/matlabcentral/answers/475190-indexing-takes-a-very-long-time#comment_733914

Sign in to comment.