Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Chạy máy chủ | Ubuntu > | Fedora > |


Biểu tượng yêu thích OnWorks

fundisp - Trực tuyến trên đám mây

Chạy fundisp trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks qua Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

Đây là lệnh fundisp có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


fundisp - hiển thị dữ liệu trong tệp dữ liệu Funtools

SYNOPSIS


quỹ đầu tư [định dạng -f] [-l] [-n] [-T] [cột⎪bitpix = n]

LỰA CHỌN


-f # chuỗi định dạng để hiển thị
-l # hiển thị hình ảnh dưới dạng danh sách chứa các cột X, Y, VAL
-n # không xuất tiêu đề
-F [c] # sử dụng ký tự được chỉ định làm dấu phân tách cột (def: khoảng trắng)
-T # đầu ra ở định dạng rdb / starbase (dấu phân cách tab)

MÔ TẢ


quỹ đầu tư hiển thị dữ liệu trong Phần mở rộng FITS và / hoặc Phần Hình ảnh được chỉ định của FITS
hoặc trong một Phần của mảng không phải FITS hoặc tệp sự kiện thô.

Đối số đầu tiên của chương trình chỉ định hình ảnh đầu vào FITS, mảng hoặc tệp sự kiện thô
để hiển thị. Nếu "stdin" được chỉ định, dữ liệu được đọc từ đầu vào chuẩn. Sử dụng Funtools
Ký hiệu Dấu ngoặc để chỉ định phần mở rộng FITS, phần hình ảnh và bộ lọc.

Nếu dữ liệu đang được hiển thị là các cột (trong bảng nhị phân FITS hoặc một sự kiện thô
tệp), các hàng riêng lẻ được liệt kê. Bộ lọc có thể được thêm vào bằng cách sử dụng ký hiệu dấu ngoặc. Như vậy:

[sh] fundisp "test.ev [time- (int) time> .15]"
XY PHA PI THỜI GIAN DX DY
------- ------- ------- --------- ---------------- ---- ------ ----------
10 8 10 8 17.1600 8.50 10.50
9 9 9 9 17.1600 9.50 9.50
10 9 10 9 18.1600 9.50 10.50
10 9 10 9 18.1700 9.50 10.50
8 10 8 10 17.1600 10.50 8.50
9 10 9 10 18.1600 10.50 9.50
9 10 9 10 18.1700 10.50 9.50
10 10 10 10 19.1600 10.50 10.50
10 10 10 10 19.1700 10.50 10.50
10 10 10 10 19.1800 10.50 10.50

[NB: Tệp kiểm tra bảng nhị phân FITS test.ev, cũng như tệp hình ảnh FITS test.fits, là
chứa trong thư mục funtools funtest.]

Khi một bảng được hiển thị bằng cách sử dụng quỹ đầu tư, một đối số tùy chọn thứ hai có thể được sử dụng để
chỉ định các cột để hiển thị. Ví dụ:

[sh] fundisp "test.ev [time- (int) time> =. 99]" ​​"xy time"
THỜI GIAN XY
-------- -------- ---------------------
5-6 40.99000000
4-5 59.99000000
-1 0 154.99000000
-2 1 168.99000000
-3 2 183.99000000
-4 3 199.99000000
-5 4 216.99000000
-6 5 234.99000000
-7 6 253.99000000

Cột đặc biệt $ VÙNG có thể được chỉ định để hiển thị id vùng của mỗi hàng:

[sh $] fundisp "test.ev [time- (int) time> =. 99 && annulus (0 0 0 10 n = 3)]" 'xy time $ REGION'
KHU VỰC THỜI GIAN XY
-------- --------------------------------- ----------
5-6 40.99000000 3
4-5 59.99000000 2
-1 0 154.99000000 1
-2 1 168.99000000 1
-3 2 183.99000000 2
-4 3 199.99000000 2
-5 4 216.99000000 2
-6 5 234.99000000 3
-7 6 253.99000000 3

