

E não é que até o gráfico está diferente,
sem bordas pretas, neste ano novo? Mas deixando a brincadeira de lado,
outra coisa que eu aprendi foi que existe um "contínuo" sobreposto
aos picos (em F(R) são realmente picos) de absorção,
e que este contínuo é causado pelas múltiplas reflexões
nos grãos. Quanto mais moemos os grãos, mais importante fica
este contínuo (isto é, mais "branca" fica a amostra, coisa
que é facil de se perceber na prática).
Mas como medir até que é bem rápido, cá
estão as novas curvas. Além da adoção do F(R),
também estou padronizando a visualisação separada
da faixa NIR e da faixa Vis-UV, pois elas se tornam muito mais discrepantes
(em tamanho) do que no %R.
![]() |
![]() |
Mas como medida sem algumas "esperienciazinhas" não é medida, aproveitei para ver se descobria quais destes picos estão associados à água, e quais estão associados à sílica. Veja o que aconteceu secando a amostra TORTA-1 na estufa (espectro NIR):

Legal, né? Fiz o mesmo com um pouco de sílica gel azul (também espectro NIR), e confirmei aquele pico a 5200 e pouco, além de obter alguns outros, menos importantes. De quebra, vi com é a "cara" da sílica:

Pra finalizar, um exemplo daquela história de contínuo (espectro Vis-UV, para variar):

Portanto, pretendo me dedicar a implementar este método, das
*áreas das gaussianas*, escrevendo um programa que leia os arquivos
.DSW e faça toda a manipulação necessária.
Como programar é um processo bem mais lento que medir, provavelmente
este diário vai deixar de ser "diário", por uns tempos. Mas
acho que o esforço compensa.
Quanto aos programas prontos, não encontrei só um, mas vários. Entre os não-gratuitos, se destacam o PeakFit da SPSS (do qual eu "baixei" até um programa demo, que infelizmente só aceita trabalhar com seus próprios dados-exemplo) e o *ACD/UV-IR Manager da ACD, que faz parte de um pacote profissional enorme (=caro) de análise química, e importa até arquivos Varian diretamente (o PeakFit só os aceita convertidos para planilha Excel; de qualquer modo, este é um recurso que já existe no pacote da Varian). Tem um plug-in para o Origin que também é bem citado.
Entre os gratuitos, a maioria é para análise de espectros de raio-X e/ou de baixa qualidade. De qualquer forma, recomendo os endereços: http://www.ccp14.ac.uk/mirror/mirror.htm e http://spot.fho-emden.de/ftp/mess.htm (como fonte de software) e http://www.spectroscopynow.com/ (como fonte de software e também de informações). Os melhores que eu achei para Windows foram o Xfit, que eu não me interessei porque não aceita dados quaisquer (apenas de raio-X) e o Unifit, que eu até "baixei" para ver. Mas existem muito mais recursos gratuitos para quem está criando seu próprio programa. E não falo só das linguagens de programação; existem também muitos "pedaços prontos" (pacotes matemáticos, de plotagem etc.) que se pode utilizar. É por esse caminho que eu pretendo seguir.
Quanto à linguagem de programação gratuita, depois de pesquisar um pouco acabei optando pela linguagem Python que, além de ser "software livre" por excelência, tem versões para quase todas as plataformas (Windows, Mac, Unix etc) e se relaciona bem com pacotes já existentes, mesmo os escritos em outras linguagens. De cara, já adotei o plotador Gnuplot e sua interface p/ Python, para serem usados na visualização das curvas.
Já estou com a linguagem (e seus complementos) instalada e funcionando.
Como os programas Varian também exportam seus resultados em formato
texto simples (.CSV = Comma-Separated Values, isto é, Valores
Separados por Vírgula), é esse que eu vou adotar, como formato
de entrada.

