Volume Segmentation
Manual Segmentation
Este módulo é usado para especificar segmentos (estruturas de interesse) em imagens 2D/3D/4D. Algumas das ferramentas imitam uma interface de pintura, como o Photoshop ou o GIMP, mas operam em matrizes 3D de voxels em vez de pixels 2D. O módulo oferece edição de segmentos sobrepostos, exibição tanto em visualizações 2D quanto 3D, opções de visualização detalhadas, edição em visualizações 3D, criação de segmentações por interpolação ou extrapolação em algumas fatias, e edição em fatias em qualquer orientação.
O Segment Editor não edita volumes de mapas de rótulos, mas as segmentações podem ser facilmente convertidas para/partir de volumes de mapas de rótulos usando a seção Explorer e utilizando o menu do botão secundário do mouse.
Segmentação e Segmento
O resultado de uma segmentação é armazenado no nó segmentation no GeoSlicer. Um nó de segmentação consiste em vários segmentos.
Um segmento especifica a região para uma estrutura única. Cada segmento possui um número de propriedades, como nome, cor de exibição preferencial, descrição do conteúdo (capaz de armazenar entradas codificadas padrão DICOM) e propriedades personalizadas. Os segmentos podem se sobrepor no espaço.
Representação de rótulos em mapa binário
A representação em mapa binário de rótulos é provavelmente a representação mais comumente usada porque é a mais fácil de editar. A maioria dos softwares que utilizam essa representação armazena todos os segmentos em uma única matriz 3D, portanto, cada voxel pode pertencer a um único segmento: os segmentos não podem se sobrepor. No GeoSlicer, a sobreposição entre segmentos é permitida. Para armazenar segmentos sobrepostos em mapas binários, os segmentos são organizados em camadas. Cada camada é armazenada internamente como um volume 3D separado, e um volume pode ser compartilhado entre vários segmentos não sobrepostos para economizar memória.
Em uma segmentação com a representação de origem definida como mapa binário, cada camada pode ter geometria diferente (origem, espaçamento, direções dos eixos, extensões) temporariamente - para permitir mover segmentos entre segmentações sem perda de qualidade desnecessária (cada reamostragem de um mapa binário pode levar a pequenas mudanças). Todas as camadas são forçadas a ter a mesma geometria durante certas operações de edição e quando a segmentação é salva em arquivo.
Painéis e sua utilização
![]()  | 
|---|
| Figura 1: Apresentação do módulo segment editor. | 
Principais opções
- 
Segmentação: escolha a segmentação a ser editada.
 - 
Volume de origem: escolha o volume a ser segmentado. O volume de origem selecionado na primeira vez após a segmentação ser criada é usado para determinar a geometria de representação do labelmap da segmentação (extensão, resolução, direções dos eixos, origem). O volume de origem é usado por todos os efeitos do editor que utilizam a intensidade do volume segmentado (por exemplo, limite, rastreamento de nível). O volume de origem pode ser alterado a qualquer momento durante o processo de segmentação.
 - 
Adicionar: Adicione um novo segmento à segmentação e selecione-o.
 - 
Remover: selecione o segmento que deseja excluir e clique em Remover segmento para excluir da segmentação.
 - 
Mostrar 3D: exiba sua segmentação no visualizador 3D. Este é um botão de alternância. Quando ativado, a superfície é criada e atualizada automaticamente conforme o usuário segmenta. Quando desligado, a conversão não é contínua e o processo de segmentação é mais rápido. Para alterar os parâmetros de criação de superfície: clique na seta ao lado do botão siga para a opção "Smoothing factor" e na barra de valor para editar um valor de parâmetro de conversão. Definir o fator de suavização como 0 desativa a suavização, tornando as atualizações muito mais rápidas. Defina o fator de suavização como 0,1 para suavização fraca e 0,5 ou maior para suavização mais forte.
 
Tabela de segmentos
Esta tabela exibe a lista de todos os segmentos.
Colunas da tabela:
- 
Visibilidade (ícone de olho): Alterna a visibilidade do segmento. Para personalizar a visualização: abra os controles de visualização de fatia (clique nos ícones de botão e seta dupla na parte superior de um visualizador de fatia) ou vá para o módulo Segmentações.
 - 
