I'm doing image processing in a cluster, but failed to optimal performance, I have a function that replicate the edges and another to apply the filter or mask, but when the time of execution of MATLAB SPMD used the program are not meeting each while increasing worker as time increases.
enter code here
p1=parpool('local',4);
addAttachedFiles(p1,{'Max_Duplicado_pixel.m',
'funcion_Aplicacion_mascaras.m'});
tic
spmd
d1=codistributor1d(2);
c = codistributed(imA, d1);
som=funcion_Aplicacion_mascaras(
Max_Duplicado_pixel(getLocalPart(c),sombrero),sombrero);
salida=gcat(som);
end
imshow(salida{1});
end
delete(gcp);
enter code here
this is the function to apply mascara
enter code here
x=ceil(R1/2):R-floor(R1/2);
y=ceil(R1/2):C-floor(R1/2);
for b=-floor(R1/2):floor(R1/2)
for a=-floor(R1/2):floor(R1/2)
salida(x,y)=salida(x,y)+single(imagen(x+b,y+a))
*sombrero(b+ceil(R1/2),a+ceil(R1/2));
end
end
temp=salida(ceil(R1/2):R-floor(R1/2),ceil(R1/2):C-floor(R1/2));
image_procesada=uint8(temp);