function saMat = SSDB_Parallelism2(X,options);
 
 d.OrigSize = [128 128];
 d.PrimarySource = 'C1'; % can be gray C1 or S1
 HeqOpts.FastApproximation = 0;

 if(not(exist('options')))
   options = [];
 end
 options = ResolveMissingOptions(options,d);
 nEx = size(X,2);
 for i = 1:nEx
   fprintf('SSDB_Parallelism2 image %d of %d\r',i,nEx);
   stim = reshape(X(:,i),options.OrigSize);
   stim = LocalHistogramEqualize(stim,[10 10],50,HeqOpts);
   if(not(strcmpi(options.PrimarySource,'gray')));
     stim = FourWayFilter(stim);
     if(strcmpi(options.PrimarySource,'C1'));
        stim = maxfilter(stim,6);
     end
   end
   stim = stim - min(stim(:));
   stim = stim / max(stim(:));
   M = Im2ParIm(stim,options);
   if(i == 1);
     saMat.X = zeros(length(M(:)),nEx);
   end
   saMat.X(:,i) = M(:);
 end
 