Hello,
For each column of the mask, I calculate the first non-zero pixel position (2000 images). Then, I save them to an array and compute the maximum; between other simple operations.
It is working fine, but it is not at all time-efficient. Would you have any suggestion?
Thank you very much,
Best regards,
Santiago
Base= Mask; i=1; b= zeros (y,1,num_images,'double'); %preallocating
rows= x; columns= y; for k= 1:num_images; for col= 1: columns a = find(D(:, col,k), 1, 'first'); %find the first non-zero pixel
if a > 0 b(i,k) = a; c = max (b(:,k)); i= i+1; else continue end end Base(c:rows,:,k)=1; %keeping the top part
end
Best Answer