O resto da semana foi dedicado à procura de "bibliotecas" de
curvas, feitas com minerais conhecidos. Elas são necessárias
como ponto de referência e de comparação para os espectros
que vamos obter. Buscando pela expressão typical reflectance
spectra, acabei encontrando 2 sites bem completos: http://minerals.gps.caltech.edu/
e http://speclab.cr.usgs.gov/.
O segundo, além da biblioteca, possui também muitos artigos
e uma excelente introdução à espectroscopia
de reflectância, para quase-leigos como eu: http://speclab.cr.usgs.gov/aboutrefl.html.
Se você também é leigo (ou quase-leigo) no assunto,
vale a pena conferir.
Converter o programa (propriamente dito) para "rodar" no Mac, foi surpreendentemente simples. Basicamente, foi só substituir as barras por dois-pontos, nos nomes dos diretórios. Já instalar toda a infraestrutura necessária deu um pouco mais de trabalho. Mas, com uma pequena ajuda do "grupo de discussão" Pythonmac-SIG, tudo acabou dando certo. Olha só como ficou a "cara" do programa no Mac:
(janela de diálogo - MacOS)
(janela de plotagem Gnuplot - MacOS)
A "portabilidade" funcionou tão bem (cumprimentos aos criadores da linguagem Python!) que vou transferir de vez o desenvolvimento do programa de análise para o Mac, liberando assim o PC do espectrofotômetro para quem vai fazer medidas.
Meu desafio atual como desenvolvedor é permitir que o usuário
edite (incluindo ou excluindo) os picos do palpite inicial (gerados
automaticamente) antes que aconteça a convergência
final [plotados respectivamente como triângulos azuis e quadrados
verdes, no gráfico acima].
vermelho = solução
de íons Al3+, a 10mg/l
verde = mesma solução,
a 5mg/l
cinza = H2O destilada (referência)
No gráfico acima, o eixo vertical indica porcentagem de luz
transmitida, e o horizontal comprimento de onda. Interessante
como apenas no ultravioleta as soluções se diferenciam da
água destilada (vale lembrar que o visível vai de 350 até
780nm, e o infravermelho, de 780 pra mais). Note que o "vale de absorção"
que ocorre a 300nm depende da concentração do íon.
Note também como as soluções são opacas, para
comprimentos de onda menores de 230nm. Já vi que esse estudo de
líquidos promete...
A idéia agora é ver quais novas informações dá para se obter de amostras conhecidas, comparando-as com uma coleção de curvas de referência. A figura abaixo mostra alguns espectros de remissão típicos, para minerais de ferro na faixa do visível, conforme publicado na tese de Nathalie Malengreau, Université P. et M. Curie (Paris VI), entitulada: “Approche par Spectroscopie Optique des Statuts du Fer et du Titane dans les Matériaux Kaolinitiques” (1994). Relembremos que a função de remissão indica, basicamente, o inverso da absorção da luz, portanto os picos obtidos nela são na verdade zonas de maior absorção. E a própria tese explica que minerais opacos como a magnetita e a ilmenita apenas absorvem homogeneamente luz nesta faixa do espectro, nao apresentando portanto picos a detectar.

Vale relembrar também que a derivada 2.a serve para ressaltar os picos, bastante discretos, dessas funções. Cada pico da função é determinado por sua curvatura negativa, isto é, por um vale na derivada 2.a. Isso significa que, grosso modo, voltamos a ter vales correspondendo a absorções (embora o tamanho do vale indique a “agudeza”, e não a intensidade da absorção). Vejamos então as derivadas 2.as, retiradas da mesma tese acima:

Podemos agora ver alguns novos resultados que foram obtidos no espectrofotômetro, para 4 amostras sedimentares (pré-tratadas a 700C) com que já trabalhei antes: CC1 aquecida no ar, CC1 aquecida no vácuo, LM10 aquecida no ar e LM10 seca e aquecida no vácuo. A interpretação, baseada nas curvas típicas acima, segue logo depois de cada curva (agradeço ao Carlos Vásquez, de Buenos Aires, pela ajuda com os nomes que eu não conhecia!):