Amostra de cores: defina a cor e atribua o segmento à terminologia padronizada.
 - 
Estado (ícone de bandeira): Esta coluna pode ser usada para definir o status de edição de cada segmento que pode ser usado para filtrar a tabela ou marcar segmentos para processamento posterior. Não iniciado: estado inicial padrão, indica que a edição ainda não ocorreu. Em andamento: quando um segmento “não iniciado” é editado, seu estado é automaticamente alterado para este Concluído: o usuário pode selecionar manualmente este estado para indicar que o segmentat está completo Sinalizado: o usuário pode selecionar manualmente esse estado para qualquer finalidade personalizada, por exemplo, para chamar a atenção de um revisor especialista para o segmento
 
Seção de efeitos
![]()  | 
|---|
| Figura 2: Seção de efeitos do segment editor. | 
- 
Barra de ferramentas de efeitos: Selecione o efeito desejado aqui. Veja abaixo mais informações sobre cada efeito.
 - 
Opções: As opções para o efeito selecionado serão exibidas aqui.
 - 
Desfazer/Refazer: O módulo salva o estado da segmentação antes de cada efeito ser aplicado. Isso é útil para experimentação e correção de erros. Por padrão, os últimos 10 estados são lembrados.
 
Efeitos
Os efeitos operam clicando no botão Aplicar na seção de opções do efeito ou clicando e/ou arrastando nas visualizações de fatias ou 3D.
 Pintura
- 
Escolha o raio (em milímetros) do pincel a ser aplicado.
 - 
Clique com o botão esquerdo para aplicar um círculo único.
 - 
Clique com o botão esquerdo e arraste para preencher uma região.
 - 
Uma trilha de círculos é deixada, que é aplicada quando o botão do mouse é liberado.
 - 
O modo Esfera aplica o raio às fatias acima e abaixo da fatia atual.
 
 Desenho
- 
Clique com o botão esquerdo para criar pontos individuais de um contorno.
 - 
Arraste com o botão esquerdo para criar uma linha contínua de pontos.
 - 
Clique duas vezes com o botão esquerdo para adicionar um ponto e preencher o contorno. Alternativamente, clique com o botão direito para preencher o contorno atual sem adicionar mais pontos.
 
Nota
O efeito Tesoura também pode ser usado para desenhar. O efeito Tesoura funciona tanto em visualizações de fatias quanto em 3D, pode ser configurado para desenhar em mais de uma fatia por vez, pode apagar também, pode ser restrito a desenhar linhas horizontais/verticais (usando o modo retângulo), etc.
 Apagar
Semelhante ao efeito Pintura, mas as regiões destacadas são removidas do segmento selecionado em vez de adicionadas.
Se a Máscara / Área Editável estiver definida para um segmento específico, a região destacada é removida do segmento selecionado e adicionada ao segmento de máscara. Isso é útil quando uma parte de um segmento precisa ser separada em outro segmento.
 Rastreamento de Nível
- 
Mover o mouse define um contorno onde os pixels têm o mesmo valor de fundo que o pixel de fundo atual.
 - 
Clicar com o botão esquerdo aplica esse contorno ao mapa de rótulos.
 
 Crescer a partir de sementes
Desenhe o segmento dentro de cada estrutura anatômica. Este método começará a partir dessas "sementes" e as expandirá para alcançar a segmentação completa.
- 
Inicializar: Clique neste botão após a segmentação inicial ser concluída (usando outros efeitos de editor). O cálculo inicial pode levar mais tempo do que as atualizações subsequentes. O volume de origem e o método de preenchimento automático serão bloqueados após a inicialização, portanto, se algum desses precisar ser alterado, clique em Cancelar e inicialize novamente.
 - 
Atualizar: Atualize a segmentação concluída com base nas entradas alteradas.
 - 
Atualização automática: ative esta opção para atualizar automaticamente a visualização do resultado quando a segmentação for alterada.
 - 
Cancelar: Remover visualização do resultado. As sementes são mantidas inalteradas, portanto, os parâmetros podem ser alterados e a segmentação pode ser reiniciada clicando em Inicializar.
 - 
Aplicar: Substitua os segmentos de sementes pelos resultados visualizados.
 
Notas:
- 
Apenas segmentos visíveis são usados por este efeito.
 - 
