
Índice:
- Etapa 1: Encontre imagens de ressonância magnética e ressonância magnética de um cérebro normal e um cérebro afetado por Moyamoya
- Etapa 2: carregar imagens no MATLAB e atribuir imagens a uma variável para exibir imagens
- Etapa 3: aprimorar estruturas alongadas em imagem de intensidade com filtragem multiescala
- Etapa 4: execute um filtro mediano 2D
- Etapa 5: mascarar a imagem
- Etapa 6: Selecione as varreduras MRA para testes estatísticos
- Etapa 7: Calcular a área dos vasos sanguíneos na preparação para o teste estatístico
- Etapa 8: Executar um teste T de amostras independentes
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03

Moyamoya, "nuvem de fumaça", é uma doença rara causada pelo bloqueio das artérias nos gânglios da base, que é uma área na base do cérebro. A doença é uma doença cerebrovascular progressiva que afeta principalmente crianças. Os sintomas da moyamoya incluem um derrame inicial, mini-derrames constantes, fraqueza muscular, paralisia ou convulsões como resultado do estreitamento progressivo das artérias. Sem tratamento, moyamoya causará problemas de fala, deficiência sensorial e consciência prejudicada. Em nosso projeto, utilizaremos o MATLAB para pré-processar uma imagem de ressonância magnética ou ressonância magnética usando vários filtros para reduzir o ruído na imagem e localizar a área afetada. Além disso, usaremos um aprimoramento de recurso para localizar as áreas afetadas com mais precisão. Além disso, executaremos um teste t de amostras independentes para determinar se há uma diferença significativa entre a quantidade de vasos sanguíneos em um cérebro normal em comparação com um cérebro afetado por moyamoya.
Etapa 1: Encontre imagens de ressonância magnética e ressonância magnética de um cérebro normal e um cérebro afetado por Moyamoya




Essas imagens são os scans que usamos para o projeto que encontramos online. As duas imagens com os vasos sanguíneos localizados no meio são exames de ressonância magnética, enquanto as outras duas imagens são exames de ressonância magnética.
Os links a seguir são onde essas imagens são encontradas:
static.cambridge.org/resource/id/urn:cambr…
static.cambridge.org/resource/id/urn:cambr…
Etapa 2: carregar imagens no MATLAB e atribuir imagens a uma variável para exibir imagens

Para iniciar o processo, comece limpando a janela de comando, feche todas as figuras e gráficos possíveis que podem já estar abertos e limpe as variáveis já atribuídas em sua área de trabalho.
Depois, crie um loop for de 1 a 2 usando o comando i = [1: 2]
Depois, carregue as imagens MRA usando o comando imread (sprintf ('filename%.filetype', i)) para ler as imagens dos arquivos especificados pelo nome do arquivo seguido pelo número usado para o loop usando sprintf para carregamento em lote e atribuição para uma variável.
Então, para exibir a imagem em uma figura, use o comando imshow (I).
Para atribuir um mapa de cores cinza, use o comando mapa de cores (cinza).
Para eliminar completamente a cor e converter a matriz 3D das imagens em 2D, use o comando rgb2gray (I) e atribua-o a uma variável separada.
Em seguida, carregue as imagens de ressonância magnética usando o comando indicado anteriormente ou imread (sprintf ('filename%.filetype', i)) e atribua-o a uma nova variável
Repita o comando rgb2gray com a nova variável usada para as imagens de ressonância magnética.
Se necessário, você pode redimensionar uma imagem usando o comando imresize (A, escala) e atribuí-la a uma variável separada.
Etapa 3: aprimorar estruturas alongadas em imagem de intensidade com filtragem multiescala

Usando uma nova variável, use o comando fibreometria (A) para realçar as estruturas tubulares nas imagens
Com a variável anterior, use o comando histeq (B) para aprimorar as equalizações do histograma, transformando a intensidade das imagens e atribuindo-a a uma nova variável.
Exiba o histograma usando o comando imhist (B)
Crie uma nova variável para criar um limite para o filtro. Neste caso, atribua a variável anterior> 0,875, filtrando a intensidade do pixel sob o valor de 0,875
Depois, crie uma nova figura e use o comando imshow (A) para exibir a nova imagem filtrada.
Etapa 4: execute um filtro mediano 2D

Usando o comando medfilt2 (A, [m n]), execute um filtro de mediana 2D, onde cada pixel de saída contém o valor mediano no limite mxn em torno do respectivo pixel na imagem de entrada.
Crie uma nova figura e use imshow (A) para exibir a imagem filtrada mediana.
Etapa 5: mascarar a imagem

