skull stripping

来源:互联网 发布:mac ps做图 编辑:程序博客网 时间:2024/05/29 10:00

Try this code:

clc;    % Clear the command window.close all;  % Close all figures (except those of imtool.)clear;  % Erase all existing variables. Or clearvars if you want.workspace;  % Make sure the workspace panel is showing.format long g;format compact;fontSize = 24;
% Check that user has the Image Processing Toolbox installed.hasIPT = license('test', 'image_toolbox');if ~hasIPT% User does not have the toolbox installed.message = sprintf('Sorry, but you do not seem to have the Image Processing Toolbox.\nDo you want to try to continue anyway?');reply = questdlg(message, 'Toolbox missing', 'Yes', 'No', 'Yes');if strcmpi(reply, 'No')% User said No, so exit.return;endend
%===============================================================================% Read in a standard MATLAB gray scale demo image.folder = 'D:\Temporary stuff';baseFileName = 'Jones-54-1-jan10-f3.jpg';% Get the full filename, with path prepended.fullFileName = fullfile(folder, baseFileName);% Check if file exists.if ~exist(fullFileName, 'file')% File doesn't exist -- didn't find it there.  Check the search path for it.fullFileNameOnSearchPath = baseFileName; % No path this time.if ~exist(fullFileNameOnSearchPath, 'file')% Still didn't find it.  Alert user.errorMessage = sprintf('Error: %s does not exist in the search path folders.', fullFileName);uiwait(warndlg(errorMessage));return;endendgrayImage = imread(fullFileName);% Get the dimensions of the image.% numberOfColorBands should be = 1.[rows, columns, numberOfColorBands] = size(grayImage);if numberOfColorBands > 1% It's not really gray scale like we expected - it's color.% Convert it to gray scale by taking only the green channel.grayImage = grayImage(:, :, 2); % Take green channel.end% Display the original gray scale image.subplot(2, 3, 1);imshow(grayImage, []);axis on;title('Original Grayscale Image', 'FontSize', fontSize);% Enlarge figure to full screen.set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);% Give a name to the title bar.set(gcf, 'Name', 'Demo by ImageAnalyst', 'NumberTitle', 'Off')
% Let's compute and display the histogram.[pixelCount, grayLevels] = imhist(grayImage);subplot(2, 3, 2);bar(grayLevels, pixelCount);grid on;title('Histogram of original image', 'FontSize', fontSize);xlim([0 grayLevels(end)]); % Scale x axis manually.
% Crop image to get rid of light box surrounding the imagegrayImage = grayImage(3:end-3, 4:end-4);% Threshold to create a binary imagebinaryImage = grayImage > 20;% Get rid of small specks of noisebinaryImage = bwareaopen(binaryImage, 10);% Display the original gray scale image.subplot(2, 3, 3);imshow(binaryImage, []);axis on;title('Binary Image', 'FontSize', fontSize);
% Seal off the bottom of the head - make the last row white.binaryImage(end,:) = true;% Fill the imagebinaryImage = imfill(binaryImage, 'holes');subplot(2, 3, 4);imshow(binaryImage, []);axis on;title('Cleaned Binary Image', 'FontSize', fontSize);
% Erode away 15 layers of pixels.se = strel('disk', 15, 0);binaryImage = imerode(binaryImage, se);subplot(2, 3, 5);imshow(binaryImage, []);axis on;title('Eroded Binary Image', 'FontSize', fontSize);
% Mask the gray imagefinalImage = grayImage; % Initialize.finalImage(~binaryImage) = 0;subplot(2, 3, 6);imshow(finalImage, []);axis on;title('Skull stripped Image', 'FontSize', fontSize);
msgbox('Done with demo');
  1. Neuroimaging Data Processing/Skull Stripping

    < Neuroimaging Data Processing

    Contents

    • 1 Concept
    • 2 Implementation
      • 2.1 SPM
      • 2.2 FSL
      • 2.3 AFNI
    • 3 References

    Concept

    Removal of the skull and other non-brain tissue like dura and eyes from anatomical images, which could otherwise complicate e.g. coregistration and normalization steps. Skull stripping can be part of the tissue segmentation (e.g. in SPM) but is mostly done by specialized algorithms that delineate the brain boundary. See [1] for a comparison of some brain extraction algorithms (BSE, BET, SPM, and McStrip), which suggests that all algorithms perform well in general but results highly depend on the particular dataset.

    Implementation

    SPM

    Skull stripping in SPM can be achieved by segmenting the anatomical scan, and using a thresholded version of the sum of grey and white matter probability maps to mask out the bias corrected structural scan.

    This masking can be done using SPM --> Util --> Image Calculator (ImCalc button) directly in the batch editor or by pressing the ImCalc button on the SPM GUI. The image calculator allows to perform algebraic manipulations on a set of structural images.

    Skull stripping in SPM ImCalc

    Input Images = segmentation generated probability maps of grey matter(i1) and white matter(i2) and the original anatomical scan (i3)Expression = defining the threshold to mask out the skull based on the selected tissue probablitiy maps e.g ·[(i3.*(i1 +i2)) > 0.2] --> if you set the threshold higher then your skull strip is more stringent For older versions of SPM (or OldSeg), you can use the following expression: (i3.*(i1+i2))

    FSL

    BET and BET2

    AFNI

    3dSkullStrip[2] is a program in AFNI to extract the brain from surrounding tissue from MRI T1-weighted images. The simplest command would be:

    3dSkullStrip INPUTFILE

    The process by default includes spatial normalization, some intensity normalization and repositioning of the brain, but to a certain extent those can be switched off. The actual skull stripping is a modified version of the BET[3] algorithm, expanding a spherical surface iteratively until it envelopes the brain. The output can be a skull stripped (masked) brain, the mask itself or different surface formats.

    3dSkullStrip is called by a set of other afni functions like align_epi_anat.py, @auto_tlrc and 3dSeg. Therefore in afni_proc.py there is no seperate block for skull-stripping but options can be adjusted as parts of the respective blocks.

    References


  2. Kristi Boesen, Kelly Rehm, Kirt Schaper, Sarah Stoltzner, Roger Woods, Eileen Lüders, David Rottenberg, Quantitative comparison of four brain extraction algorithms, NeuroImage, Volume 22, Issue 3, July 2004, Pages 1255-1261, ISSN 1053-8119, http://dx.doi.org/10.1016/j.neuroimage.2004.03.010.

  3. http://afni.nimh.nih.gov/pub/dist/doc/program_help/3dSkullStrip.html

  4. Smith, Stephen M., Fast robust automated brain extraction, Human Brain Mapping 2002, Volume 17 Issue 3, page 143-155, http://dx.doi.org/10.1002/hbm.10062
 https://en.wikibooks.org/wiki/Neuroimaging_Data_Processing/Skull_Stripping
阅读全文
0 0
原创粉丝点击