問題タブ [fits]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - PyFITS を使用して FITS テーブルに列を追加する
拡張子が 1 つの Fits ファイルがあり、データがそれぞれ 100 要素の 2 つの列のテーブルで構成されているとします。
ここで、テーブルに新しい列を追加したいと思います。たとえば、100 要素の別の配列である data['field3'] としましょう。
正確にはどうすればよいですか?
python - numpy を使用した HDU FITS ファイル形式のインデックス作成エラー
astropy
モジュールを使用して FITS ファイルからデータを読み込もうとしていますfits
。次に、標準の numpy 配列処理を使用します。ただし、何らかの理由で次のエラーが表示されます。
これは私が使用しているコードです:
^ 行へのエラー トレースバックflux = data[:, 1]
。
これは、おそらく天文学者 (または、具体的には、SDSS のファイルに精通している天文学者) が答えることができる質問かもしれませんが.fits
、numpy および python ユーザーからの入力を歓迎します!
python - Pythonでフィットファイルを読む
適合ファイルからのデータの読み取りに問題があります。通常、fits ファイルからデータを読み取ることはできますが、いくつかの問題を引き起こすデータ ファイルがいくつかあります。3 つの列とヘッダーを含むファイルを読み込もうとすると、次のような数値の表しか表示されません。
[[ 64 195 45 ..., 0 0 0]]
これは整数であり、データ ファイルには実際には、次のように double と float を 3 つの列に含む 3 つの列が含まれている必要があります。
[9819.3801, 0.00000, 0.00000]
[9820.0025、5.50764e-16、1.62396e-16]
[820.6248、-3.75781e-17、1.51864e-16]
mrdfitsと呼ばれる IDL のパッケージを使用して値を取得できるため、これらの値を取得する必要があることはわかっています。適合ファイルに含まれるデータ型と形式を調べてみました。コードは次のようになります。
私の質問は基本的にです。非整数データの 3 つの列を取得できるように、データを読み取る別の方法はありますか? ファイルが通常とは異なる方法で読み取られるのは、ファイルが BINTABLE であるためでしょうか? 現在行っている方法以外に、3 つの列をロードできる別の方法はありますか? いくつかの点を明確にする必要がある場合は、質問してください。現時点で多くのことを試したので、どちらの方向に進むべきかわかりません. どんな助けでも大歓迎です!
python - ヘッダーを保持しながら列をテーブルに追加する
新しい列をいくつか追加して、FITS テーブル拡張を更新しようとしています。http://pyfits.readthedocs.org/en/latest/users_guide/users_table.html#merging-tablesに記載されている方法に従っています。ただし、マージされたテーブルのヘッダーには、列を識別するために必要な最小限の情報しか含まれていません。元のヘッダー ファイルに必要な情報がありました。古いテーブルから新しいテーブルにすべての余分なキーワードを移動するにはどうすればよいですか?
私はすでに試しました
新しい列に必要なエントリを手動で追加しますが、これにより常にヘッダーが破損し、FITS ファイル全体が読み取れなくなります。
ありがとう
python - bz2 から Fits ファイルを開く
だから私は次のように読んだ圧縮されたfitsファイルを持っています:
私は astropy.io.fits を使用して fit ファイルを読み込んでいます。現時点では、API で .fits.bz2 ファイルを取得しているので、理想的には次のように読み取れるようにしたいと考えています。hdulist = fits.open(fit)
しかし、それはただ吐きますTypeError: must be encoded string without NULL bytes, not str
。(ファイルを手動で解凍して上記のように読み取ることで、ファイルが適切であることを確認しました)。
私の質問は一般的なものだと思います: 開いているファイルを別の関数に渡す方法は?
python - opencv で tiff を読み取ると、画像の上部と下部の 3 分の 1 が入れ替わります
かなり奇妙な問題があります。天体の tif 画像がいくつかあります。それらを処理するためにopencvのpythonバインディングを使用しようとしています。画像ファイルを読み取ると、画像のセグメントが交換または回転されているように見えます。私はそれを最小限に抑えましたが、それでも再現します:
効果を示すために、いくつかのサンプルを imgur にアップロードしました。画像は非常に鮮明ではありません。これは、前処理された天体画像の性質ですが、次のように見ることができます。
最初のセット:
2 番目のセット:
私も使用すると同じ回転/入れ替え画像が表示されるcv2.imShow(...)
ので、ファイルを読むと何かと思います。さらに、jpgとして保存しても持続します。オリジナルを Photoshop で開くと、正しい画像が表示されます。Linux Mint 17.1でopencv 2.4.10を使用しています。問題があれば、元の tif は Windows 上の FITS liberator で作成されました。
ここで何が起こっているか分かりますか?
fits - astropy.io.fits で BinTableHDU データにラベルを付ける
そこで、私は FITS テーブル データを astropy.io.fits の HDUlist に照合してきました。リスト内のオブジェクトにラベルを付けて、簡単に区別できるようにしたいと思います。
これはかなり長く続きます。私の場合、典型的なリストには 54 個の BinTableHDU ファイルが含まれています。
各テーブルに正確に何が含まれているかについて、コードを使用する誰にでもすぐにわかるように、何らかのラベルまたは識別子を追加できるかどうか疑問に思っていましたか? ありがとう。
python - ASCII テーブルを FITS 画像に変換する
私はこの分野の初心者です。X、Y、強度 (X, Y) の 3 つの列を持つテキスト ファイルがあります。それらは基本的に配列 (1X10000) であり、それぞれが Python を介してテキスト ファイルに書き出されます。Python でデータセットをプロットするには、trisurf を使用するだけでこれを実現できます。しかし、さらに処理するには、そこから適合画像を作成する必要があります。このテキスト ファイルから FITS イメージ (単純な FITS テーブルではない) を作成するにはどうすればよいですか (python または matlab を使用するのが望ましいでしょう)。
python - Pythonを使用してfitsファイルの低信号ピクセルをゼロにする
フィット画像ファイルを読み取り、特定のしきい値 (バックグラウンド統計に基づいてフィードする) を下回るすべてのピクセルをゼロまたは nan に設定する簡単なスクリプトを作成しようとしています。私が使用しているコードの下に含めました。これにより、元のファイルに似た新しい fit ファイルが書き込まれますが、ピクセル値が再スケーリングされているように見えます (つまり、新しいファイルの最小値が指定した最小値であると予想されますが、そうではありません)。新しいファイルにヘッダーを書き込む方法に問題があると思いますが、修正方法がわかりません。同様のことを行った天文学者への提案やスニペットを歓迎します。ありがとう!