Pelo menos dois segmentos são necessários.
 - 
Se uma parte de um segmento for apagada ou a pintura for removida usando Desfazer (e não for substituída por outro segmento), recomenda-se cancelar e inicializar novamente. A razão é que o efeito de adicionar mais informações (pintar mais sementes) pode ser propagado para toda a segmentação, mas remover informações (remover algumas regiões de sementes) não mudará a segmentação completa.
 - 
O método usa uma versão aprimorada do algoritmo grow-cut descrito em Liangjia Zhu, Ivan Kolesov, Yi Gao, Ron Kikinis, Allen Tannenbaum. An Effective Interactive Medical Image Segmentation Method Using Fast GrowCut, International Conference on Medical Image Computing and Computer Assisted Intervention (MICCAI), Interactive Medical Image Computing Workshop, 2014.
 
 Margem
Aumenta ou diminui o segmento selecionado pela margem especificada.
Ao habilitar Aplicar aos segmentos visíveis, todos os segmentos visíveis da segmentação serão processados (na ordem da lista de segmentos).
 Suavização
Suaviza segmentos preenchendo buracos e/ou removendo extrusões.
Por padrão, o segmento atual será Suavizado. Ao habilitar Aplicar aos segmentos visíveis, todos os segmentos visíveis da segmentação serão suavizado (na ordem da lista de segmentos). Esta operação pode ser demorada para segmentações complexas. O método Suavização conjunta sempre suaviza todos os segmentos visíveis.
Clicando no botão Aplicar, toda a segmentação é suavizada. Para suavizar uma região específica, clique e arraste com o botão esquerdo em qualquer visualização de fatia ou 3D. O mesmo método e força de suavização são usados tanto no modo de segmentação inteira quanto no modo de suavização por região (o tamanho do pincel não afeta a força da Suavização, apenas facilita a designação de uma região maior).
Métodos disponíveis:
- 
Mediana: remove pequenas extrusões e preenche pequenos espaços enquanto mantém os contornos suaves praticamente inalterados. Aplicado apenas ao segmento selecionado.
 - 
Abertura: remove extrusões menores do que o tamanho do kernel especificado. Não adiciona nada ao segmento. Aplicado apenas ao segmento selecionado.
 - 
Fechamento: preenche cantos afiados e buracos menores do que o tamanho do kernel especificado. Não remove nada do segmento. Aplicado apenas ao segmento selecionado.
 - 
Gaussiano: suaviza todos os detalhes. A suavização mais forte possível, mas tende a diminuir o segmento. Aplicado apenas ao segmento selecionado.
 - 
Suavização conjunto: suaviza múltiplos segmentos de uma vez, preservando a interface estanque entre eles. Se os segmentos se sobrepuserem, o segmento mais alto na tabela de segmentos terá prioridade. Aplicado a todos os segmentos visíveis.
 
 Tesoura
Recorta segmentos para a região especificada ou preenche regiões de um segmento (geralmente usado com mascaramento). As regiões podem ser desenhadas tanto na visualização de fatia quanto nas visualizações 3D.
- 
Clique com o botão esquerdo para começar a desenhar (forma livre ou círculo/retângulo elástico)
 - 
Solte o botão para aplicar
 
Ao habilitar Aplicar aos segmentos visíveis, todos os segmentos visíveis da segmentação serão processados (na ordem da lista de segmentos).
 Ilhas
Use esta ferramenta para processar “ilhas”, ou seja, regiões conectadas que são definidas como grupos de voxels não vazios que se tocam, mas são cercados por voxels vazios.
- 
Manter maior ilha: mantém a maior região conectada. - 
Remover pequenas ilhas: mantém todas as regiões conectadas que são maiores que otamanho mínimo. - 
Dividir ilhas em segmentos: cria um segmento único para cada região conectada do segmento selecionado. - 
Manter ilha selecionada: após selecionar este modo, clique em uma área não vazia na visualização de fatias para manter essa região e remover todas as outras regiões. - 
Remover ilha selecionada: após selecionar este modo, clique em uma área não vazia na visualização de fatias para remover essa região e preservar todas as outras regiões. - 
Adicionar ilha selecionada: após selecionar este modo, clique em uma área vazia na visualização de fatias para adicionar essa região vazia ao segmento (preencher buraco). 
 Operadores lógicos