A história foi a seguinte: fizemos a areia 1, e além de
percebemos que, para a espectrofotometria, o fato de ter muito quartzo
nao dá nenhum problema de mascaramento, como acontece com os
raio-X (provavelmente por causa da transparência; até o
porta-amostra que usamos é de quartzo), notamos que ela tinha
uma certa "cor" de goethita (compare com as curvas
da derivada 2.a, da Nathalie, que você percebe).

Aí eu falei para o Paulo: "Quer ter certeza que é goethita? É só aquecer até uns 200C, que ela decai para hematita". Esquentamos, realmente apareceu hematita, mas a goethita continuava lá.

Aí então eu disse: "Vamos radicalizar: deixar aquecendo a 400C, e ainda por mais tempo. Quero ver se sobra alguma goethita". Pois não é que sobrou ainda um pouco? Ô goethita teimosa!

Esta semana foi, para mim, apenas de "readaptação" ao
espectrofotômetro e aos seus programas de análise. Na próxima
semana sim, devem surgir novidades. Até lá.
![]() |
![]() |
Essa foi uma mudança puramente estética, para evitar cobrir muito a janela do gráfico Gnuplot que é gerado. Mas logo outras mudanças, mais profundas, foram surgindo. Começando por 2 desistências: (1) desisti de tentar usar o mesmo sistema para analisar os 3 trechos (NIR, Vis e UV) da curva; daqui para frente, vou me restringir apenas ao visível e (2) desisti de fazer o usuário incluir/excluir picos manualmente; o sistema cuidará disso sozinho.
Além disso, muitos dos testes que eu fazia internamente foram
"postos para fora", isso é, passaram a constar da janela do programa.
A versão atual está ilustrada a seguir.
![]() |
|
![]() |
![]() |
Terminei a semana percebendo uma instabilidade nos parâmetros
obtidos, dependendo da escolha dos limites espectrais (normalmente 13000
a 25000 cm-1, mas às vezes necessitando serm mudados, para ajudar
a convergência). 2 possíveis soluções para isso
são diluir (misturar com um material branco) as amostras para reduzir
o tamanho relativo dos picos, ou então utilizar uma nova função
de fundo, mais estável. Semana que vem veremos.
![]() |
![]() |
Com fundo gaussiano o sinal original, supostamente muito forte, variava muito conforme se modificavam os limites espectrais. Já as 2 diluições eram mais estáveis, e também mais coerentes entre si (os picos da 1/10 eram aproximadamente o dobro dos picos da 1/20), mas não com a amostra original. Veja os testes:
Já com fundo logístico, tudo ficou mais coerente: entre diferentes limites espectrais, entre original e diluídos, e mesmo entre diluições. Portanto, podemos concluir que: embora a diluição ajude na coerência, a interferência da função de fundo é bem maior que o efeito do tamanho excessivo dos picos (previsto pela teoria de Kubelka-Munk). Veja os testes:
Note que ainda ocorre alguma interferência dos limites espectrais. Provavelmente nunca conseguiremos eliminar totalmente esse efeito. Nem mesmo diluindo. Na verdade, a hipótese de que o fundo seria causado apenas pela parte "branca" da amostra não se confirmou: o fundo entre as diluições 1/10 e 1/20 varia quase que na mesma proporção que os picos, indicando que boa parte do fundo é causado pela parte colorida da amostra. Isso pode ser claramente visto no exemplo abaixo:
A consequência prática disso é que cuidados excessivos, como medir o zero (junto com o baseline) todo início de dia, passam a não fazer mais sentido. A partir de hoje, estou adotando apenas a tomada do baseline como medida preparatória, ao iniciar uma nova sequência de amostras.
Para comparação, seguem abaixo as 2 análises da bl50. Note como o pico de ~19400cm-1 "quase" aparece, já na derivada 2.a. Note também como os "vales indicadores de picos", da derivada 2.a, passam a ser "picos indicadores de picos", na derivada 4.a:
Agora vejamos a correlação entre os tamanhos dos picos
(a ~19000cm-1) e a concentração de hematita (em g/kg). Ficou
bem razoável:
|
(n.o) |
[unidades F(R)] |
hematita [g/kg] |
(altura versus teor) |
|
2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
7.8314 6.7674 6.6028 1.7937 2.359 2.19 1.7842 3.7217 1.2859 1.211 1.8284 1.7006 1.1794 1.0257 |
204.8 210.7 223.5 0.0 23.0 20.6 1.9 127.6 2.7 14.0 23.4 25.5 10.6 5.6 |
![]() |
Essa semana pareceu bem mais produtiva que as outras, mas é simplesmente
porque nela houve o coroamento do trabalho preparatório realizado
nas 2 ou 3 anteriores. Até a próxima, então, com novos
resultados.
Falando nelas, veja como ficou o seu resultado quantitativo: o crescimento proporcional da hematita (pico próximo dos 19000cm-1) em relação à goethita (pico entre 20000 e 21000cm-1) já era esperado, mas o crescimento absoluto dessa última não (vale lembrar que a 1.a é a areia normal, a 2.a é ela depois de 1/2 hora a 200C e a 3.a é ela depois de 1 hora a 400C).

