Este é o comando funhist que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
funhist - cria um histograma 1D de uma coluna (a partir de uma tabela binária FITS ou arquivo de evento bruto)
ou uma imagem
SINOPSE
funista [-n⎪-w⎪-T] [coluna] [[lo: hi:] caixas]
OPÇÕES
-n # normaliza o valor da caixa pela largura de cada caixa
-w # especifica a largura do compartimento em vez do número de compartimentos em arg3
-T # saída no formato rdb / starbase (separadores de tabulação)
DESCRIÇÃO
funista cria um histograma unidimensional a partir das colunas especificadas de uma extensão FITS
tabela binária de um arquivo FITS (ou de um arquivo de evento bruto não FITS), ou de uma imagem FITS ou
array e grava esse histograma como uma tabela ASCII. Alternativamente, o programa pode executar
uma projeção 1D de um dos eixos da imagem.
O primeiro argumento para o programa é necessário e especifica o arquivo Funtools: tabela FITS
ou imagem, arquivo de evento bruto ou array. Se "stdin" for especificado, os dados serão lidos do
entrada padrão. Use o Funtools Bracket Notation para especificar extensões e filtros FITS.
Para uma tabela, o segundo argumento também é necessário. Ele especifica a coluna a ser usada em
gerando o histograma. Se o arquivo de dados for do tipo imagem (ou matriz), a coluna é
opcional: se "x" (ou "X"), "y" (ou "Y") for especificado, uma projeção será realizada sobre
os eixos x (dim1) ou y (dim2), respectivamente. (Ou seja, esta projeção dará o mesmo
resultados como um histograma executado em uma tabela contendo as linhas de eventos x, y equivalentes.) Se
nenhum nome de coluna é especificado ou "xy" (ou "XY") é especificado para a imagem, então um histograma
é executado nos valores contidos nos pixels da imagem.
O argumento a seguir é opcional e especifica o número de caixas a serem usadas na criação
o histograma e, se desejado, o intervalo de valores bin. Para histogramas de imagem e tabela,
o intervalo deve especificar os valores de dados mínimo e máximo. Para histogramas de imagem em x e y
eixos, o intervalo deve especificar os valores bin da imagem mín. e máx. Se este argumento for
omitido, o número de bins de saída para uma tabela é calculado a partir do TLMIN / TLMAX
valores de cabeçalhos (se existirem no cabeçalho FITS da tabela para a coluna especificada) ou por
passando pelos dados para calcular o valor mínimo e máximo. Para uma imagem, o número de
os bins de saída são calculados a partir dos valores do cabeçalho DATAMIN / DATAMAX ou indo
através dos dados para calcular o valor mínimo e máximo. (Observe que este último cálculo pode
falhará se a imagem não couber na memória.) Se os dados forem de ponto flutuante (tabela ou
imagem) e o número de caixas não for especificado, um padrão arbitrário de 128 é usado.
Para processamento de tabela binária, o -w (largura do compartimento) pode ser usado para especificar a largura de
cada caixa em vez do número de caixas. Assim:
funhist test.ev pha 1: 100: 5
significa que 5 bins de largura 20 são usados no histograma, enquanto:
funhist -w test.ev pha 1: 100: 5
significa que 20 bins de largura 5 são usados no histograma.
Os dados são divididos no número especificado de caixas e o histograma 1D resultante
(ou projeção) é produzida no formato de tabela ASCII. Para uma tabela, a saída exibe o
valores low_edge (inclusivos) e hi_edge (exclusivos) para os dados. Por exemplo, uma linha de 15
tabela contendo uma coluna "pha" cujos valores variam de -7.5 a 7.5 podem ser processados assim:
[sh] funhist test.ev pha
# arquivo de dados: /home/eric/data/test.ev
# coluna: pha
# min, max, bins: -7.5 7.5 15
bin valor lo_edge hi_edge
------ --------- --------------------- -------------- -------
1 22 -7.50000000 -6.50000000
2 21 -6.50000000 -5.50000000
3 20 -5.50000000 -4.50000000
4 19 -4.50000000 -3.50000000
5 18 -3.50000000 -2.50000000
6 17 -2.50000000 -1.50000000
7 16 -1.50000000 -0.50000000
8 -30
9 16 0.50000000 1.50000000
10 17 1.50000000 2.50000000
11 18 2.50000000 3.50000000
12 19 3.50000000 4.50000000
13 20 4.50000000 5.50000000
14 21 5.50000000 6.50000000
15 22 6.50000000 7.50000000
[sh] funhist test.ev pha 1: 6
# arquivo de dados: /home/eric/data/test.ev
# coluna: pha
# min, max, bins: 0.5 6.5 6
bin valor lo_edge hi_edge
------ --------- --------------------- -------------- -------
1 16 0.50000000 1.50000000
2 17 1.50000000 2.50000000
3 18 2.50000000 3.50000000
4 19 3.50000000 4.50000000
5 20 4.50000000 5.50000000
6 21 5.50000000 6.50000000
[sh] funhist test.ev pha 1: 6: 3
# arquivo de dados: /home/eric/data/test.ev
# coluna: pha
# min, max, bins: 0.5 6.5 3
bin valor lo_edge hi_edge
------ --------- --------------------- -------------- -------
1 33 0.50000000 2.50000000
2 37 2.50000000 4.50000000
3 41 4.50000000 6.50000000
Para um histograma de tabela, o -n(normalizar) interruptor pode ser usado para normalizar o valor bin por
a largura da caixa (ou seja, hi_edge-lo_edge):
[sh] funhist -n test.ev pha 1: 6: 3
# arquivo de dados: test.ev
# coluna: pha
# min, max, bins: 0.5 6.5 3
# normalização de largura (val / (hi_edge-lo_edge)) é aplicada
bin valor lo_edge hi_edge
------ --------------------- --------------------- - -------------------
1 16.50000000 0.50000000 2.50000000
2 6.16666667 2.50000000 4.50000000
3 4.10000000 4.50000000 6.50000000
Isso poderia ser usado, por exemplo, para produzir uma curva de luz com valores com unidades de
contagens / segundo em vez de contagens.
Para um histograma de imagem, a saída exibe os valores baixo e alto da imagem (ambos inclusivos)
usado para gerar o histograma. Por exemplo, no exemplo a seguir, 184 pixels tinham um
valor de 1, 31 tinha um valor de 2, enquanto apenas 2 tinha um valor de 3,4,5,6 ou 7:
[sh] teste funhist.fits
# arquivo de dados: /home/eric/data/test.fits
# min, max, bins: 1 7 7
valor bin lo_val hi_val
------ --------------------- --------------------- - -------------------
1 184.00000000 1.00000000 1.00000000
2 31.00000000 2.00000000 2.00000000
3 2.00000000 3.00000000 3.00000000
4 2.00000000 4.00000000 4.00000000
5 2.00000000 5.00000000 5.00000000
6 2.00000000 6.00000000 6.00000000
7 2.00000000 7.00000000 7.00000000
Para a projeção do eixo de uma imagem, a saída exibe as caixas de imagem baixa e alta (ambas
inclusive) usado para gerar a projeção. Por exemplo, no exemplo a seguir, 21
contagens tiveram seu valor X bin de 2, etc .:
[sh] teste funista.fits x 2: 7
# arquivo de dados: /home/eric/data/test.fits
# coluna: X
# min, max, bins: 2 7 6
valor bin lo_bin hi_bin
------ --------------------- --------------------- - -------------------
1 21.00000000 2.00000000 2.00000000
2 20.00000000 3.00000000 3.00000000
3 19.00000000 4.00000000 4.00000000
4 18.00000000 5.00000000 5.00000000
5 17.00000000 6.00000000 6.00000000
6 16.00000000 7.00000000 7.00000000
[sh] teste funista.fits x 2: 7: 2
# arquivo de dados: /home/eric/data/test.fits
# coluna: X
# min, max, bins: 2 7 2
valor bin lo_bin hi_bin
------ --------------------- --------------------- - -------------------
1 60.00000000 2.00000000 4.00000000
2 51.00000000 5.00000000 7.00000000
Você pode usar o gnuplot ou outros programas de plotagem para representar graficamente os resultados, usando um script como
como:
#!/ Bin / sh
sed -e '1, / ----. * / d
/ ^ $ /, $ d '⎪ \
awk '\
BEGIN {print "set nokey; set title \" funhist \ "; set xlabel \" bin \ "; set ylabel \" counts \ "; plot \" - \ "with boxes"} \
{print $ 3, $ 2, $ 4- $ 3} '⎪ \
gnuplot -persist - 1> / dev / null 2> & 1
Comandos de plotagem semelhantes são fornecidos no script história.diversão:
funhist test.ev pha ... ⎪ funhist.plot gnuplot
Use funhist online usando serviços onworks.net