Aplicar operações básicas de copiar, limpar, preencher e Booleanas ao(s) segmento(s) selecionado(s). Veja mais detalhes sobre os métodos clicando em “Mostrar detalhes” na descrição do efeito no Editor de Segmentos.
 Volume de máscara
Apague dentro/fora de um segmento em um volume ou crie uma máscara binária. O resultado pode ser salvo em um novo volume ou sobrescrever o volume de entrada. Isso é útil para remover detalhes irrelevantes de uma imagem ou criar máscaras para operações de processamento de imagem (como registro ou correção de intensidade).
- 
Operação:- 
Preencher dentro: define todos os voxels do volume selecionado para oValor de preenchimentoespecificado dentro do segmento selecionado. - 
Preencher fora: define todos os voxels do volume selecionado para oValor de preenchimentoespecificado fora do segmento selecionado. - 
Preencher dentro e fora: cria um volume de mapa de etiquetas binário como saída, preenchido com oValor de preenchimento forae oValor de preenchimento dentro. A maioria das operações de processamento de imagem exige que a região de fundo (fora, ignorada) seja preenchida com o valor 0. 
 - 
 - 
Borda suave: se definido como >0, a transição entre dentro/fora da máscara é gradual. O valor especifica o desvio padrão da função de desfoque gaussiano. Valores maiores resultam em uma transição mais suave. - 
Volume de entrada: voxels deste volume serão usados como entrada para a máscara. A geometria e o tipo de voxel do volume de saída serão os mesmos que os deste volume. - 
Volume de saída: este volume armazenará o resultado da máscara. Embora possa ser o mesmo que o volume de entrada, geralmente é melhor usar um volume de saída diferente, porque assim as opções podem ser ajustadas e a máscara pode ser recalculada várias vezes. 
 Limiar de cores
Esse efeito de edição de segmentação chamado "Color threshold", permite a segmentação de imagens com base em intervalos de cores definidos pelo usuário. O efeito pode operar em modos de cor HSV ou RGB, permitindo ajustes nos componentes de matiz, saturação e valor. Ainda possui ajuste nos níveis de vermelho, verde e azul. O efeito oferece uma visualização em tempo real da segmentação, utilizando um pulso de pré-visualização para ajudar o usuário a refinar os parâmetros antes de aplicar as alterações permanentemente. Além disso, o efeito inclui funcionalidades avançadas, como a conversão de espaços de cor e a manipulação de intervalos circulares, possibilitando uma segmentação precisa e customizada.
 Conectividade
Esse efeito de "Conectividade" permite a seleção de segmentos no Geoslicer, permitindo aos usuários calcular regiões conectadas dentro de um segmento em uma direção específica. O efeito inclui parâmetros configuráveis como saltos de conectividade, direção e nome de saída, tornando-o uma ferramenta versátil para tarefas detalhadas de segmentação. Ele lida de forma eficiente com a análise de componentes conectados e gera um novo segmento baseado nas configurações definidas pelo usuário.
 Remoção de Borda
Remove as bordas dos segmentos visíveis usando um filtro de detecção de bordas. Apenas os segmentos visíveis são modificados no processo.
- Filter: Apenas magnitude de gradiente até o momento.
 - Threshold adjustment: Ajusta o limiar para encontrar uma borda adequada.
 - Keep filter result: Marque esta opção para manter o resultado do filtro como um novo volume, para inspeção.
 
 Expandir Segmentos
Aplica o processo de watershed para expandir os segmentos visíveis, preenchendo os espaços vazios da segmentação. Os segmentos visíveis selecionados são usados como sementes, ou mínimos, a partir dos quais são expandidos.
 Primeiro plano inteligente