Os próximos passos são matemáticos: (1) suavizar ("alisar") a curva, para (2) poder calcular a derivada 2.a e então (3) usar os vales desta última para marcar os "candidatos a picos", automaticamente. Terminei a semana razoavelmente bem-sucedido nos passos 1 e 2.
Principalmente a suavização me tomou um bom tempo, porque a estratégia que eu tentei inicialmente, a das "médias móveis", ou seja, substituir cada ponto por uma média dele mesmo com os vizinhos que caem dentro de uma zona (de tamanho predefinido) ao redor desse ponto (denominada janela), não deu bons resultados: a janela tinha que ser muito grande para conseguir a suavização necessária, e isso amortizava demais os picos agudos. A solução foi adotar o método da "melhor parábola", que converge mais rapidamente para menos pontos, e que dá o bônus adicional de já fornecer as 2 primeiras derivadas durante o processo (pois eu obtenho a, b & c da equação y = ax^2+bx+c, implicando que: 1.a derivada = y' = 2ax+b & 2.a derivada = y'' = 2a). Compare os efeitos, usando a mesma janela de 11 pontos (5 para cada lado, mais o próprio ponto):

Outra coisa crítica é o passo da janela. Se o passo é
muito pequeno (próximo de 1), a largura da janela tem que aumentar.
No grafico acima, o passo também foi 11. (Note que o número
de pontos da curva alisada é inversamente proporcional ao passo,
já que é a cada passo que se gera um ponto "liso".)

A base matemática da função F(R) é um texto "velho pra burro" (de 1931) escrito por 2 caras, que acabaram dando o nome para o método: Kubelka-Munk. Dando uma busca na Internet pelo nome dos 2, encontrei muita informação interessante. Até uma dedução matemática (para quem gosta!) completa dessa teoria, que é usada numa grande variedade de áreas: desde a análise de tintas e a fabricação de papel até as ciências planetárias e as redes neurais. Um texto menos matemático, mas muito bem explicado é: http://www.spectra-tech.com/innovation/manuals/t2.pdf, sobre espectroscopia infravermelha, onde ficam bem claros os limites de aplicação do método: espessura infinita (na prática, alguns mm) e diluição infinita (para que o tamanho de um pico seja proporcional à concentração do composto que provoca esse pico). Aliás, é por causa dessa exigência de "diluição infinita" que, em espectrofotometria associada à química analítica, se exige a preparação de pastilhas de KBr (um sal branco), com o material a analisar diluído dentro, coisa que até agora eu não entendia bem o porquê. Mas minha expectativa é que isso seja crítico apenas na zona do infravermelho, onde os picos são bem mais intensos que no visível. De qualquer modo, fica o alerta: "Se seus picos são intensos, cuidado com os desvios na linearidade da relação: tamanho-concentração".
Chegou também nas minhas mãos uma tese bem recente, aqui
da ESALQ mesmo, sobre cor dos solos. Na bibliografia dela, encontrei os
trabalhos de Barrón e Torrent, 2 pesquisadores espanhóis
que estudam espectrofotometria de solos atualmente, e que têm alguns
bons textos sobre o assunto. Tem até um (junto com um alemão,
Scheinost) que pretende tirar conclusões sobre concentração
diretamente
da curva da derivada 2.a, coisa que eu acho matematicamente impossível
(já que a derivada registra apenas variações, e não
valores absolutos), mas tudo bem...
Com a "melhor gaussiana" implementada e testada, assim como toda a parte de janelas, terminei a semana me considerando um razoável programador Python. Estou agora testando várias estratégias para subtrair o contínuo de fundo. Olha só como está o programa:

Note (além da "janelinha" de diálogo, toda caprichada!)
como o fundo é calculado a partir da melhor gaussiana somente dos
pontos que têm derivada 2.a não-negativa. O fundo ainda não
está envolvendo a curva original totalmente "por baixo" como esperado,
mas a gente chega lá. O gráfico do resíduo (diferença
entre a curva suavizada e o fundo calculado) já parece bem promissor,
não acham?
De quebra, implementei uma "linha de status" na janela de diálogo (com apenas uma meia-dúzia de linhas de código; a linguagem Python realmente foi uma boa escolha!) e um algoritmo que, apesar de lento, obtém com boa segurança a tão desejada "envoltória inferior", que eu buscava para servir de fundo. Não tem muito segredo, não. A idéia é calcular a "melhor curva" uma porção de vezes, substituindo a cada vez os pontos que caem acima da "melhor curva" por pontos da própria "melhor curva". Simples, não? Olha só como é que "a coisa" está agora:
(janela de diálogo)
(janela da plotagem)
No gráfico acima: resíduo = alisada - fundo. Pelas 2 derivadas
2.as, já deu para perceber que os picos não se deslocam "tanto
assim" quando se subtrai o fundo (como eu havia pensado!). Mas isso é
outro problema, que fica para a semana que vem.
E não é só isso. Este novo módulo resolveu, quase que por mágica, o "enrosco" que ficou da semana passada. Agora, não tem problema que os picos encontrados não estejam *exatamente* no lugar; a convergência leva eles para lá! A convergência está lenta (e às vezes falha), mas já está dando até para ser usada, com a inclusão da lista dos valores gerados na janela de diálogo (também rapidamente -- palmas agora para o Tkinter!).
A semana realmente rendeu. Deu tempo até para retornar ao programa WinPLOTR, e conseguir descobrir o formato que ele aceita: colunas de números, separadas por espaços. Seja no Excel (salvando o arquivo .XLS como "texto separado por espaços"), seja num editor de texto qualquer (fazendo buscar&substituir, em todas as vírgulas do arquivo .CSV, por espaços), dá fácil para adaptar os arquivos Varian para ele. O WinPLOTR aceita inclusive arquivos multicolunas (isto é, contendo várias curvas ao mesmo tempo). Apenas um detalhe: os arquivos Varian trazem um resumo dos parâmetros de medida utilizados, no final do próprio arquivo. É melhor eliminar este resumo, deixando apenas as colunas de números para o WinPLOTR trabalhar.
A análise no WinPLOTR é mais "manual" do que aquela que
estou implementando, como aliás bem demonstra aquele demo,
que já citei antes. Mas isto talvez seja até uma vantagem,
considerando os "apertos" que estou enfrentando para garantir que a convergência
automática sempre funcione... Bem, para terminar, segue abaixo a
velha goethita Go4, analisada nos 2 sistemas:
[Obs.: o nome é "Convert to..." porque eu primeiro medi em %R,
e só então converti para F(R).]
(janela de diálogo do "nosso")
(janela de plotagem do "nosso")
(janela de análise WinPLOTR)
(gráfico do WinPLOTR)
O bom observador, além de perceber que estou escrevendo este
texto na quinta seguinte (dia 28/3, às 13:56!), notará que
existe um fator de escala (visualmente, em torno de 2000) embutido nas
intensidades que aparecem na janela de análise do WinPLOTR, que
não consta do gráfico associado. Afora isso, os resultados
de ambos os sistemas estão razoavelmente próximos.
Digo QUASE porque, apesar do Cary 5E vir de fábrica preparado para medir apenas sólidos (o 4E é que vem preparado para líquidos, incluindo aquecimento, misturadores, medidor de temperatura, bomba de circulação etc.), quando o nosso foi comprado, sabiamente incluiram no pedido alguns frascos para líquido, e respectivo do suporte. Mas, estranhamente, parece que o fabricante esqueceu de mandar um pedaço (a parte de baixo) deste suporte. O mais chato de tudo é que temos 2 deles (1 para a amostra, e outro para a referência), e os 2 estão "sem o pé".
Depois de muito pesquisar na documentação (na verdade,
o mais difícil foi descobrir O QUE estava faltando, no meio de tantas
pecinhas avulsas!), estamos tentando "simular" a parte que falta. No manual
existe a descrição e uma foto da peça equivalente
(completa), que vai no 4E; creio que isso será suficiente, para
evitar uma "importação de emergência". Portanto, depois
do feriado é possível que apareça alguma curva de
líquido
aqui nesse diário. Vale conferir.