Usando a imagem filtrada mediana, use o comando [labelImage, numberOfBlots] = bwlabel (A) para contar o número de manchas brancas na imagem
Em seguida, use a função region props states = regionprops (rotulada Image, 'Area') para calcular as áreas de cada mancha ou vaso sanguíneo
Atribuir todas as áreas em uma variável
Em seguida, usando outra variável, conte o número de manchas que excedem 50 pixels
Depois, classifique quaisquer manchas que estejam abaixo de 50 pixels em ordem decrescente usando o comando [SortAreas, SortIndicies] = sort (Areas, 'descend')
Em seguida, usando outra variável, use o comando ismember (LabelImage, SortIndicies (1: numberToExtract)) para retornar uma matriz com elementos de LabelImage encontrados em SortIndicies do número 1 ao número de vasos sanguíneos para retornar um 1 lógico (verdadeiro) ou um 0 lógico (falso).
Com a variável da etapa anterior, encontre os pontos que são verdadeiros (valores> 0) e crie uma matriz lógica para fazer uma imagem binária e atribuí-la a uma nova variável.
Crie uma nova figura e use imshow (A) a nova imagem binária.
Em seguida, inverta a imagem usando o comando imcomplement (A) e atribua-a a uma variável diferente.
Para criar uma imagem mascarada, use uma nova variável com o comando resizedimage. * Uint8 (imagem invertida)
Crie uma nova figura e use imshow (A) para exibir a imagem mascarada.
Para terminar todo o código, certifique-se de usar o comando 'end' para terminar todo o loop for
Etapa 6: Selecione as varreduras MRA para testes estatísticos



Para se preparar para o teste estatístico, selecione as varreduras MRA que serão usadas para o teste t de amostras independentes. Como nossas duas amostras serão Moyamoya de cérebros afetados e cérebros normais, selecione uma quantidade decente de varreduras MRA de cada grupo.
Etapa 7: Calcular a área dos vasos sanguíneos na preparação para o teste estatístico

O teste estatístico se concentrará no comprimento ou quantidade de vasos sanguíneos mostrados nas varreduras de MRA. Portanto, devemos calcular a área dos vasos sanguíneos antes da comparação.
Comece filtrando os MRAs de cérebros normais e calculando a quantidade de vasos sanguíneos. Para fazer isso, execute um loop for. Como existem três imagens, a condição será i = [1: 3].
Abra a imagem com o comando imread e atribua-a a uma variável.
Em seguida, crie uma instrução if / else com o comando if, else. Para a instrução if, use o comando size (A, 3) == 3, onde A é a variável usada para abrir a imagem, para criar uma instrução if para quando a terceira dimensão da matriz for 3. Em seguida, converta a imagem para 2D e livre-se da cor usando o comando rgb2gray (A) e atribua-a a uma nova variável. Use o comando imresize (A, [m n]) para redimensionar a imagem. Nesse caso, redimensionamos as imagens para uma matriz de 1024 x 1024. Para aprimorar as estruturas tubulares da imagem, use o comando fibreometria novamente e atribua-o a uma nova variável.
O seguinte é para a instrução else. Se a imagem não for uma matriz 3D, queremos pular a conversão. Faça o mesmo que a instrução if, mas sem o comando rgb2gray (A).
Crie uma nova variável, definindo-a igual à variável do passo da fibra maior que 0,15. Isso limita a imagem para intensidades maiores que 0,15.
Repetiremos as linhas de código dos passos 4 e 5 do instrutível desde a linha mediana do filtro até a linha imshow (I). Depois, use o comando sum (I (:)) para somar todos os pixels que constituem os vasos sanguíneos e atribua-o a uma variável separada. Nomeie uma nova variável NormalBloodVessels (i) e defina-a igual à variável do comando sum (I (:)). Isso adiciona os dados à matriz.
Termine o loop e repita, mas para os MRAs de cérebros afetados por Moyamoya. Nomeie a variável no final MoyaMoyaBloodVessels (i) para não confundi-la com os MRAs cerebrais normais.
Etapa 8: Executar um teste T de amostras independentes

