Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 如何将大脑分割成左右两部分?_Image_Matlab_Image Processing - Fatal编程技术网

Image 如何将大脑分割成左右两部分?

Image 如何将大脑分割成左右两部分?,image,matlab,image-processing,Image,Matlab,Image Processing,我有一系列的脑部CT图像。 目标是分割大脑,然后将大脑分为左右两半,计算每一半的大脑面积和血液面积 我附加了一个zip文件,其中包含从序列中选择的7个样本分割大脑图像(不是连续切片,只是可能覆盖所有类型切片的切片) 对于这个问题,我试图将大脑分为左右两部分 我一直在使用查找图像的左、右起始索引以将其拆分为一半。但这并没有给出准确的结果来划分左右两半 我目前的做法是: img_dir = pwd; fileList = dir(img_dir); fileList = fileList(~isme

我有一系列的
脑部CT图像
。 目标是分割大脑,然后
将大脑分为左右两半
,计算每一半的大脑面积和血液面积

我附加了一个zip文件,其中包含从序列中选择的7个样本分割大脑图像(
不是连续切片,只是可能覆盖所有类型切片的切片

对于这个问题,
我试图将大脑分为左右两部分

我一直在使用查找图像的左、右起始索引以将其拆分为一半。但这并没有给出准确的结果来划分左右两半

我目前的做法是:

img_dir = pwd;
fileList = dir(img_dir);
fileList = fileList(~ismember({fileList.name},{'.','..'}));
num_of_slices = length(fileList);
for idx = 1: num_of_slices
    fileName = fileList(idx).name;
    img_slice_path = fullfile(img_dir,fileName);
    imgs{idx} = imread(img_slice_path);
    figure(1), imshow(imgs{idx},[]);
    pause(0.5);
end
%%
% seperate left and right based on midpoint of left_idx and right_idx
[nrow, ncol] = size(imgs{1});
[leftBrain_imgs,rightBrain_imgs] = deal(cell(1,length(imgs)));
for val = 1: length(imgs)
    tempImg = imgs{val};
      columnsWithAllZeros = all(tempImg == 0);
      left_idx = find(~columnsWithAllZeros,1,'first');
      right_idx = find(~columnsWithAllZeros,1,'last');
      cent_idx = floor(mean([left_idx,right_idx]));
      rightImg_idxs = 1:cent_idx; % right side is shown left
      leftImg_idxs = cent_idx+1:ncol; % left side is shown right
      [leftBrain_img,rightBrain_img]  = deal(zeros(nrow, ncol));
      rightBrain_img(:,rightImg_idxs) = tempImg(:,rightImg_idxs);
      leftBrain_img(:,leftImg_idxs) = tempImg(:,leftImg_idxs);
      leftBrain_imgs{val} = leftBrain_img;
      rightBrain_imgs{val} = rightBrain_img;
      figure(2),
      subplot(121), imshow(rightBrain_imgs{val},[]), title('right brain');
      subplot(122), imshow(leftBrain_imgs{val},[]), title('left brain');
      pause(0.5)
end
注意:大脑可能略微向左或向右倾斜

有什么办法吗


谢谢,Gopi

这太宽泛了。我看过关于这个话题的博士论文。这并不简单,需要的远远超过这里的答案。如果有任何想法,我都可以探索并检查它们是否符合我的要求。该示例提出了一种分割半球间表面的方法。@CrisLuengo谢谢,我将对此进行检查。