Macroscopic Specimen image Sectioning

31 次查看(过去 30 天)
Jen
Jen 2024-8-1,15:22
回答: Image Analyst 2024-8-9,20:01
Hi everyone,
Would I be able to make an image similar to this in MATLAB?

回答(2 个)

Image Analyst
Image Analyst 2024-8-1,17:13
Yes. What are you starting with?
If you have any more questions, then attach your data and code to read it in with the paperclip icon after you read this:
  1 个评论
Jen
Jen 2024-8-8,15:57
Hi, I believe I would be starting with tissue section images. I don't have any code, I just need some direction on where to start. In the article that the picture is taken from, the method is this :
" Fluorescent antibody distribution area was segmented using a customized thresholding algorithms2. In brief, the intensity histogram of the tumor pixels were calculated and fitted into a “loglogistic” distribution (MATLAB function). Then a threshold was then experimentally identified based on the histogram distribution and a binary mask was generated with the threshold."
Sorry I cannot provide much data, I am currently just trying to learn the software.

请先登录,再进行评论。


Image Analyst
Image Analyst 2024-8-9,20:01
It's a generic, general purpose demo of how to threshold an image to find blobs, and then measure things about the blobs, and extract certain blobs based on their areas or diameters.
Also see some attached demos on fitting data to distributions (formulas). Adapt them to fit a log normal distribution. Then I don't know what criteria they used to pick the threshold. Perhaps it was something like down a certain percentage from the peak of the fitted distribution. Or you could think of your own criteria. Maybe a triangle threshold would be fine. I'm attaching a function for that too.
I'm not sure what you want to do. In your original question you just seemed to say you wanted to stitch images side by side in a horizontal row. But then some images are also pseudocolored, and some have contours overlaid on them.
Why don't you start your code by writing comments. Each comment would essentially say what you need to do. With enough of these you essentially have pseudocode, like
% Construct file name.
% Read in image.
% Threshold image.
% Create binary image mask.
% Fill Holes.
% Take largest blob.
% Measure blob's properties such as Area and brightness.
% Export results to Excel.
% and so on.
and then you can just follow up comment with the MATLAB code to do that task,like
% Construct file name.
baseFileName = 'slice1.png';
fullFileName = fullfile(pwd, baseFileName);
% Read in image.
rgbImage = imread(fullFileName);
grayImage = rgb2gray(rgbImage);
% Threshold image.
threshold = 129;
% Create binary image mask.
mask = grayImage > 129;
% Fill Holes.
mask = imfill(mask, 'holes');
% Take largest blob.
mask = bwareafilt(mask, 1);
% Measure blob's properties such as Area and brightness.
props = regionprops(mask, grayImage, 'Area', 'MeanIntensity')
allAreas = [props.Area];
allIntensities = [props.MeanIntensity];
% Export results to Excel.
data = [allAreas(:), allIntensities(:)];
writeMatrix(data, 'My Results.xlsx');
% and so on.

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by