Ah, sim! Foi nessa "bendita" referência que eu finalmente descobri o significado físico da função de remissão F(R). Ela indica a razão entre a fração absorvida e a fração refletida, só isso. Quanto maior a absorção, (proporcionalmente) menor a reflexão e duplamente maior o F(R).
Terminei a semana me certificando de que a derivada 2.a realmente não indica nem a concentração (pois ela indica apenas o grau de curvatura, que tanto pode ser causado por um pico grande como por um pico mais fino) nem a posição exata do pico. Impedindo que a convergência alterasse a posição horizontal originalmente estimada pela derivada 2.a, observei que a convergência: (1) tinha mais problemas para ocorrer e (2) não produzia uma reprodução tão fiel do original. Compare por si próprio:
Sem alterar a posição horizontal:
Alterando a posição horizontal:

No programa Scan (de medida), dar Setup e configurar o eixo X para Wavenumber, de 12000 a 28000cm-1. Configurar o eixo Y para F(R). Na guia Independent, colocar o Data interval em 10cm-1 para UV-Vis. Na guia Baseline, selecionar Baseline correction. Pronto. Aí é só medir a amostra branca (Teflon, Na2CO3, MgO) clicando em Baseline, e então medir todas as amostras que se quiser, sempre no mesmo arquivo .DSW (ou .BSW), dando Start. "Salvando como" Spreadsheet ascii (.CSV) o arquivo gerado, as curvas estarão prontas para análise.
No programa anacsv.pyw (de análise), selecionar o arquivo .CSV desejado, escolher dentro dele qual das curvas se que estudar e clicar em "Detectar picos/gnuplotar...". Vai ser executada uma sequência de passos, culminando com a geração de um gráfico final. Caso o resultado da convergência não tenha sido satisfatório, alterar os limites espectrais e/ou o tipo de derivada, e clicar em "Detectar picos/gnuplotar..." novamente. Os picos (e o fundo) podem ser gravados e plotados com os botões respectivos, sendo que o arquivo de picos também é do tipo .CSV (sigla para "números separados por vírgulas" em inglês, lembra?).
Clique aqui para obter o programa de análise,
em linguagem Python para Windows. Para funcionar, ele necessita "apenas"
dos programas Gnuplot e Python instalados (este último ainda acrescido
dos módulos Numeric.py e Gnuplot.py). Qualquer dúvida, você
pode contactar o autor no endereço: robertsq@yahoo.com.
Até mais.