Clear Filters
Clear Filters

Halo i want to combine 2d slices oct skin images into 3d, after that i want to make an automatic detection volume of epidermis and stratum corneum

46 views (last 30 days)
i already combine like this
% Initialize variables
rows = []; columns = [];
% Loop through each slice
for k = 1:100
fileName = sprintf('_%d.txt', k);
% Read the text file
sliceImage = dlmread(fileName);
% Check the size of the first slice to initialize the 3D array
if isempty(rows) || isempty(columns)
[rows, columns] = size(sliceImage);
image3d = zeros(rows, columns, 8, 'uint8'); % Initialize 3D array
end
% Convert to uint8
sliceImage = uint8(sliceImage);
% Put this slice into plane k of the 3D image
image3d(:, :, k) = sliceImage;
end

Answers (1)

praguna manvi
praguna manvi on 27 Aug 2024 at 10:44
Edited: praguna manvi on 28 Aug 2024 at 4:57
The implementation for converting 2D slices to 3D above looks correct. However, you could change the initialization of “image3d” to:
image3d = zeros(rows, columns, 100, 'uint8'); % Initialize 3D array with correct size
Refer to this link for different methods such as using "cat" to achieve the same functionality : https://www.mathworks.com/matlabcentral/answers/154714-how-can-i-convert-2d-images-to-a-3d-image
To visualize and process Regions of Interest (ROI) and skin layer regions in images using MATLAB refer to this link:
To perform automatic detection of volumes of specific types, you can adopt deep learning methods like "unet-3d," which is a "CNN" architecture designed for image segmentation with a symmetric encoder-decoder structure and skip connections, more information here :

Products

Community Treasure Hunt

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

Start Hunting!