Ở đây chỉ các hàng có thời gian phân số thích hợp và vị trí của nó cũng nằm trong một trong số
ba niên kim được hiển thị.

Có thể loại trừ các cột khỏi hiển thị bằng dấu trừ trước cột:

[sh $] fundisp "test.ev [time- (int) time> =. 99]" ​​"-time"
XY PHA PI DX DY
-------- -------- ---------- ---------- ------------- ------
5-6 5-6 5.50-6.50
4-5 4-5 4.50-5.50
-1 0 -1 0 -1.50 0.50
-2 1 -2 1 -2.50 1.50
-3 2 -3 2 -3.50 2.50
-4 3 -4 3 -4.50 3.50
-5 4 -5 4 -5.50 4.50
-6 5 -6 5 -6.50 5.50
-7 6 -7 6 -7.50 6.50

Tất cả các cột ngoại trừ cột thời gian được hiển thị.

Cột đặc biệt $N có thể được chỉ định để hiển thị giá trị thứ tự của mỗi hàng. Vì vậy,
tiếp tục ví dụ trước:

fundisp "test.ev [time- (int) time> =. 99]" ​​'-time $ n'
XY PHA PI DX DY N
------- -------- ---------- ---------- ------------- ----- ----------
5 -6 5-6 5.50-6.50 337
4 -5 4-5 4.50-5.50 356
-1 0-1 0-1.50 0.50 451
-2 1-2 1-2.50 1.50 465
-3 2-3 2-3.50 2.50 480
-4 3-4 3-4.50 3.50 496
-5 4-5 4-5.50 4.50 513
-6 5-6 5-6.50 5.50 531
-7 6-7 6-7.50 6.50 550

Lưu ý rằng đặc tả cột được đặt trong dấu ngoặc kép để bảo vệ '$ n' ngay từ đầu
mở rộng bởi vỏ.

Nói chung, các quy tắc để kích hoạt và hủy kích hoạt cột là:

· Nếu chỉ các cột loại trừ được chỉ định, thì tất cả các cột trừ các cột loại trừ sẽ
được kích hoạt.

· Nếu chỉ bao gồm các cột được chỉ định, thì chỉ các cột được chỉ định mới được kích hoạt.

· Nếu một hỗn hợp các cột bao gồm và loại trừ được chỉ định, thì tất cả trừ cột loại trừ
các cột sẽ hoạt động; trường hợp cuối cùng này là không rõ ràng và quy tắc là tùy ý.

Ngoài việc chỉ định tên cột một cách rõ ràng, các ký hiệu đặc biệt +- có thể
được sử dụng để kích hoạt và hủy kích hoạt tất cả các cột. Điều này rất hữu ích nếu bạn muốn kích hoạt
Cột $ REGION cùng với tất cả các cột khác. Theo quy tắc, cú pháp "$ REGION"
chỉ kích hoạt cột khu vực và hủy kích hoạt phần còn lại. Sử dụng "+ $ REGION" để kích hoạt
tất cả các cột cũng như cột khu vực.

Nếu dữ liệu đang được hiển thị là dữ liệu hình ảnh (trong hình ảnh chính FITS, hình ảnh FITS
phần mở rộng hoặc một tệp mảng), một màn hình pixel mxn được tạo ra, trong đó m và n là
kích thước của hình ảnh. Theo mặc định, các giá trị pixel được hiển thị bằng cùng một loại dữ liệu
như trong tệp. Tuy nhiên, đối với dữ liệu số nguyên trong đó tham số tiêu đề BSCALE và BZERO
hiện tại, dữ liệu được hiển thị dưới dạng phao. Trong cả hai trường hợp, kiểu dữ liệu hiển thị có thể là
được ghi đè bằng cách sử dụng đối số thứ hai tùy chọn của biểu mẫu:

bitpix = n

trong đó n là 8,16,32, -32, -64, cho các ký tự không dấu, short, int, float và double, tương ứng.