Como existem duas amostras independentes e uma pequena população, execute um teste t para amostras independentes.
Crie e nomeie uma função que execute um teste t de amostras independentes para determinar se a quantidade de vasos sanguíneos nos MRAs de cérebros normais é significativamente igual ou não à dos MRAs de cérebros afetados por Moyamoya.
Exiba o conjunto de hipóteses para o teste usando o comando disp ('X'). Na primeira linha, exiba "Hipóteses para o teste t de duas amostras". Na segunda linha, exiba "H0 = A quantidade de vasos sanguíneos de um cérebro normal é igual à quantidade de vasos sanguíneos de um cérebro com doença de Moyamoya", para afirmar a hipótese nula. Na terceira linha, exiba, "HA = A quantidade de vasos sanguíneos de um cérebro normal não é igual à quantidade de vasos sanguíneos de um cérebro com doença de Moyamoya." para expor a hipótese alternativa.
Usando um intervalo de confiança de 95% e um tamanho de amostra de 3, calcule o escore t usando o comando tinv ([0,025 0,975], 2) e atribua à variável t. Use os comandos var (NormalBloodVessels) e var (MoyaMoyaBloodVessels) e atribua-os a variáveis para calcular as variações de ambos os conjuntos de dados.
Verifique se as variâncias são próximas ou não. Faça isso criando uma instrução if / else com o comando if, else. Para a condição na instrução if, escreva A / B == [0,25: 4], onde A é a variável responsável pela variação dos vasos sanguíneos normais e B é a variável responsável pela variação dos vasos sanguíneos de Moyamoya. 0,25 e 4 vêm de uma estimativa geral para determinar se as variâncias são iguais ou não. Em seguida, execute o teste t de duas amostras com [h, p] = ttest2 (A, B, 0,05, 'ambos', 'igual'), com A e B sendo as mesmas variáveis mencionadas anteriormente. Para a instrução else, use [h, p] = ttest2 (A, B, 0,05, 'both', 'desiguais') para executar um teste t de duas amostras no caso em que as variâncias não são iguais. Encerre a instrução if / else. Isso calculará p.
Crie uma instrução if / else que exibirá uma conclusão com base no valor de p. A condição para a instrução if será p> 0,05. Como normalmente falhamos em rejeitar a hipótese nula quando o valor de p é maior que 0,05, use o comando disp ('X') para exibir "Como o valor p é maior que 0,05, falhamos em rejeitar a hipótese nula" e " Portanto, falhamos em rejeitar que a quantidade de vasos sanguíneos de um cérebro normal seja igual à de um cérebro com doença de Moyamoya. " Na instrução else, uma vez que normalmente rejeitamos a hipótese nula quando o valor de p está abaixo de 0,05, use o comando disp ('X') para exibir "Como o valor de p é menor que 0,05, rejeitamos a hipótese nula" e " Portanto, não rejeitamos que a quantidade de vasos sanguíneos de um cérebro normal não seja igual à de um cérebro com doença de Moyamoya. " Encerre a instrução if / else.
Recomendado:
Como criar uma imagem de perfil incrível para seu Chromebook: 9 etapas

Como criar uma imagem de perfil incrível para o seu Chromebook: Olá a todos! Este é o Gamer Bro Cinema, e hoje vamos ensinar a você como fazer uma foto de perfil incrível para o seu canal do YouTube! Este tipo de foto de perfil só pode ser feito em um Chromebook. Vamos começar
Suporte de imagem com alto-falante embutido: 7 etapas (com imagens)

Porta-fotos com alto-falante embutido: Este é um ótimo projeto para realizar no fim de semana, se você quiser fazer seu próprio alto-falante que pode conter fotos / cartões postais ou até mesmo sua lista de tarefas. Como parte da construção, usaremos um Raspberry Pi Zero W como o coração do projeto e um
Sistema de reconhecimento e extintor de incêndio baseado em processamento de imagem: 3 etapas

Sistema de reconhecimento e extintor de incêndio baseado em processamento de imagem: Olá amigos, este é um sistema de detecção e extintor de incêndio baseado em processamento de imagem usando Arduino
Processamento de imagem com o Raspberry Pi: Instalando OpenCV e separação de cores de imagem: 4 etapas

Processamento de imagem com o Raspberry Pi: Instalando o OpenCV e a separação de cores da imagem: Esta postagem é o primeiro de vários tutoriais de processamento de imagem que estão por vir. Damos uma olhada mais de perto nos pixels que compõem uma imagem, aprendemos como instalar o OpenCV no Raspberry Pi e também escrevemos scripts de teste para capturar uma imagem e também c
Processamento Quantimétrico de Imagem: 5 Etapas

Processamento de imagem quantimétrica: (a figura acima ilustra a comparação do método de processamento de imagem existente com o processamento de imagem quantimétrico. Observe o resultado aprimorado. A imagem superior direita mostra artefatos estranhos que vêm da suposição incorreta de que as imagens medem algo como