luc_3

Iaramp

A função IARAMP tem como objetivo mostrar uma imagem com o efeito de ilusão optica observada em uma imagem com tons de cinza (Bandas de Mach) Sua equação matemática é dada por.

Sintax :

  • g = iaramp(s, n, range)
    • g: Image.
    • s: equivale à dimensão da imagem a ser gerada ([h w]) e que pode ser na forma binária ou em escala de cinza.
    • n: equivale ao número de bandas (faixas) a serem geradas e deve ser um número inteiro positivo.
    • range: equivale aos valores mínimos e máximos em escala de cinza que cada banda exibirá e que pode ser na forma binária ou em escala de cinza

Veja os exemplos

Ianormalize

A função IANORMALIZE tem como obejtivo normalizar os valores dos pixels de um determinado intervalo,O valor mínimo de f é atribuído ao valor mínimo desejado e o valor máximo de f, para o valor máximo desejado. Os valore mínimo e máximo desejado é dada pelo intervalo de parâmetros.Sua equação matemática é dada por.

Sintax :

  • g = ianormalize(f,min,max)
    • g: Imagem.
    • f: Imagem de entrada
    • range: Valor mínimo e máximo de saída.

Veja os exemplos

Iaapplylut

A função "Iaapplylut" realiza a transformação de intensidade em uma imagem,onde a linha "g=it(double(fi) + 1);" aplica em "fi" uma nova intensidade que está relacionada a cada valor de intensidade de pixel tabela "it". A imagem de entrada pode ser visto como uma imagem em escala de cinza ou uma imagem de índice. A intensidade de transformação é representada por uma tabela onde a entrada (escala de cinza), endereço de cor da linha da tabela e seu conteúdo da coluna indica a saída (escala de cinza) cor da imagem. A tabela pode ter uma ou três colunas. Se ele tem três colunas, a imagem de saída é uma imagem de três bandas de cor. Essa transformação da imagem de intensidade é muito poderoso e pode ser usado em várias aplicações envolvendo escala de cinza e imagens coloridas. Se a imagem de entrada tem um índice (cor de cinza) que é maior que o tamanho da tabela de intensidade, é reportado um erro. Sua equação matemática é dada por: I - Normal

II - RGB

Sintax:

  • g = iaapplylut(fi, it)
    • g: g - Equivale à imagem resultante da transformação.
    • fi: fi - Equivale à imagem de entrada em escala de cinzas ou imagem indexada.

e Veja os exemplos

Sobre a Função Adshow

A função adshow tem como objetivo a visualização de imagem.A escala de exposições de base é cinza nível [0255]. Através de pesquisa, nota-se a função ADSHOW faz uma conversão de números negativos para números positivos, ou seja faz um MOD de N.

veja maiores detalhes da função em Cap.4

Sintax Simples:

  • g = adshow(f, title='')
    • f: f - Imagem de Entrada.
    • title: Caso haja um título para ser colocado na imagem.

Iamosaic

Esta função retorna uma imagem de 3D, contendo fatias justapostas do volume de entrada escolhido pelo usuário.

Sintax:

  • g = iamosaic(f, N, n, X, view='XY')
    • g: Imagem.
    • f: Imagem de Entrada.
    • N: Número de Imagens.
    • X: Imagem Inicial.
    • n: Número de Colunas.
    • plane: Plano. 'XY', 'XZ', 'YZ'.

Função Original:

 1 def iamosaic(f, N, X, n, plane='XY'):
 2 
 3     import numpy as np
 4 
 5     # Encontra as dimensões do volume, Realiza as transformações nos eixos e rotaciona o volume para o plano desejado
 6     if plane == 'XY':              # Plano 1 'XY'
 7         Xini = min(X,slice)-1      # Determina a faixa de fatias das imagens no maisco
 8         Xend = min(X+N,slice+1)-1  # no mosaico. a função min() está sendo usada para garantir que os parâmetros de imagem
 9         froi = f[Xini:Xend,:,:]    # Cria uma cópia das fatias desejadas.
10     elif plane == 'XZ':            # Plano 2 'XZ'
11         Xini = min(X,row)-1
12         Xend = min(X+N,row+1)-1
13         froi = f[:,Xini:Xend,:]
14         # Transformações XZ em XY
15         temp = froi[::-1,:,:]
16         froi = temp.transpose(1,2,0)
17     elif plane == 'YZ':            # Plano 3 'YZ'
18         Xini = min(X,column)-1
19         Xend = min(X+N,column+1)-1
20         froi = f[:,:,Xini:Xend]
21         temp = froi[::-1,:,:]
22         froi = temp.transpose(2,1,0)
23 
24     # Criando o Mosaico
25 
26     Nlinhas = np.ceil(float(sliceS)/n)               # imagem completa
27     Ifalt = Nlinhas*n-sliceS                         # Calcula quantas "células" do mosaico
28     temp0 = froi.reshape((sliceS*rowS,columnS))
29     temp1 = np.hstack((np.vsplit(temp0,sliceS)))     # Transforma em uma linha de imagens bidimensionais
30     if Ifalt:                                        # preenche com fundo preto caso haja necessidade
31         background = np.zeros((rowS,columnS*Ifalt))
32         temp2 = np.hstack((temp1,background))
33     else:
34         temp2 = temp1
35 
36     g = np.vstack((np.hsplit(temp2,Nlinhas)))        # Resultado da Imagem do Mosaico
37 
38     g = g.astype(np.int32)                           # Altera o tipo de dados da imagem de saída para 'int32'
39 
40 
41     return g

Veja os Exemplos

Considerações

Nestes exercícios estudamos as funções da toolbox IA6363: iaramp, iapplylut, ianormalize na qual ajudou a entender um pouco mas sobre a função adshow. Quando utilizado com a função IASHOW , seu comportamento quando o range é < 1 , range = 0 ou seja define a cor padrão como preta, no caso da utilização com o ADSHOW seu comportamento é perfeito quanto trabalhamos com int8 ou boolean, no entanto em outros tipos há uma variação e pode encontrar alguns problemas. pois a função adshow faz do uso da função MOD(). Na função iaramp,a quantidade de faixas é sempre (N - 1) > onde N > 0. Dependendo do intervalo(range), haverá uma faixa desproporcional as demais. Imagem downcasting int32 para UInt16 (pode perder precisão)