Tất nhiên, đang chạy quỹ đầu tư trên bất kỳ thứ gì ngoại trừ hình ảnh nhỏ nhất thường dẫn đến màn hình
có kích thước làm cho nó không thể đọc được. Do đó, người ta có thể sử dụng ký hiệu ngoặc (xem bên dưới) để
áp dụng phần và / hoặc chặn cho hình ảnh trước khi tạo màn hình. Ví dụ:

[sh] fundisp "test.fits [2: 6,2: 7]" bitpix = -32
2 3 4 5 6
---------- ---------- ---------- ---------- ----------
2: 3.00 4.00 5.00 6.00 7.00
3: 4.00 5.00 6.00 7.00 8.00
4: 5.00 6.00 7.00 8.00 9.00
5: 6.00 7.00 8.00 9.00 10.00
6: 7.00 8.00 9.00 10.00 11.00
7: 8.00 9.00 10.00 11.00 12.00

Lưu ý rằng có thể hiển thị bảng nhị phân FITS dưới dạng hình ảnh chỉ bằng cách chuyển
bàn qua funimage Đầu tiên:

[sh] ./funimage test.ev stdout ⎪ fundisp "stdin [2: 6,2: 7]" bitpix = 8
2 3 4 5 6
------- ------- ------- ------- -------
2: 3 4 5 6 7
3: 4 5 6 7 8
4: 5 6 7 8 9
5: 6 7 8 9 10
6: 7 8 9 10 11
7: 8 9 10 11 12

Nếu -l (danh sách) chuyển đổi được sử dụng, sau đó một hình ảnh được hiển thị dưới dạng danh sách chứa
cột: X, Y, VAL. Ví dụ:

fundisp -l "test1.fits [2: 6,2: 7]" bitpix = -32
VAN XY
---------- ---------- -----------
2 2 6.00
3 2 1.00
4 2 1.00
5 2 1.00
6 2 1.00
2 3 1.00
3 3 5.00
4 3 1.00
5 3 1.00
6 3 1.00
2 4 1.00
3 4 1.00
4 4 4.00
5 4 1.00
6 4 1.00
2 5 1.00
3 5 1.00
4 5 1.00
5 5 3.00
6 5 1.00
2 6 1.00
3 6 1.00
4 6 1.00
5 6 1.00
6 6 2.00
2 7 1.00
3 7 1.00
4 7 1.00
5 7 1.00
6 7 1.00

Nếu -n (nohead) chuyển đổi được sử dụng, khi đó không có tiêu đề nào được xuất cho các bảng. Điều này rất hữu ích,
ví dụ: khi đầu ra của quỹ được chuyển vào gnuplot.

Mô hình quỹ đầu tư chương trình sử dụng một bộ định dạng hiển thị mặc định:

loại dữ liệu định dạng TFORM
-------- ----- --------
nhân đôi D "% 21.8f"
float E "% 11.2f"
int J "% 10d"
ngắn tôi "% 8d"
byte B "% 6d"
chuỗi A "% 12.12s"
bit X "% 8x"
lôgic L "% 1x"

Do đó, màn hình mặc định của 1 quần đùi đôi và 2 quần đùi cho:

[sh] fundisp snr.ev "thời gian xy"

THỜI GIAN XY
--------------------- -------- --------
79494546.56818075 546 201
79488769.94469175 548 201
hữu ích. Cảm ơn !

Bạn có thể thay đổi định dạng hiển thị cho các cột riêng lẻ hoặc cho tất cả các cột của một
kiểu dữ liệu bằng công tắc -f. Chuỗi định dạng đi kèm với -f là một dấu cách-
danh sách phân tách các giá trị từ khóa = định dạng. Các giá trị từ khóa có thể là tên cột
(trong trường hợp đó, định dạng được liên kết chỉ liên quan đến cột đó) hoặc bảng FITS TFORM
chỉ định (trong trường hợp đó định dạng liên quan đến tất cả các cột có kiểu dữ liệu đó). Vì
ví dụ, bạn có thể thay đổi định dạng kép và định dạng ngắn cho tất cả các cột như sau:

[sh] fundisp -f "D =% 22.11f I =% 3d" snr.ev "time xy"

THỜI GIAN XY
---------------------- --- ---
79494546.56818075478 546 201
79488769.94469174743 548 201
hữu ích. Cảm ơn !

Ngoài ra, bạn có thể thay đổi định dạng của cột thời gian và x như sau:

[sh] fundisp -f "time =% 22.11fx =% 3d" snr.ev "time xy"

THỜI GIAN XY
---------------------- --------
79494546.56818075478 546 201
79488769.94469174743 548 201
hữu ích. Cảm ơn !

Lưu ý rằng có thể có xung đột nếu một cột có cùng tên với một trong các TFORM
đặc tả. Trong các ví dụ trên, cột "X" trong bảng có cùng tên với
kiểu dữ liệu X (bit). Để giải quyết xung đột này, chuỗi định dạng được xử lý sao cho
Các chỉ định loại dữ liệu TFORM được kiểm tra đầu tiên, sử dụng so sánh phân biệt chữ hoa chữ thường. Nếu
giá trị định dạng được chỉ định không phải là giá trị TFORM viết hoa, khi đó kiểm tra phân biệt chữ hoa chữ thường là
được thực hiện trên tên cột. Điều này có nghĩa là, trong các ví dụ trên, "X =% 3d" sẽ đề cập đến
kiểu dữ liệu X (bit), trong khi "x =% 3d" sẽ tham chiếu đến cột X:

[sh] fundisp -f "X =% 3d" snr.ev "xy"

XY
-------- --------
546 201
548 201
hữu ích. Cảm ơn !

[sh] fundisp -f "x =% 3d" snr.ev "xy"

XY
--- --------
546 201
548 201
hữu ích. Cảm ơn !

Do đó, theo quy tắc, tốt nhất là luôn chỉ định tên cột bằng chữ thường và TFORM
kiểu dữ liệu in hoa.

Mô hình -f [định dạng] sẽ thay đổi định dạng cho một lần thực hiện fundisp. Bạn cũng có thể sử dụng
các FUN_FORMAT biến envronment để thay đổi định dạng cho tất cả các lệnh gọi của fundisp.
Định dạng của giá trị của biến môi trường này giống với định dạng được sử dụng với -f
chuyển. Giá trị toàn cục này có thể được ghi đè trong các trường hợp riêng lẻ bằng cách sử dụng -f [định dạng]
công tắc điện.

Lưu ý: Cũng xin lưu ý rằng người dùng có trách nhiệm phải khớp với định dạng
chỉ định cho kiểu dữ liệu cột một cách chính xác. Cũng lưu ý rằng, để duy trì hình ảnh
căn chỉnh giữa tên và cột, tên cột sẽ bị cắt bớt (ở bên trái) nếu
chiều rộng định dạng nhỏ hơn chiều dài của tên. Tuy nhiên, việc cắt ngắn không được thực hiện
nếu đầu ra ở định dạng RDB (sử dụng công tắc -T).

[Chuỗi định dạng kiểu cũ hơn được hỗ trợ nhưng không được dùng nữa. Nó bao gồm phân cách bằng dấu cách
Câu lệnh định dạng C cho tất cả các kiểu dữ liệu, được chỉ định theo thứ tự sau:

double float int chuỗi byte ngắn bit.

Thứ tự danh sách này dựa trên giả định rằng mọi người nói chung sẽ muốn
thay đổi các định dạng float.

Nếu "-" được nhập thay vì một câu lệnh định dạng cho một kiểu dữ liệu nhất định, thì định dạng mặc định
Được sử dụng. Ngoài ra, chuỗi định dạng có thể được kết thúc mà không cần chỉ định tất cả các định dạng và
giá trị mặc định sẽ được sử dụng cho phần còn lại của danh sách. Lưu ý rằng bạn phải cung cấp một trường tối thiểu
width, tức là "% 6d" và "% -6d" là hợp pháp, "% d" là không hợp pháp.

Bằng cách sử dụng -f [format], bạn có thể thay đổi định dạng kép và định dạng ngắn như sau:

[sh] fundisp -f "22.11f - - 3d" snr.ev "thời gian xy"

THỜI GIAN XY
---------------------- --- ---
79494546.56818075478 546 201
79488769.94469174743 548 201
hữu ích. Cảm ơn !

NB: Định dạng này không được dùng nữa và sẽ bị xóa trong một bản phát hành trong tương lai.]