Segmenta automaticamente a área útil de uma imagem ou volume, isto é, a região que corresponde de fato à amostra, rejeitando as regiões de borda. Habilitando-se o recurso de fragmentação (atualmente disponível apenas para lâminas), eventuais fissuras entre fragmentos de rocha também deixam de ser consideradas área util. Este efeito é conveniente para fluxos de trabalho em que as áreas adjacentes à rocha possam influenciar negativamente, como, por exemplo, determinar a taxa de porosidade da amostra.
Múltiplos limiares
O efeito de multiple threshold, apresentado nos ambientes Volumes, Image Log, Core e Multiscale, permite ao usuário segmentar um volume 3D a partir de múltiplos valores de limiares. Dependendo da quantidade de segmentos selecionados, um histograma com limiares aparece colorido na interface. Cada segmento será separado pelo limiar, começando o próximo segmento em um limiar levemente acima na escala de cinza. Dessa forma, pode-se segmentar facilmente a imagem a partir da escala de cinza.

- 
Operação:- 
Preencher internamente: segmenta toda a área útil da imagem/volume; - 
Apagar externamente: dado um segmento qualquer já preenchido, exclui toda sua região que resida fora da área útil. 
 - 
 - 
Fragmentação:- 
Dividir: habilita/desabilita o recurso de fragmentação. Recomendado apenas para imagens de lâminas de luz polarizada (PP). Uma vez habilitado, permite escolher entre:Manter todos: considera todos os fragmentos como área útil;Filtrar os N maiores: apenas os N fragmentos de maior área serão preservados, sendo N o valor especificado pelo usuário.
 
 - 
 
AI Segmenter
O módulo MicroCT Segmenter oferece a opção de Model Training, que realiza a segmentação de uma amostra inteira a partir de uma anotação inicial simples. Com base nessa anotação, diferentes métodos treinam um modelo e inferem o resultado em toda a imagem ou em uma região de interesse (SOI). O modelo treinado pode ser salvo e reutilizado em outras imagens.
Método Random-Forest
O Random-Forest é um método que constrói múltiplas árvores de decisão durante o treinamento para criar um modelo robusto. A classificação final é determinada pela maioria dos votos das árvores. Para este método, é possível selecionar diferentes features (características) extraídas da imagem para o treinamento.
Seleção de características (features)
- Raw input image: Adiciona a própria imagem como uma das entradas.
 - Gaussian filter: Aplica um kernel gaussiano de raio escolhido como um filtro na imagem.
 
![]()  | 
|---|
| Figura 1: Filtro gaussiano. | 
- Winvar filter: Filtro baseado na variância, calcula \(\left\lt x^2\right\gt-\left\lt x\right\gt^2\) dentro de um kernel de raio escolhido.
 
![]()  | 
|---|
| Figura 2: Filtro winvar. | 
- Gabor filters: Calculados em direções \(\theta\) igualmente espaçadas, esses filtros são compostos de uma parte gaussiana e uma parte senoidal. Em 2D, a fórmula é:
 
![]()  | 
|---|
| Figura 3: Filtro Gabor em uma das direções \(\theta\). | 
- Minkowsky functionals: Parâmetros morfológicos que descrevem a geometria dos dados, associados a volume, superfície, curvatura média e característica de Euler.
 
  ![]()  | 
|---|
| Figura 4: Filtros Minkowsky. | 
- Variogram range: Mede a variação média dos valores em função da distância. O range é a distância onde a variação é máxima. É útil para diferenciar texturas e granulometrias.
 
