Оглавление:
- Шаг 1. Найдите МРТ- и МРА-сканирование нормального мозга и мозга, пораженного Моямоя
- Шаг 2: Загрузите изображения в MATLAB и назначьте изображения переменной для отображения изображений
- Шаг 3. Улучшение вытянутых структур в изображении интенсивности с помощью многомасштабной фильтрации
- Шаг 4. Запустите 2D-медианный фильтр
- Шаг 5: замаскируйте изображение
- Шаг 6. Выберите MRA-сканирование для статистического тестирования
- Шаг 7: Расчет площади кровеносных сосудов при подготовке к статистическому тестированию
- Шаг 8: Проведите T-тест для независимых выборок
Видео: Обработка изображений Моямоя: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Моямоя, «клуб дыма», - редкое заболевание, которое вызывается закупоркой артерий в базальных ганглиях, которые являются областью у основания головного мозга. Заболевание представляет собой прогрессирующее цереброваскулярное заболевание, которое чаще всего поражает детей. Симптомы моямоя включают начальный инсульт, постоянные мини-удары, мышечную слабость, паралич или судороги в результате прогрессирующего сужения артерий. Без лечения моямоя вызовет проблемы с речью, сенсорными нарушениями и повреждением сознания. В нашем проекте мы будем использовать MATLAB для предварительной обработки изображения МРТ или МРА с использованием различных фильтров для уменьшения шума в изображении и определения местоположения пораженной области. Кроме того, мы будем использовать усовершенствованную функцию, чтобы более точно определять местонахождение пораженных участков. Более того, затем мы запустим независимый t-критерий выборки, чтобы определить, существует ли значительная разница между количеством кровеносных сосудов в нормальном мозге по сравнению с мозгом, пораженным моейямойей.
Шаг 1. Найдите МРТ- и МРА-сканирование нормального мозга и мозга, пораженного Моямоя
Эти изображения - отсканированные изображения, которые мы использовали для проекта, найденного в Интернете. Два изображения с кровеносными сосудами, расположенными посередине, представляют собой МРА-сканирование, а два других изображения - МРТ-сканирование.
Эти изображения можно найти по следующим ссылкам:
static.cambridge.org/resource/id/urn:cambr…
static.cambridge.org/resource/id/urn:cambr…
Шаг 2: Загрузите изображения в MATLAB и назначьте изображения переменной для отображения изображений
Чтобы начать процесс, начните с очистки командного окна, закройте все возможные рисунки и графики, которые могут быть уже открыты, и очистите переменные, уже назначенные в вашем рабочем пространстве.
После этого создайте цикл for от 1 до 2, используя команду i = [1: 2].
После этого загрузите изображения MRA с помощью команды imread (sprintf ('filename%.filetype', i)), чтобы прочитать изображения из файлов, указанных в имени файла, за которым следует номер, используемый для цикла с использованием sprintf для пакетной загрузки, и назначьте это переменная.
Затем, чтобы отобразить изображение в виде рисунка, используйте команду imshow (I).
Чтобы назначить серую цветовую карту, используйте команду colormap (gray).
Чтобы полностью исключить цвет и преобразовать 3D-матрицу изображений в 2D, используйте команду rgb2gray (I) и назначьте ее отдельной переменной.
Затем загрузите изображения МРТ с помощью ранее указанной команды или imread (sprintf ('filename%.filetype', i)) и назначьте ее новой переменной.
Повторите команду rgb2gray с новой переменной, используемой для изображений МРТ.
При необходимости вы можете изменить размер изображения с помощью команды imresize (A, scale) и присвоить отдельную переменную.
Шаг 3. Улучшение вытянутых структур в изображении интенсивности с помощью многомасштабной фильтрации
Используя новую переменную, используйте команду fibermetric (A) для улучшения трубчатых структур на изображениях.
С предыдущей переменной используйте команду histeq (B), чтобы улучшить выравнивание гистограммы, преобразовав интенсивность изображений и назначив ее новой переменной.
Отобразите гистограмму с помощью команды imhist (B)
Создайте новую переменную, чтобы создать порог для фильтра. В этом случае присвойте предыдущей переменной> 0,875, отфильтровывая интенсивность пикселей ниже значения 0,875.
После этого создайте новую фигуру и используйте команду imshow (A) для отображения нового отфильтрованного изображения.
Шаг 4. Запустите 2D-медианный фильтр
Используя команду medfilt2 (A, [m n]), запустите двумерный медианный фильтр, где каждый выходной пиксель содержит медианное значение на границе mxn вокруг соответствующего пикселя во входном изображении.
Создайте новую фигуру и используйте imshow (A), чтобы отобразить изображение с медианной фильтрацией.
Шаг 5: замаскируйте изображение
Используя медианное отфильтрованное изображение, используйте команду [labeleledImage, numberOfBlots] = bwlabel (A), чтобы подсчитать количество белых пятен на изображении.
Затем с помощью функции state props региона = regionprops (labeleledImage, 'Area') вычислите площади каждого пятна или кровеносного сосуда.
Назначьте все области в одну переменную
Затем, используя другую переменную, подсчитайте количество пятен, превышающих 50 пикселей.
После этого отсортируйте любые кляксы размером менее 50 пикселей в порядке убывания с помощью команды [sortedAreas, sortedIndicies] = sort (Areas, 'Descent')
Затем, используя другую переменную, используйте команду ismember (labeleledImage, sortedIndicies (1: numberToExtract)), чтобы вернуть массив с элементами labeledImage, найденными в sortedIndicies от числа 1 до количества кровеносных сосудов, чтобы вернуть логическую 1 (истина) или логический 0 (ложь).
С помощью переменной на предыдущем шаге найдите истинные точки (значения> 0) и создайте логический массив, чтобы создать двоичное изображение и назначить его новой переменной.
Создайте новую фигуру и используйте imshow (A) для нового двоичного изображения.
Затем инвертируйте изображение с помощью дополнения команды (A) и присвойте его другой переменной.
Чтобы создать замаскированное изображение, используйте новую переменную с командой resizedimage. * Uint8 (инвертированное изображение)
Создайте новую фигуру и используйте imshow (A) для отображения замаскированного изображения.
Чтобы завершить весь код, обязательно используйте команду 'end', чтобы завершить весь цикл for
Шаг 6. Выберите MRA-сканирование для статистического тестирования
Чтобы подготовиться к статистическому тестированию, выберите сканы MRA, которые будут использоваться для t-критерия независимых выборок. Поскольку в наших двух образцах будет пораженный мозг Моямоя и нормальный мозг, выберите приличное количество МРА-сканирований для каждой группы.
Шаг 7: Расчет площади кровеносных сосудов при подготовке к статистическому тестированию
Статистический тест будет сосредоточен на длине или количестве кровеносных сосудов, показанных на снимках MRA. Таким образом, мы должны вычислить площадь кровеносных сосудов перед сравнением.
Начните с фильтрации MRA нормального мозга и расчета количества кровеносных сосудов. Для этого запустите цикл for. Поскольку есть три изображения, условие будет i = [1: 3].
Откройте изображение с помощью команды imread и назначьте его переменной.
Затем создайте оператор if / else с помощью команды if, else. Для оператора if используйте команду size (A, 3) == 3, где A - это переменная, используемая для открытия изображения, чтобы создать оператор if для случая, когда третье измерение массива равно 3. Затем преобразуйте изображение. в 2D и избавьтесь от цвета с помощью команды rgb2gray (A) и назначьте его новой переменной. Используйте команду imresize (A, [m n]), чтобы изменить размер изображения. В этом случае мы изменили размер изображения до матрицы 1024 x 1024. Чтобы улучшить трубчатые структуры изображения, снова используйте команду фиброметрии и назначьте ее новой переменной.
Ниже приводится инструкция else. Если изображение не является трехмерной матрицей, мы хотим пропустить преобразование. Выполните то же самое, что и оператор if, но без команды rgb2gray (A).
Создайте новую переменную, установив ее равной переменной из шага фиброметрии больше 0,15. Это пороговое значение для изображения с интенсивностью более 0,15.
Мы будем повторять строки кодов, начиная с шагов 4 и 5 инструкции, от строки медианного фильтра до строки imshow (I). После этого используйте команду sum (I (:)), чтобы сложить все пиксели, составляющие кровеносные сосуды, и присвоить это отдельной переменной. Назовите новую переменную NormalBloodVessels (i) и установите ее равной переменной из команды sum (I (:)). Это добавляет данные в матрицу.
Завершите цикл и повторите, но для MRA мозга, пораженного Моямоя. Назовите переменную в конце MoyaMoyaBloodVessels (i), чтобы не путать ее с обычными MRA мозга.
Шаг 8: Проведите T-тест для независимых выборок
Поскольку есть две независимые выборки и небольшая совокупность, запустите t-тест независимых выборок.
Создайте и назовите функцию, которая запускает t-тест независимых выборок, чтобы определить, действительно ли количество кровеносных сосудов в MRA нормального мозга значительно равно количеству кровеносных сосудов в MRA мозга, затронутого Moyamoya.
Отобразите набор гипотез для теста с помощью команды disp ('X'). В первой строке отобразите «Гипотезы для двух выборок t-критерия». Во второй строке отобразите «H0 = количество кровеносных сосудов нормального мозга равно количеству кровеносных сосудов мозга с болезнью Моямоя», чтобы сформулировать нулевую гипотезу. В третьей строке отобразите: «HA = количество кровеносных сосудов нормального мозга не равно количеству кровеносных сосудов мозга с болезнью Моямоя». сформулировать альтернативную гипотезу.
Используя 95% доверительный интервал и размер выборки 3, вычислите t-оценку с помощью команды tinv ([0,025 0,975], 2) и присвойте переменной t. Используйте команду var (NormalBloodVessels) и var (MoyaMoyaBloodVessels) и назначьте их переменным для вычисления дисперсии обоих наборов данных.
Проверьте, близки ли дисперсии к равным или нет. Сделайте это, создав оператор if / else с помощью команды if, else. В качестве условия в операторе if напишите A / B == [0,25: 4], где A - это переменная, которая учитывает отклонение нормальных кровеносных сосудов, а B - переменная, которая учитывает отклонение кровеносных сосудов Моямоя. 0,25 и 4 взяты из общей оценки для определения того, равны ли дисперсии или нет. Затем запустите двухвыборочный t-тест с [h, p] = ttest2 (A, B, 0,05, «оба», «равно»), где A и B - те же переменные, что упоминалось ранее. Для оператора else используйте [h, p] = ttest2 (A, B, 0,05, 'оба', 'неравно'), чтобы запустить двухвыборочный t-тест в случае, когда дисперсии не равны. Завершите оператор if / else. Это позволит рассчитать p.
Создайте оператор if / else, который отобразит вывод на основе значения p. Условием для оператора if будет p> 0,05. Поскольку мы обычно не можем отклонить нулевую гипотезу, когда значение p больше 0,05, используйте команду disp ('X'), чтобы отобразить «Поскольку значение p больше 0,05, мы не можем отклонить нулевую гипотезу» и Поэтому мы не можем отрицать, что количество кровеносных сосудов в нормальном мозге равно количеству кровеносных сосудов в мозге с болезнью Моямоя ». В операторе else, поскольку мы обычно отвергаем нулевую гипотезу, когда значение p меньше 0,05, используйте команду disp ('X'), чтобы отобразить «Поскольку значение p меньше 0,05, мы отклоняем нулевую гипотезу» и Поэтому мы не можем отрицать, что количество кровеносных сосудов в нормальном мозге не равно количеству кровеносных сосудов в мозге с болезнью Моямоя ». Завершите оператор if / else.
Рекомендуемые:
Удаление фона из нескольких изображений с помощью Photoshop 2020: 5 шагов
Удаление фона нескольких изображений с помощью Photoshop 2020: удалить фон изображения теперь очень просто! Вот как использовать Adobe Photoshop 2020 для удаления фона из нескольких (пакетных) изображений с помощью простого скрипта
Искусственный интеллект и распознавание изображений с помощью HuskyLens: 6 шагов (с изображениями)
Искусственный интеллект и распознавание изображений с помощью HuskyLens: Привет, ребята, как дела! Акарш от CETech. В этом проекте мы собираемся взглянуть на HuskyLens от DFRobot. Это модуль камеры на базе искусственного интеллекта, способный выполнять несколько операций искусственного интеллекта, таких как распознавание лиц
Обработка изображений с помощью Raspberry Pi: установка OpenCV и разделение цвета изображения: 4 шага
Обработка изображений с помощью Raspberry Pi: установка OpenCV и разделение цвета изображения: этот пост является первым из нескольких руководств по обработке изображений, которым необходимо следовать. Мы внимательно рассмотрим пиксели, из которых состоит изображение, узнаем, как установить OpenCV на Raspberry Pi, а также написали тестовые сценарии для захвата изображения, а также c
Как разобрать компьютер с помощью простых шагов и изображений: 13 шагов (с изображениями)
Как разобрать компьютер с помощью простых шагов и изображений: это инструкция о том, как разобрать компьютер. Большинство основных компонентов имеют модульную конструкцию и легко снимаются. Однако важно, чтобы вы были организованы по этому поводу. Это поможет уберечь вас от потери деталей, а также при повторной сборке
Количественная обработка изображений: 5 шагов
Квантиметрическая обработка изображений: (На рисунке выше показано сравнение существующего метода обработки изображений с количественной обработкой изображений. Обратите внимание на улучшенный результат. На верхнем правом изображении видны странные артефакты, возникающие из-за неправильного предположения, что изображения измеряют что-то подобное