Mô hình -F [c] công tắc có thể được sử dụng để chỉ định dấu phân tách cột (một ký tự) (trong đó
mặc định là khoảng trắng). Lưu ý rằng định dạng cột gần như chắc chắn cũng sẽ thêm khoảng trắng vào
đệm các cột riêng lẻ theo chiều rộng cần thiết. Chúng có thể được loại bỏ bằng một chương trình như
sed, với chi phí tạo các cột không được đánh dấu. Ví dụ:

fundisp -F ',' snr.ev '[khoảng 512 512 .1]'
X, Y, PHA, PI, TIME, DX, DY
512, 512, 6, 7, 79493997.45854475, 578, 574
512, 512, 8, 9, 79494575.58943175, 579, 573
512, 512, 5, 6, 79493631.03866175, 578, 575
512, 512, 5, 5, 79493290.86521725, 578, 575
512, 512, 8, 9, 79493432.00990875, 579, 573

fundisp -F ',' snr.ev '[khoảng 512 512 .1]' ⎪ sed 's / *, * /, / g'
X, Y, PHA, PI, TIME, DX, DY
512,512,6,7,79493997.45854475,578,574
512,512,8,9,79494575.58943175,579,573
512,512,5,6,79493631.03866175,578,575
512,512,5,5,79493290.86521725,578,575
512,512,8,9,79493432.00990875,579,573

fundisp -f "x =% 3d y =% 3d pi =% 1d pha =% 1d time =% 20.11f dx =% 3d dy =% 3d" -F ',' snr.ev '[khoảng 512
512 .1] '⎪ sed' s / *, * /, / g '
X, Y, A, I, TIME, DX, DY ---, ---, -, -, --------------------, ---, ---
512,512,6,7,79493997.45854474604,578,574 512,512,8,9,79494575.58943174779,579,573
512,512,5,6,79493631.03866174817,578,575 512,512,5,5,79493290.86521725357,578,575
512,512,8,9,79493432.00990875065,579,573

Nếu -T (bảng rdb) được sử dụng, đầu ra sẽ tuân theo cơ sở dữ liệu starbase / rdb
format: các tab sẽ được chèn vào giữa các cột thay vì khoảng trắng. Định dạng này không phải là
khả dụng khi hiển thị pixel hình ảnh (ngoại trừ kết hợp với -l chuyển).

Cuối cùng, lưu ý rằng quỹ đầu tư có thể được sử dụng để tạo bộ lọc cột từ các bảng phụ trợ
trong một tệp FITS. Ví dụ: mã shell sau sẽ tạo ra một khoảng thời gian tốt
(GTI) bộ lọc cho các tệp dữ liệu tia X có chứa phần mở rộng GTI tiêu chuẩn:

#!/ Bin / sh
sed '1, / ----. * / d
/ ^ $ /, $ d '⎪ awk' tot> 0 {printf "⎪⎪"}; {printf "time =" $ 1 ":" $ 2; tot ++} '

Nếu tập lệnh này được đặt trong một tệp có tên "mkgti", thì nó có thể được sử dụng trong một lệnh như:

fundisp foo.fits "[GTI]" ⎪ mkgti> gti.filter

Sau đó, tệp bộ lọc kết quả có thể được sử dụng trong các chương trình funtools khác nhau:

funcnts foo.fits "[@ gti.filter]" ...

để chỉ xử lý các sự kiện trong khoảng thời gian thích hợp.

Sử dụng fundisp trực tuyến bằng các dịch vụ onworks.net


Ad


Ad