MAGY V1.0 – PROGRAMA DE PROCESSAMENTO DE DADOS
MAGNÉTICOS
S. NEVES
Centro de Geofísica de Évora, Laboratório HERCULES, Universidade de Évora, Rua Romão Ramalho, 59 Évora, Portugal, [email protected]
O objectivo deste trabalho é a apresentação de um software que permite o processamento e representação de mapas de anomalias magnéticas (intensidade e gradiente do campo magnético total terrestre), em que os dados são importados directamente do magnetómetro. O programa foi desenvolvido através da linguagem Python, sendo utilizadas bibliotecas específicas de processamento numérico, processamento de sinal e de representação gráfica. É apresentado um caso sintético com dois diques verticais magnéticos paralelos entre si, tendo sido adicionado ruído. Este caso foi processado com os métodos de processamento de sinal implementados no programa.
1. Introdução
A prospeção magnética é uma das técnicas geofísicas mais utilizadas no mapeamento de anomalias em escalas geográficas variáveis e com o objectivo de identificar estruturas de interesse geológico, económico, ambiental e arqueológico. Esta técnica consiste no mapeamento de um ou mais parâmetros do campo magnético terrestre, de modo a analisar as anomalias magnéticas e relacioná-las com as estruturas sub-superficiais. A interpretação dos mapas de anomalias magnéticas consiste na localização geoespacial da fonte, a sua caracterização geométrica, e a determinação das propriedades magnéticas dos materiais que a constituem (sempre que possível, acompanhada da identificação dos materiais geológicos que a compõem).
As linguagens de programação de alto nível, como é o caso do Python [2] e Matlab [3], cada vez mais têm-se tornado ferramentas acessíveis aos utilizadores sem grandes conhecimentos de programação. Estas linguagens de programação permitem criar programas de baixa a elevada complexidade, depende unicamente do objetivo do programa, bem como do tempo de cálculo exigido e das capacidades de cálculo do computador. O MAGY foi desenvolvido através da linguagem Python, tendo sido utilizadas bibliotecas numéricas que permitem otimizar os recursos computacionais (numpy [6]) bem como criar as interfaces gráficas funcionais e apelativas (matplotlib [7]).
A estrutura do programa é apresentada na Figura 1, sendo constituída por pacotes de funções (input, projecto, processamento, representação, análise, e output). Estes pacotes de funções são descritos no parágrafo seguinte.
Figura 1. Estrutura do programa MAGY.
2. Input
A função input permite ao utilizador escolher o formato e importar os dados que pretende bem como definir alguns parâmetros de entrada (Figura 2). Nomeadamente, o nome do projeto, o comprimento da linha (L), o afastamento entre linhas (dy), a posição do inicio da prospeção, e definir se o operador do magnetómetro realizou o percurso em zig-zag ou não. Estes parâmetros de entrada permitem ao programa corrigir as posições das amostras, dado que as mesmas são obtidas pelo GPS do magnetómetro e por isso, sujeitas a algumas imprecisões de localização. Após a leitura dos dados e definição de todos os parâmetros, o utilizar pode gravar o projecto ou sair desta opção. O projeto é gravado num ficheiro em formato próprio (.bin). Depois de gravar o projeto, o programa coloca automaticamente os dados em memória, permitindo ao utilizador continuar o seu trabalho.
A versão MAGY 1.0 só permite ler dados provenientes de magnetómetros da marca Gem Systems, com dois sensores, e com dados obtidos no campo segundo uma grelha regular (quadrática ou rectangular).
Projeto Dados originais Dados Representação Processamento Análise Input Output
Figura 2. Janela de criação de projecto.
3. P rojeto
O projeto é um ficheiro que contém uma base de dados com toda a informação paramétrica relativa ao ensaio magnetométrico (geometria, topografia, parâmetros físicos, número de amostras).
O projeto é um ficheiro (.bin) composto por dois contentores de informação. O primeiro contentor contém os dados originais, tal como são importados do magnetómetro. Estes dados são armazenados e nunca são alterados (dados estáticos). O segundo contentor é composto por um conjunto de macros (sub-contentores) que armazenam os dados que poderão ser alvo de processamento (dados dinâmicos). Estes dados são atualizáveis em qualquer momento.
4. Representação
A representação dos dados é realizada com recurso a biblioteca Matplotlib [7], aqual se encontra na base da representação dos diversos gráficos. O programa permite visualizar os dados em gráfico de traços ou imagem. Para além das possibilidades anteriores, também permite visualizar a posição das amostras no plano. As Figuras 3 - a) e b) apresentam exemplos dos gráficos de traços, e de imagem, respectivamente. O gráfico de imagem utiliza uma malha regular de 0,25 x 0,25 m que resulta da aplicação de um polinómio interpolador de quinto grau. É possível definir o intervalo de valores da intensidade e do gradiente total do campo magnético terrestre, bem como a paleta de cores do gráfico de imagem.
Figura 3. a) Gráfico de traços, b) Gráfico de imagem.
5. Processamento
O processamento dos dados geofísicos é fundamental para obter resultados de boa qualidade e permitir boas interpretações. Deste modo, este pacote tem um conjunto de funções que permitem ao utilizador melhorar a qualidade do resultado, bem como ajudar a compreender e interpretar os mesmos.
A função despiking permite eliminar ondas de pequeno comprimento de onda com elevada amplitude relativamente à média (em geral, resultado da existência de artefactos metálicos no terreno). Este tipo de anomalias impossibilita a correta visualização dos dados magnéticos, visto que por vezes os dados que se pretendem analisar estão num intervalo de valores muito inferiores ao intervalo de valores global.
O MAGY tem disponíveis dois métodos para eliminar ou reduzir o efeito de spiking. O método de z-score (elimina os dados anómalos), e o método logarítmico (reduz os spikes segundo um razão logarítmica). O método z-score [4] é uma ferramenta estatística que permite avaliar se as series de dados têm outliers, ou não, baseando na Eq. (1).
( )
x x szi = i− / Eq. (1) Onde, xi é a amostra, xé o valor médio do conjunto das amostras, e S é o desvio padrão do mesmo conjunto. Se um dada amostra for outlier (zi > 3.5) o programa permite
a substituição pela média ou pela mediana da serie de dados, caso contrário, as amostras permanecem com o mesmo valor.
O método logarítmico [5] realiza uma suavização das grandes amplitudes de onda através da Eq. (2), sendo x o valor da amostra, e A o fator de suavização. Quanto maior for o fator de redução (A) maior será a suavização imposta aos dados. Deste modo, é possível limitar a variação da grandeza representada a um intervalo de valores que possibilita a visualização adequada das principais anomalias magnéticas.
b) a)
+ = .log10 1 mod A x A x Eq. (2)
O destripe é um método que reduz o efeito visual de bandeamento do mapa de anomalias magnéticas- Este efeito deve-se ao facto de existirem normalmente variações do valor médio das series individuais contidas no mapa de anomalias. (O mapa de anomalias magnéticas é obtido através de um conjunto de series de dados individuais, paralelas entre si, sendo que as mesmas são obtidas segundo um percurso em linha no campo). Para reduzir este efeito, este método calcula o valor médio do gradiente magnético para cada serie, e realiza uma translação vertical em sinal contrário ao valor médio obtido. Logo, todas as serieis são normalizadas com o valor médio nulo.
O desttager é uma função que permite reduzir o efeito de desfasamento (as series impares estão deslocadas de uma determinada distância das series pares, produzindo o efeito de desfasamento). Este efeito acontece devido ao modo de recolha de dados em campo (normalmente em zig-zag), incorreto posicionamento das amostras (obtido por GPS), erros introduzidos pelo operador do magnetómetro ou devido à topografia do terreno.
Foi desenvolvido o algoritmo que permite ao utilizador realizar a translação de series par ou impar, mediante uma determinada distância e sentido, sendo o sentido dado pelo sinal do valor da distância. Após a definição de todos os parâmetros, o programa realiza a operação de destagger, ou seja, vai procurar todas as series individuais ímpares ou pares, e realiza a operação de translação, com a distância e sentido definido pelo utilizador. A translação é realizada no mesmo eixo onde estão dispostas as amostras magnéticas.
O filtro IIR (Infinite Impulse Response) foi obtido através da biblioteca Scipy [8]. O filtro utiliza o método de filtragem digital butterword, permitindo ao utilizador diversas opções de filtragem: passa baixo, passa alto e passa banda, e atribuir o número de onda a filtrar. É possível escolher o número de polos a utilizar no processo de filtragem. O processo de filtragem é realizado nos dois sentidos de modo a anular o efeito de translação de fase de onda. Este método pode ser utilizado várias vezes sem o incómodo de sair desta opção e voltar a entrar nela.
O filtro Median é um método que permite eliminar o ruído magnético de fundo. Este filtro altera o valor de cada amostra magnética pela mediana, sendo esta determinada através de um conjunto de dados contidos num intervalo definido pelo utilizador (janela do filtro). Contudo, este filtro deve ser utilizado com cuidado, pois a sua incorreta utilização pode eliminar anomalias magnéticas importantes do local de estudo [10,11]. O Esta função permite ao utilizador escolher unicamente a dimensão da janela do filtro. Este filtro foi obtido através da biblioteca Scipy [8].
6. Análise espectral
Esta função permite calcular o espectro de todas as séries individualmente, recorrendo à transformada rápida de Fourier (FFT). O método numérico foi obtido através da biblioteca Scipy [8], sendo depois representada num gráfico próprio pela ferramenta gráfica Matplotlib [7]. A FFT é determinada segundo a Eq. (3);
1
,...,
0
,
1 0 2−
=
=
∑
− = −N
k
e
x
x
N n N n k i n k π Eq. (3)Onde, xn é o conjunto de dados originais com uma dimensão N (numero de
amostras). Ao conjunto inicial de dados são adicionados zeros com a mesma dimensão do conjunto inicial, de modo a melhorar a visualização das amplitudes com baixo número de onda.
A análise espectral permite ao utilizador avaliar as amplitudes do espectro em função do número de onda. Com base na informação apresentada por esta análise o utilizador pode aplicar os diversos métodos de processamento disponíveis e avaliar a sua evolução espectral.
7. Output
Esta função permite ao utilizar exportar os resultados que pretende. O utilizador pode exportar os dados em formato de imagem, sendo que esta opção está sempre disponível na função representação (parágrafo 4). Também foi desenvolvido o algoritmo que permite ao utilizar exportar o resultado em ficheiro ASCII, sendo posteriormente utilizável noutra aplicação informática.
8. Aplicação do MAGY a dados sintéticos
Foi cálculo um modelo sintético composto por dois diques magnéticos paralelos (verticalmente polarizados). Ambos os diques têm a mesma geometria, susceptibilidade magnética, e estão posicionados à mesma profundidade, entre os 3,0 e os 6,0 m (Figura 4 - b). Tratando-se de corpos simples, o campo magnético originado pelos diques foi calculado através da Eq. (4) [9];
+ − + = 2 2 2 2 2 2 1 1 2 x z z x z z It Hs Eq. (4)
Onde I é a susceptibilidade do corpo magnético, t é a largura do dique, z1 é a
distância entre a superfície do terreno e o topo do dique, z2 é a distância entre a superfície
do terreno e a base do dique, x é a posição da amostra magnética modelada (Hs).
Os corpos magnéticos são constituídos por 12% de magnetite (k=0.5). Normalmente, na prospeção arqueológica é utilizado o gradiente magnético vertical, por isso, foi calculada a componente vertical do campo magnético terrestre para as cotas z=0 e z=0.8 m. Para a cota z = 0 m, os valores utilizados na Equação 8.1 foram; z1=3,0 m, z2= 6,0 m,
t=0,5 m, e I =0,5×0,12×0,6=0,036 cgs. Os valores utilizados para a cota z=0,8 m foram; z1=3,8 m, z2= 6,8 m, t=0,5 m, e I=0,5×0,12×0,6=0,036 cgs.
Posteriormente foi calculado o valor do gradiente vertical com base nos valores anteriores dividido pela distância entre eles. A quadrícula ao nível do solo é de 20 x 20 m (Figura 4-a), sendo que a disposição das amostras começou do canto inferior esquerdo para o direito, e as linhas de baixo para cima (as linhas estão afastadas entre si de 1,0 m). As linhas foram todas obtidas no mesmo sentido, motivo pelo qual o modo zig-zag não é activado.
Figura 4. a) Vista de topo da geometria dos corpos magnéticos sintéticos; b) Corte transversal AA’. [m]
Foi adicionado aos dados sintéticos originais ruído numérico aleatório, 4 spikes, e variação aleatória do valor médio do gradiente vertical magnético (efeito de bandeamento). A introdução deste tipo de artefactos numéricos permite simular situações reais de aquisição de dados em campo. Esta informação foi gravada num ficheiro texto, e depois foi importada para o programa MAGY. Após criar o projecto, os dados originais foram representados com a função imagem (Figura5).
Figura 5. Imagem dos dados originais. Spikes
Verificou-se que através da Figura 5 os dados contêm muito ruído. Deste modo, apresenta-se um procedimento tipo de processamento de dados magnéticos. Inicialmente, foi aplicada a função despiking. Foram utilizados os dois métodos que o programa permite (z-score e logaritmo). Verificou-se que o método z-score eliminou com sucesso todos os spikes (Figura 6 – b). O mesmo não aconteceu com o método logarítmico, tendo os spikes continuando na imagem. O motivo pelo qual o último método não funcionou correctamente, deve-se ao facto que a amplitude dos spikes e dos restantes dados não são muito diferentes. Logo, quando o algoritmo é aplicado, os dados são suavizados todos de igual forma, resultando o aparecimento dos spikes.
Figura 6. a) Aplicado o método logarítmico, b) Aplicado o método z-score (valor médio).
Foi escolhido o método z-score para dar continuidade ao processamento dos dados. De seguida foi aplicado o método destripe de modo a eliminar o bandeado (Figura 7). Comparando a Figura 6-b com a Figura 7 verifica-se que os dados estão menos perturbados.
Figura 7. Aplicação do método destripe aos dados processados com o método z-score.
Neste exemplo não é utilizado o método destagger, dado que os dados não têm o efeito de translação entre series.
Para melhorar o resultado final foi aplicado o filtro IIR, no domínio do número de onda. Foi aplicado um filtro passa banda entre 0.5 e 2 ciclos/m com dois polos. A utilização desses valores deve-se a eliminação dos grandes e pequenos números de onda, visto que ambos estão relacionados com o ruído numérico aleatório.
Através da Figura 8 verifica-se que existe um melhoramento da qualidade de imagem, sendo as principais anomalias magnéticas reforças. Verificou-se que o efeito oscilatório das anomalias magnéticas entre linhas (devido ao adicionado de ruído numérico) foi reduzido.
Figura 8. Aplicação do filtro IIR e mapa de anomalias magnéticas final.
Este programa está em fase de desenvolvimento, motivo pelo qual tem algumas limitações ao nível do desempenho com um número elevado de amostras, que por vezes poderá bloquear o computador.
Pretende-se melhorar os actuais algoritmos bem como introduzir métodos mais robustos.
O presente programa está vocacionado para utilizar o modo: gradiente vertical magnético, só sendo possível visualizar os dados do valor total do campo magnético terrestre (não é possível aplicar qualquer tipo de processamento). Pretende-se disponibilizar ferramentas que permitam ao utilizador processar os dados de valor total do campo magnético bem como a sua interpretação.
9. Conclusões
Este trabalho tem como objectivo a apresentação do software (MAGY), que permite realizar o processamento e representação de mapas de anomalias magnéticas, intensidade e gradiente magnético do campo terrestre.
Foram abordados os métodos de processamento que estão implementados no MAGY bem como a sua aplicação num caso sintético.
O caso sintético é constituído por dois diques verticais magnéticos (polarizados verticalmente). Ao campo à superfície produzido por estes corpos foi adicionado ruído numérico aleatório, 4 spikes e oscilação aleatória do valor médio de cada serie (efeito de bandeamento). Verificou-se que o despiking com o método z-score foi bem-sucedido, tendo-se eliminado os spikes que se encontravam nos dados. A aplicação do método logarítmico não produziu não foi tão eficiente, motivo pelo qual não foi escolhido para continuar o processo de tratamento de dados. O método destripe também foi aplicado com sucesso, tendo reduzido o efeito do bandeado, melhorando a qualidade do mapa de anomalias magnéticas. O método destagger não foi aplicado visto que os dados não contêm o efeito de translação entre linhas consecutivas. Foi aplicado o filtro IIR de modo a melhorar a qualidade final do mapa de anomalias magnéticas, tendo-se verificado uma diminuição das oscilações do gradiente magnético e por consequência um melhoramento substancial do mapa de anomalias magnéticas.
O programa tem algumas limitações, ao nível do desempenho com elevado número de amostras (que poderá provocar o bloqueio do computador) bem como o número reduzido de funções de processamento de dados (despiking, destripe, desttager, filtro IIR e filtro median), motivo pelo qual o programa será alvo de melhoramento, nomeadamente ao nível dos actuais algoritmos bem como na implementação de métodos de processamento mais robustos.
10. Agradecimentos
Este trabalho foi co-financiado pelo Fundo Europeu de Desenvolvimento Regional (FEDER), através do programa INALENTEJO, no âmbito do projecto IMAGOS – Inovative Methodologies in Archaeology, Archaeometry and Geophysics – Optimizing Strategies X APOLLO – Archaeological and Physical On-site Laboratory – Lifting Outputs (ALENT-07-0224-FEDER-001760), do Laboratório HERCULES (Universidade de Évora).
11. Referências
1. R. E. Chavez, D. L. Argote, M. E. Camara, Geophysical characterization of a rural archaeological site in central mexico. Proc. EAGE 66th conference & exhibition, Paris, France, (2004).
2. Python, https://www.python.org/, acedido a 5-1-2015.
4. B. Iglewicz and D. Hoaglin, How to Detect and Handle Outliers, The ASQC Basic References in Quality Control: Statistical Techniques. PhD Edward F. Mykytka, Volume 16, (1993).
5. A. Mojica, L. Pastor, C. Camerlynck, N. Florsch, A. Tabbagh, Magnetic prospection of the pre-columbian archaeological site of El Caño in the cultural regrion of Gran Coclé, Panama. Archaeological Prospection, 11 p, 2014. 6. Numpy, http://www.numpy.org, acedido a 8-1-2015.
7. Matplotlib, http://matplotlib.org, acedido a 8-1-205. 8. Scipy, http://www.scipy.org, acedido a 8-1-2015.
9. M. B. Dobrin, Introduction to geophysical prospecting, third edition, McGraw-Hill book company, pp. 500-501, (1981).
10. M. Ciminale, M. Loddo, Aspects of magnetic data processing, Archaeological Prospectiong, Vol. 8, pp 239-246, 2001
11. A. Eder-Hinterleitner, W. Neubauer, P. Melichar, Restoring magnetic anomalies, Archaeological Prospecting, Vol. 3, pp. 185 – 197, 1996.