![]()  | 
|---|
| Figura 5: Variogram range. | 
Método Inferência Bayesiana
Este método utiliza a regra de Bayes para classificar os pixels da imagem, atualizando as probabilidades de um pixel pertencer a uma classe com base nas anotações.
A abordagem no GeoSlicer assume uma Distribuição Normal Multivariada para a função de verossimilhança, onde a média \(\mu_s\) e a matriz de covariância \(\Sigma_s\) de cada segmento são calculadas a partir das anotações:
Onde \(x_p\) é o vetor de pixels em uma janela, e \(\mu_s\) e \(\Sigma_s\) são a média e a covariância do segmento \(s\).
A inferência da probabilidade de cada segmento para um pixel é obtida pela regra de Bayes, e o segmento que maximiza essa probabilidade é escolhido.
Para otimizar o desempenho, são aplicados alguns tratamentos, como a transformação de percentil em imagens de MicroCT e a conversão para o formato HSV em imagens de lâminas delgadas. Além disso, para acelerar o processo, é possível calcular a covariância de forma esparsa, utilizando apenas os eixos ou planos principais, o que é especialmente útil em 3D.
Abaixo, alguns resultados da aplicação do método em imagens de tomografia e lâminas:
![]()  | 
|---|
| Figura 6: Segmentação semi-automática usando inferência Bayesiana em dados de MicroCT. | 
![]()  | 
|---|
| Figura 7: Segmentação semi-automática usando inferência Bayesiana em dados de lâminas. | 
Modelos Pré-treinados
O GeoSlicer oferece modelos pré-treinados baseados na arquitetura U-Net para resolver dois problemas comuns na microtomografia de rochas: a segmentação binária (poro/não-poro) e a segmentação basins (múltiplos minerais).
Treinamento
O treinamento dos modelos foi realizado com um vasto conjunto de dados (68 volumes para o modelo binário e 106 para o basins), aplicando uma transformação linear de histograma para facilitar a generalização. Os volumes foram recortados em subvolumes de 128³ voxels, e uma porção de 75% deles sofreu transformações aleatórias (aumento de dados) para melhorar a robustez do modelo. Para lidar com o desbalanceamento de classes (poros são menos comuns), foi utilizada a função de custo de Tversky, que ajusta a sensibilidade do modelo para classes minoritárias, melhorando a precisão na detecção de poros.
Resultados
Os modelos pré-treinados apresentam resultados de alta qualidade. O modelo de segmentação binária é especialmente preciso na identificação de poros, enquanto o modelo basins oferece uma segmentação completa dos diferentes minerais.
Segmentação Binária
![]()  | 
|---|
| Figura 8: Comparação entre a imagem original, a anotação e o resultado da segmentação binária. | 
Segmentação Basins
![]()  | 
|---|
| Figura 9: Comparação entre a imagem original, a anotação e o resultado da segmentação basins. | 
Referências
- SCHMIDT, U. et al. (2018). Cell detection with star-convex polygons. In: Medical Image Computing and Computer Assisted Intervention–MICCAI 2018. Springer.
 - SALEHI, S. S. M. et al. (2017). Tversky loss function for image segmentation using 3D fully convolutional deep networks. In: Machine Learning in Medical Imaging. Springer.
 - WEIGERT, M. et al. (2020). Star-convex polyhedra for 3D object detection and segmentation in microscopy. In: Proceedings of the IEEE/CVF winter conference on applications of computer vision.
 - BAI, M. & URTASUN, R. (2017). Deep watershed transform for instance segmentation. In: Proceedings of the IEEE conference on computer vision and pattern recognition.
 - HE, K. et al. (2017). Mask r-cnn. In: Proceedings of the IEEE international conference on computer vision.
 - RONNEBERGER, O. et al. (2015). U-net: Convolutional networks for biomedical image segmentation. In: Medical Image Computing and Computer-Assisted Intervention–MICCAI 2015. Springer.
 
Segment Inspector
Este módulo fornece vários métodos para analisar uma imagem segmentada. Particularmente, os algoritmos Watershed e Separate objects permitem fragmentar uma segmentação em várias partições, ou vários segmentos. Geralmente é aplicado à segmentação do espaço poroso para calcular as métricas de cada elemento poroso. A entrada é um nó de segmentação ou volume de labelmap, uma região de interesse (definida por um nó de segmentação) e a imagem/volume mestre. A saída é um labelmap onde cada partição (elemento poro) está em uma cor diferente, uma tabela com parâmetros globais e uma tabela com as diferentes métricas para cada partição.
Painéis e sua utilização
![]()  | 
|---|
| Figura 1: Apresentação do módulo Segment Inspector. | 
Principais opções
A interface do módulo Segment Inspector é composta por Inputs, Parameters e Output
Single input
![]()  | 
|---|
| Figura 2: Apresentação dos inputs no módulo Segment Inspector. | 
- 
Segmentation: Input para a segmentação utilizada na partição.
 - 
Region SOI: Escolha Uma segmentação de interresse que contenha ao menos uma parte da segmentação utilizada em Segmentation.
 - 
Image: Campo preenchido automaticamente com o nodo de referência da segmentação utilizada em Segmentation.
 
Attributes
![]()  | 
|---|
| Figura 3: Atributos de segmentos no módulo Segment Inspector. | 
- 
Segments: Segmentos contidos na segmentação selecionada em Segmentation. A lista informa sobre a visualização do segmento pelo icone do olho. Para a inicialização do metodo de fragmentação um segmento deve ser selecionado.
 - 
