Description
function hImage = scalebar(imageName, unitsPerPixel, barSize, units,color,pos) % SCALEBAR(imageFile, pixelSize, pixelSize, magnification, units, negative) % Adds a scale bar in the lower right-hand corner of an image in the % active set of axes. Be sure that your whole scale bar fits within the % image width (minus 10%). It should not touch the left edge of your % image. % % Required inputs are: % imageName : EITHER an image variable name (e.g. foo) % OR a file path and filename (e.g. ~/foo.png) % pixelSize (float) : the actual size of a camera pixel (e.g. 7.4) % magnification (float) : the microscope magnification (e.g. 40) % barScale (float) : bar size in image units (e.g. 100) % units (string) : the units of the image (e.g. micron) % % Adapted from SFNagle 2015 v1 % read in the image and display if ischar(imageName) image1 = imread(imageName); else image1 = imageName; end figure hImage = imshow(image1,[],'Border','tight'); % plot a scale bar in black first scaleBarWidth = floor( 1/(unitsPerPixel) * barSize); scaleBarHeight = 5; if pos == 1; xPos = size(image1,2)*0.92 - scaleBarWidth; else xPos = size(image1,2)*0.08; end yPos = size(image1,1)*0.92 - scaleBarHeight; textCenterX = xPos + floor(scaleBarWidth/2); textCenterY = yPos + scaleBarHeight*4; rectPosition = [xPos, yPos, scaleBarWidth, scaleBarHeight]; hRect = rectangle('Position', rectPosition); set(hRect,'EdgeColor',color,... 'FaceColor',color); % label the scale bar str = sprintf(['%4d ' units], barSize); hText = text(textCenterX,textCenterY,str); set(hText,'HorizontalAlignment','center',... 'FontSize',20,... 'FontWeight','bold',... 'Color',color); end https://imagej.net/Annotating_Images


Reviews
There are no reviews yet.