function volData = ringFill(volData,imgFiles,centroidPath,imOutPath,expNumStr,numProc)
% Orion L. Kafka
% Northwestern University, Winter 2019

% ===== USER INPUTS =====

centroidFiles = dir(fullfile(centroidPath,'*.png'));

% Process all the binary images
zSize = size(volData,3);

cnt = 1;
if numProc ~= 1
    % figure out the centroid list
    for ii = 1:length(centroidFiles)
        if strcmp(centroidFiles(ii).name(1:6),expNumStr)
            xStr = strfind(centroidFiles(ii).name,'x');
            xPos = str2double(centroidFiles(ii).name(xStr(end)+1:xStr(end)+4));
 
            yStr = strfind(centroidFiles(ii).name,'y');
            yPos = str2double(centroidFiles(ii).name(yStr(end)+1:yStr(end)+4));
            
            zStr = strfind(centroidFiles(ii).name,'z');
            zPos = str2double(centroidFiles(ii).name(zStr(end)+1:zStr(end)+4));
            
            centroids(cnt,:) = [xPos, yPos, zPos];
            cnt = cnt + 1;
        end
    end

%    disp(['size centroids = ',num2str(size(centroids))])
%    disp(centroids)
    volData = imbinarize(volData);
    volData = imfill(volData,centroids);
    
    if ~exist(imOutPath,'dir')
        mkdir(imOutPath);
    end
    parfor ii = 1:zSize
        imwrite(volData(:,:,ii),fullfile(imOutPath,imgFiles(ii).name),'tiff','Compression','none');
    end 
end
    