Calculate proportions: Checkbox para apresentar as proporções de cada segmento na imagem.
 - 
Dimension(px): Apresenta as dimensões da imagem selecionada.
 
Parâmetros e Métodos
Watershed
O algoritmo de Watershed funciona simulando a expansão de "bacias hidrográficas" a partir de pontos marcados como mínimos locais. À medida que a "água" preenche os vales, ela define as fronteiras entre diferentes regiões. Essa abordagem é amplamente utilizada em aplicações onde é necessário separar objetos ou poros em materiais, aproveitando os contrastes entre regiões.
![]()  | 
|---|
| Figura 4: Watershed no módulo Segment Inspector. | 
- 
Size Filter(mm): Controla o alcance máximo de segmentação, influenciando diretamente o tamanho e a conectividade das regiões segmentadas. Valores pequenos são Usados quando você deseja segmentar muitos detalhes finos em contrapartida Valores grandes são usados quando o foco é em grandes áreas ou objetos conectados.
 - 
2D throat analysis(beta): Adiciona métricas de analise de gargantas 2d no report.
 - 
Calculate Coordination Number: Calcula o número de regiões vizinhas (que dividem fronteira) com cada um dos rótulos (labels) do watershed. Consideramos como um "vizinho" todo rótulo que compartilhe uma face, aresta ou vértice de outro próximo.
 - 
Smooth factor: Parâmetro que ajusta o grau de suavidade nas bordas das regiões segmentadas, permitindo controle entre a preservação dos detalhes e a redução de ruído ou irregularidades. Com Fatores altos a segmentação será mais suave e simplificada, mas com perda de pequenos detalhes.
 - 
Minimun Distance: parâmetro que determina a menor distância permitida entre dois máximos locais ou objetos segmentados. Um valor maior deste parâmetro fundirá objetos próximos, simplificando a segmentação, enquanto um valor menor permitirá a separação de objetos mais próximos, resultando em uma segmentação mais detalhada.
 - 
Orientation Line: O parâmetro de orientação permite que o algoritmo alinhe-se adequadamente com as características da imagem, melhorando a precisão da segmentação
 
Separate Objects
O método de segmentação por "Separate Objects " identifica regiões conectadas em uma matriz binária que representam objetos de informação. Este processo é especialmente útil em análise de porosidade, onde é importante distinguir diferentes regiões conectadas dentro de um volume.
![]()  | 
|---|
| Figura 5: Separate Objects no módulo Segment Inspector. | 
- 
Size Filter(mm): Controla o alcance máximo de segmentação, influenciando diretamente o tamanho e a conectividade das regiões segmentadas. Valores pequenos são Usados quando você deseja segmentar muitos detalhes finos em contrapartida Valores grandes são usados quando o foco é em grandes áreas ou objetos conectados.
 - 
Orientation Line: O parâmetro de orientação permite que o algoritmo alinhe-se adequadamente com as características da imagem, melhorando a precisão da segmentação
 
GPU Watershed
A técnica de Deep Watershed combina o conceito tradicional de Watershed com redes neurais profundas para obter uma segmentação mais precisa e robusta. Utilizando a força de aprendizado profundo, o método aprimora a detecção de limites e objetos em cenários complexos, como a análise de materiais porosos com múltiplos níveis de sobreposição. Essa abordagem é particularmente eficaz para lidar com volumes tridimensionais e para realizar segmentações precisas em imagens ruidosas.
![]()  | 
|---|
| Figura 6: GPU Watershed no módulo Segment Inspector. | 
- 
Split Threshold(0-1): Controla o alcance máximo de segmentação, influenciando diretamente o tamanho e a conectividade das regiões segmentadas. Valores pequenos são usados quando você deseja segmentar muitos detalhes finos em contrapartida valores grandes são usados quando o foco é em grandes áreas ou objetos conectados.
 - 
2D throat analysis(beta): Adiciona métricas de analise de gargantas 2d no report.
 - 
Base volume (px): Esse parâmetro representa um valor base que pode ser relacionado ao tamanho ou à escala do volume que está sendo processado. Ele serve como uma referência para calcular a profundidade ou as camadas do volume que serão analisadas.
 - 
