ListOfImageNames = get(handles.lstImageList, 'string');
selectedItems = get(handles.lstImageList, 'value');
numberOfSelectedImages = length(selectedItems);
if numberOfSelectedImages <= 1
numberOfSelectedImages = length(ListOfImageNames);
selectedItems = 1 : numberOfSelectedImages;
end
ListOfImageNames = ListOfImageNames(selectedItems);
caption = sprintf('Please wait...Constructing sum of %d images...', numberOfSelectedImages);
title(caption, 'FontSize', 20);
set(handles.txtInfo, 'string', caption);
drawnow;
for k = 1 : numberOfSelectedImages
baseImageFileName = cell2mat(ListOfImageNames(k));
imageFullFileName = fullfile(handles.ImageFolder, baseImageFileName);
imageArray = imread(imageFullFileName);
axes(handles.axesImage);
axes(handles.axesImage);
cla reset;
imshow(imageArray);
caption = strrep(caption, '_', '\_');
title(caption, 'FontSize', 20);
set(handles.txtInfo, 'string', caption);
caption = sprintf('Displaying single image\n%s', baseImageFileName);
drawnow;
if k == 1
sumImage = int32(imageArray);
else
sumImage = sumImage + int32(imageArray);
end
end
averageImage = uint8(sumImage / numberOfSelectedImages);
axes(handles.axesImage);
imshow(averageImage, []);
axis on;
caption = sprintf('Displaying average of %d images.', numberOfSelectedImages);
title(caption, 'FontSize', 20);