Guia do IDL - Cap?tulo C:

Gráfico em Linha

Visualização das tabelas de dados do IDL. Uma maneira de visualizar a seqüência de valores dos dados, como uma linha do tempo, para exibi-los como gráfico em linha use o procedimento PLOT.
Neste exemplo, nós iremos ler dados para uma nova variável chirp e exibi-los na tela como gráfico em linha.

IDL> filename = filepath('chirp.dat', subdir=['examples','data'])
IDL> chirp = read_binary(filename)
IDL> help, chirp
         CHIRP BYTE = Array [512]

O valor dos dados foram lidos para um arquivo no IDL na forma de uma matriz de uma dimensão (também conhecido como vetor). Note que a matriz é do tipo byte.
O que há na variável chirp ? Com o procedimento PRINT, nós podemos visualizar os dados em forma de tabela, mas considerando que são 512 valores, pode ser mais fácil de compreender os dados visualizando graficamente. Exiba os dados na tela usando o procedimento PLOT.

IDL> plot, chirp

 

Este é apenas um exemplo básico da funcionalidade do procedimento PLOT podemos explorar mais as suas possibilidades utilizando as palavras-chaves.
Podemos por exemplo descrever os títulos:

IDL> plot, chirp, xtitle = 'Tempo (s)', ytitle = 'Amplitude (m)', $
IDL> title = 'Onda do seno com freqüência exponencial crescente'

 

Você poderá encontrar maiores especificações destas e de outras palavras-chave utilizando a ferramenta IDL Online Help.

 

Gráfico de Superfície

Para exemplo de um gráfico de superfície usaremos o arquivo lvdem.sav (que pode ser encontrado no servidor da Exelis VIS (www.exelisvis.com), neste servidor entre no arquivo zipado intro.zip, entre na pasta IDL_training, e depois na pasta introduction, pegue o arquivo lvdem.sav e coloque ele dentro da pasta IDLXX, que esta dentro do diretório da RSI), como este arquivo é do tipo .sav, então ele precisa primeiro ser restaurado, dentro deste arquivo encontraremos a variável lvdemdata os dados contidos nesta variável representam valores de elevação obtidos pela USGS do Canyon Big Thompson em Colorado nos Estados Unidos.

IDL> restore, 'lvdem.sav'
IDL> help, lvedemdata
          LVDEMDATA INT = Array [64, 64]

Esta variável tem duas dimensões, representando uma matriz de elementos de 64 x 64. Podemos ver os dados armazenados em uma matriz bidimensional como esta usando o procedimento SURFACE. Para fazer a rotação da SURFACE devemos utilizar as palavras-chave AX e AZ.

IDL> surface, lvdemdata, az=50, ax=40

 

O procedimento SURFACE retorna um emaranhado de fios representando os dados. Outra forma de visualizar esses dados seria usando o procedimento SHADE_SURF que apresenta na tela a mesma imagem porém de forma preenchida.

IDL> shade_surf, lvedemdata, az=50, ax=40

 

Gráfico de Contorno

Mais uma vez como exemplo usarei a variável lvdemdata os dados desta variável podem ser mostrados na tela como um gráfico de contorno do IDL, utilizando o procedimento CONTOUR e as palavras-chave XSTYLE e YSTYLE para ajustar a localização no gráfico de contorno.

IDL> contour, lvdemdata, xstyle=1, ystyle=1

 

Por padrão, o procedimento CONTOUR tem 05 níveis de contornos e fica fora de ajuste por isso o uso das palavras-chave XSTYLE e YSTYLE, para personalizar os níveis de contorno do gráfico de contornos podemos usar a palavra-chave NLEVELS.

IDL> contour, lvdemdata, xstyle=1, ystyle=1, nlevels=12

 

Permitir que o IDL escolha níveis de contorno é útil para conseguir uma idéia preliminar da série de dados, mas uma técnica melhor seria atribuir o nível de contorno, tendo o conhecimento das escalas dos dados em cada dimensão. Comece determinando o valor mínimo e o máximo dos dados com as funções MIN e MAX.

IDL> print, min(lvdemdata), max(lvdemdata)
          2853      3133

Com estes valores, defina o nível de contorno e aplique ele no gráfico através da palavra-chave LEVELS. Use a palavra-chave FOLLOW para mostrar na tela os valoras do contorno.

IDL> clevels = indgen(13) * 25 + 2850
IDL> print, clevels
         2850    2875    2900    2925    2950    2975    3000    3025    3050    3075    3100    3125    3150

IDL> contour, lvdemdata, xstyle=1, ystyle=1, levels= clevels, /follow

 

Exposição e processamento de imagens

IDL pode ser usado para apresentar na tela matrizes como imagens. Os valores dos dados de uma matriz são transformados em uma escala cinza intensa ou colorida.
     Carregue a paleta com escala cinza e apresente a mesma imagem usando o procedimento TVSCL.

IDL> loadct, 0
IDL> tvscl, lvdemdata

A imagem resultante é realmente pequena. Isto é porque os elementos contidos na matriz lvdemdata são transformados para os pixels da tela do seu computador. A matriz é de 64 elementos em um lado, então a imagem resultante será de 64 pixels. Você pode utilizar o IDL para determinar a resolução da tela do seu computador com a função GET_SCREEN_SIZE:

IDL> print, get_screen_size
         1280.00    1024.00

Redimensione lvdemdata interpolando ele para uma matriz de 256 x 256 elementos usando a função REBIN. Armazene o resultado em uma variável dem. Exiba o resultado na tela.

IDL> x = 256
IDL> y = 256
IDL> dem = rebin (lvdemdata, x, y)
IDL> tvscl, dem

Perceba que apesar da imagem estar maior você ainda fica com a janela maior do que a imagem porém podemos ajustar o tamanho da janela:

IDL> window, 0, xsize = x, ysize = y
IDL> tvscl, dem

 

Os dados usados para exibir esta imagem são apenas números, o IDL pode confundir eles. Tente diferenciar a imagem usando a função SOBEL. A função SOBEL utiliza um destaque no contorno.

IDL> tvscl, sobel(dem)

 

 
Contato: Rua Felipe Neri, 444 - Porto Alegre/RS - Brasil | Fone: (51) 3333-1581 / (51) 3026-3920 | Todos direitos reservados.