Intersection (px):Esse parâmetro é usado para ajustar o quanto as regiões dentro do volume podem se sobrepor umas às outras durante a segmentação.
 - 
Border (px): Esse parâmetro define o tamanho ou a espessura das bordas que serão consideradas ao calcular as camadas de profundidade no volume.
 - 
Background Threshold(0-1): Atua como um ponto de corte. Todos os valores abaixo desse limiar (threshold) são considerados como pertencentes ao fundo (ou background), enquanto valores acima do limiar são considerados como partes de objetos ou regiões significativas dentro da imagem ou volume.
 
Transitions Analysis
A Análise de Transições se concentra em examinar as mudanças entre regiões ou segmentos de uma imagem. Este método é empregado principalmente para estudar a mineralogia de amostras.
![]()  | 
|---|
| Figura 7: Transitions Analysis no módulo Segment Inspector. | 
- Include Background: Usa as dimensões totais da imagem de entrada para análise.
 
Basic Petrophysics
![]()  | 
|---|
| Figura 8: Transitions Analysis no módulo Segment Inspector. | 
- Include Background: Usa as dimensões totais da imagem de entrada para análise.
 
Output
Digite um nome para ser usado como prefixo para o objeto de resultados (mapa de rótulos onde cada partição (elemento de poro) está em uma cor diferente, uma tabela com parâmetros globais e uma tabela com as diferentes métricas para cada partição).
Propriedades / Métricas:
- Label: identificação do rótulo da partição.
 - mean: valor médio da imagem/volume de entrada dentro da região da partição (poro/grão).
 - median: valor mediano da imagem/volume de entrada dentro da região da partição (poro/grão).
 - stddev: Desvio padrão do valor da imagem/volume de entrada dentro da região da partição (poro/grão).
 - voxelCount: Número total de pixels/vóxels da região da partição (poro/grão).
 - area: Área total da partição (poro/grão). Unidade: mm².
 - angle: Ângulo em graus (entre 270 e 90) relacionado à linha de orientação (opcional, se nenhuma linha for selecionada, a orientação de referência é a horizontal superior).
 - max_feret: Maior eixo de Feret. Unidade: mm.
 - min_feret: Menor eixo de Feret. Unidade: mm.
 - mean_feret: Média dos eixos mínimo e máximo.
 - aspect_ratio: min_feret / max_feret.
 - elongation: max_feret / min_feret.
 - eccentricity: quadrado(1 - min_feret / max_feret), relacionado à elipse equivalente (0 ≤ e < 1), igual a 0 para círculos.
 - ellipse_perimeter: Perímetro da elipse equivalente (elipse equivalente com eixos dados pelos eixos mínimo e máximo de Feret). Unidade: mm.
 - ellipse_area: Área da elipse equivalente (elipse equivalente com eixos dados pelos eixos mínimo e máximo de Feret). Unidade: mm².
 - ellipse_perimeter_over_ellipse_area: Perímetro da elipse equivalente dividido por sua área.
 - perimeter: Perímetro real da partição (poro/grão). Unidade: mm.
 - perimeter_over_area: Perímetro real dividido pela área da partição (poro/grão).
 - gamma: Arredondamento de uma área calculado como 'gamma = perímetro / (2 * quadrado(PI * área))'.
 - pore_size_class: Símbolo/código/id da classe do poro.
 - pore_size_class_label: Rótulo da classe do poro.
 
Definição das classes de poros:
- Microporo: classe = 0, max_feret menor que 0,062 mm.
 - Mesoporo muito pequeno: classe = 1, max_feret entre 0,062 e 0,125 mm.
 - Mesoporo pequeno: classe = 2, max_feret entre 0,125 e 0,25 mm.
 - Mesoporo médio: classe = 3, max_feret entre 0,25 e 0,5 mm.
 - Mesoporo grande: classe = 4, max_feret entre 0,5 e 1 mm.
 - Mesoporo muito grande: classe = 5, max_feret entre 1 e 4 mm.
 - Megaporo pequeno: classe = 6, max_feret entre 4 e 32 mm.
 - Megaporo grande: classe = 7, max_feret maior que 32 mm.
 





 











