Tratamento de dados na linha SAXS2_110425

Transcrição

Tratamento de dados na linha SAXS2_110425
1
Tratamento de dados na linha SAXS2_120528.doc
RESUMO:
norm2 amostra.tif darknoise.tif
cake amostra_norm.tif branco_norm.tif
normall amos*.tif darknoise.tif
cake2 amostra_norm.tif branco_norm.tif
norm2_frames amostra_01001.tif darknoise.tif
cake_frames amostra*_norm.tif agua_norm.tif
logplot amostra1*.dat amostra2*.dat agua*.dat
2
Tratamento de dados na linha SAXS2_120528.doc
1.
Rotinas “norm”
As rotinas “norm” servem para fazer a normalização dos dados em relação à intensidade do feixe, atenuação
da amostra e remoção do background do detector. As rotinas “norm” chamam o software fit2D, dividem a
imagem pelo valor da intensidade/atenuação, subtraem o darknoise e salvam o resultado em uma subpasta
chamada “reduction”. O arquivo resultado vai conter o sufixo “_norm” e extensão “.tif”. Fazer o mesmo
procedimento para normalizar a referência (água, buffer, mica...)
1.1
norm2
A rotina norm2 serve para normalizar uma única imagem. Ela necessita dois argumentos. O primeiro é o nome
da imagem “.tif” adquirida da amostra a ser normalizada e o segundo é o background do detector (darknoise).
Um terceiro argumento, que é a intensidade integrada do feixe dividida pela atenuação da amostra, é também
utilizado. O valor da intensidade/atenuação da amostra pode ser encontrado no arquivo “SAXSPAR.DAT”,
como mostrado abaixo (onde está selecionado este valor para a imagem “amostra1_600s_002.tif”). Este valor
é carregado automaticamente pela rotina norm2, contanto que o nome da amostra no arquivo
“SAXSPAR.DAT” e o nome do arquivo “.tif” equivalente sejam o mesmo (sem contar o sufixo “_###” (“_002” no
caso acima) dado pelo programa da MARCCD). Note que no arquivo “SAXSPAR.DAT” o valor “_002” não é
mostrado, pois este sufixo é colocado automaticamente pelo software da MARCCD no momento da aquisição
da imagem, e não pelo software SAXSPAR.EXE.
Para adquirir o background do detector é necessário fazer uma medida sem usar o feixe de raios X. Para
tanto, basta, por exemplo, retirar uma chave do painel ou não “iniciar experimento” no software
SAXSPAR.EXE, assim o shutter não abre e o detector mede sem feixe. O tempo de exposição deve ser o mesmo
utilizado para medir a amostra a ser normalizada. No exemplo acima, deve ser de 600 segundos. Salvar o
arquivo como “darknoise_600s.tif”, por exemplo.
Para utilizar a rotina abra o prompt de comando, na pasta principal do experimento, onde estão armazenados
os arquivos das medidas. Normalmente, o nome desta pasta é dado pelo ano, mês e dia do experimento. No
exemplo abaixo, 28 de maio de 2012.
Na linha de comando, digitar “norm2 nome_da_amostra.tif darknoise.tif”. No exemplo que estamos
seguindo, seria “norm2 amostra1_600s_002.tif darknoise_600s.tif”. Nosso exemplo ficaria:
3
Tratamento de dados na linha SAXS2_120528.doc
Os dados tratados serão gravados na pasta “reduction”, com o sufixo “_norm” imediatamente antes da
terminação “.tif”. Por exemplo, amostra1_600s_002_norm.tif.
Problemas:
Caso o nome da amostra no arquivo “SAXSPAR.DAT” e o nome do arquivo “.tif” equivalente não sejam o
mesmo (sem contar o sufixo “_###” dado pelo programa da MARCCD), o programa norm2 não chamará o
fit2D. Ele, então, criará (se ainda não existir) um arquivo chamado “erro.log”onde estarão escritos nomes de
arquivos “.tif” os quais não possuem equivalentes escritos no arquivo SAXSPAR.DAT.
A rotina norm2 não deve ser utilizada para normalizar um arquivo de uma cinética (frames).
1.2
normall
A rotina normall é uma rotina utilizada para normalizar várias imagens de uma só vez. Esta rotina chama a
rotina norm2 e faz um loop no primeiro argumento que possui. Ela necessita dois argumentos. O primeiro é
um conjunto de nomes de arquivos de imagem do tipo “.tif” adquiridas. Este conjunto de nomes deve ser
compreensível pela rotina escrita em “.bat”, ou seja, pode/deve conter os caracteres “*” e/ou “?” (Por
exemplo, “teste?_600s*.tif”. O segundo argumento é o background do detector (darknoise). Esta rotina pode,
eventualmente, encontrar erros entre os nomes dos arquivos “.tif” (escritos no software da MARCCD) e seus
equivalentes (escritos no software SAXSPAR.EXE). O programa rodará até completar todos os parâmetros do
primeiro argumento, e todos os erros encontrados serão escritos no arquivo “erro.log”.
Como a rotina normall chama a rotina norm2, ela não deve ser utilizada para normalizar dados de uma
cinética (frames)
Os dados tratados serão gravados na pasta “reduction”, com o sufixo “_norm” imediatamente antes da
terminação “.tif”. Por exemplo, amostra1_600s_002_norm.tif, amostra2_600s_003_norm.tif
1.2
norm2_frames
A rotina norm2_frames é uma rotina utilizada para normalizar somente os dados de uma cinética (frames). Ela
é baseada na rotina norm2, e necessita de dois argumentos. O primeiro é o nome do primeiro arquivo da
cinética (geralmente este arquivo possui o sufixo “_01001” seguido da terminação “.tif”), e o segundo é o
nome do background do detector (darknoise).
Caso os frames não sejam normalizados, veja se os nomes das imagens “.tif” e os nomes contidos no arquivo
SAXSPAR.DAT são equivalentes.
4
Tratamento de dados na linha SAXS2_120528.doc
2.
Rotinas “cake”
As rotinas “cake” servem para fazer a remoção do espalhamento parasita de uma imagem e a realização da
integração angular para o cálculo da intensidade espalhada vs. vetor de espalhamento. Elas devem ser rodadas
no diretório “reduction”, pois este procedimento deve ser realizado somente com os dados já normalizados,
tanto da amostra quanto da referência (espalhamento parasita). O arquivo de saída não será mais uma
imagem, mas será da forma intensidade espalhada vs. vetor de espalhamento, e possuirá extensão “.dat”.
2.1
cake
A rotina cake necessita dois argumentos. O primeiro é o nome da imagem normalizada da amostra. O segundo
é o nome da imagem normalizada da referência (parasita: água, buffer, mica, etc.).
Para utilizar é necessário abrir o prompt de comando e ir para a subpasta “reduction”. Na linha de comando,
digitar “cake nome_da_amostra_norm.tif espalhamento_parasita_norm.tif”. No exemplo que estávamos
mostrando anteriormente, isto seria “cake amostra1_600s_002_norm.tif agua_600s_001_norm.tif”. O nome
do arquivo resultante indicará a subtração feita:
“amostra1_600s_002_norm_minus_agua_600s_001_norm.dat”.
2.2
cake2
A rotina cake2 é uma pequena variação da rotina cake que remove o cabeçalho provindo do fit2D e em seu
lugar coloca “Q(1/nm)” “nome_do_arquivo.dat” como nome das duas colunas. Isso é muito útil quando os
dados são importados pelo programa Origin.
2.3
cake2_frames
A rotina cake2_frames é utilizada para fazer o cake de várias imagens de uma só vez. Esta rotina chama a
rotina cake2 e faz um loop no primeiro argumento que possui. Ela necessita de dois argumentos. O primeiro é
um conjunto de nomes de arquivos de imagem normalizada, do tipo “_norm.tif”. Este conjunto de nomes deve
ser compreensível pela rotina escrita em “.bat”, ou seja, pode/deve conter os caracteres “*” e/ou “?” (Por
exemplo, “agua?_*s_norm.tif”). O segundo argumento é o nome da imagem normalizada da referência
(parasita: água, buffer, mica, etc.). A rotina cake_frames pode ser chamada para realizar o cake2 de dados de
uma cinética normalmente.
2.4
cake2plot
A rotina cake2plot realiza o cake2 e grafica o arquivo “.dat” final chamando a rotina logplot.
5
Tratamento de dados na linha SAXS2_120528.doc
3.
Rotina “media”
Esta rotina serve para fazer a media entre vários arquivos (já normalizados) para, por exemplo, aumentar a
estatística.
Para utilizar esta rotina deve-se copiar na pasta “media” os arquivos a serem utilizados, por exemplo,
amostra050_norm.tif, amostra070_norm.tif, etc. Abra um prompt de comando e vá para a pasta “media”.
Digite “media conjunto_de_imagens(*)_norm.tif nome_do_arquivo_final(sem_extensao)”. Veja o exemplo:
A rotina mostra uma lista com todos os arquivos que possuem as primeiras letras que você digitou e pergunta:
Deseja criar um arquivo de medias chamado media_amostra.tif com os arquivos acima? (Y/N):
Se sim (Y ou y): Gera o arquivo media_amostra.tif
6
Tratamento de dados na linha SAXS2_120528.doc
4.
Rotinas “plot”
As rotinas “plot” servem para graficar os arquivos de saída das rotinas “cake” utilizando para isso o wgnuplot.
Estas rotinas admitem até 10 argumentos. Entretanto, cada argumento pode ser uma lista de arquivos. Como
os arquivos tratados estão, geralmente, na pasta “reduction”, ela deve ser chamada no terminal do “cake”.
Por exemplo,
O programa wgnuplot será chamado para graficar as curvas escolhidas. No caso acima, todas os arquivos
bsa*.dat e tampao*.dat serão graficados.
Para fechar a janela, basta clicar no “<ok>”
Para dar um zoom no gráfico, basta clicar com o botão direito e arrastar para a região de interesse.
Para retornar do zoom, basta clicar na tecla “<a>”.
A única diferença entre as rotinas plot, logplot e loglogplot são as escalas. A rotina plot grafica na escala
linear na intensidade e no vetor de espalhamento. A rotina logplot grafica em escala logarítmica a intensidade,
e na escala linear o vetor de espalhamento. Já a rotina loglogplot grafica na escala logarítmica tanto a
intensidade quanto o vetor de espalhamento.
Por default o nome dos arquivos graficados são colocados na legenda na parte superior direita da janela do
wgnuplot. Entretanto, quando o usuário quiser graficar muitos arquivos, esse procedimento não é ideal, pois
haverá várias legendas, que podem “poluir” o gráfico. Neste caso, o usuário pode editar a rotina utilizada
(plot, logplot ou loglogplot, utilizando um editor de textos comum) para que o wgnuplot não escreva as
legendas. Para isso, basta abrir o arquivo “.bat” e apagar o “rem ” da linha grifada na figura abaixo.
7
Tratamento de dados na linha SAXS2_120528.doc
Isto fará com que o gráfico não possua legendas.
8
Tratamento de dados na linha SAXS2_120528.doc
5.
Créditos
5.1
Rotinas “norm”
As rotinas norm e norm_frames, rotinas base para as apresentadas neste manual, foram escritas por Rodrigo
Martinez (físico de linha, 2010).
As rotinas norm2 e normall foram escritas por Antonio Gasperini (posdoc, 2012).
A rotina norm_frames_dat, rotina base para a rotina norm2_frames, foi escrita por Jean Polli (supervisor de
instrumentação, 2011) e Antonio Gasperini (posdoc 2012).
A rotina norm2_frames foi escrita por Antonio Gasperini (posdoc 2012).
5.2
Rotinas “cake”
A rotina cake, rotina base para as apresentadas neste manual, foi escrita por Rodrigo Martinez (físico de linha,
2010)
A rotina cake2_frames foi escrita por Carlos Eduardo Vieira (bolsista de verão, 2011)
As rotinas cake2 e cake2plot foram escritas por Antonio Gasperini (posdoc 2012)
5.3
Rotina “media”
A rotina media foi escrita por Rodrigo Martinez (físico de linha, 2010)
5.4
Rotinas “plot”
As rotinas plot, logplot e loglogplot foram escritas por Antonio Gasperini (posdoc, 2012)

Documentos relacionados