問題タブ [astropy]
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 - numpy 配列から Ellipse 内のピクセルをカウントする
背景 私は、銀河の表面の明るさを楕円半径の関数として計算するプログラムを書いています。これには、最初に .fits ファイルの読み取りが含まれます。このファイルは、配列 [x][y] がその (x,y) ピクセルで表面の明るさの値を返すように、numpy 配列に格納されます。
表面の明るさを計算するには、ある最小サイズで楕円を銀河に当てはめ、その楕円内の表面の明るさの中央値を見つけ、次に楕円のサイズを大きくして、各年輪の表面の明るさを見つけられるようにする必要があります。表面の明るさが背景ノイズに対して特定の比率を下回るまで、さまざまなサイズの年輪がループされます。
問題 楕円の所定のパラメータには、位置角度、x および y ピクセルの中心座標、および B/A の比率が含まれます。楕円を本質的に配列の配列に適合させる方法を見つけるのに苦労しています。助けてください??
python - 最初の行に指定されたヘッダーを含む ascii ファイルを pandas データフレームに読み込む
さまざまな列と各列のさまざまなヘッダー名を持つカタログの膨大なセットがあります。各ヘッダー名の説明は、行の ascii ファイルの先頭にコメントとして示されています。pandas.DataFrame
最初から定義する必要なく、列の名前も設定できるので、それらを読み取る最良の方法は何ですか。以下は私のカタログの一例です。
python - cx_freeze/py2exe の使用後に astropy の「six」モジュールが見つからない
cx_freeze と py2exe を使用して、python 3 で記述されたプログラムを .exe に変換しようとしていました。しかし、プログラムを変換して実行した後、次のエラーが発生します。
Traceback (most recent call last):
File "astroConverter.py", line 8, in <module>
File "C:\Users\Konrad\PycharmProjects\astroConverter\mainwindow.py", line 2, in <module>
from widgets.widgets import MainMenu, Toolbar, TextField
File "C:\Users\Konrad\PycharmProjects\astroConverter\widgets\widgets.py", line 1, in <module>
from widgets.menus import FileMenu, EditMenu, HelpMenu
File "C:\Users\Konrad\PycharmProjects\astroConverter\widgets\menus.py", line 2, in <module>
from common import Info
File "C:\Users\Konrad\PycharmProjects\astroConverter\common.py", line 2, in <module>
from astropy.io import fits
File "C:\Python34\lib\site-packages\astropy\__init__.py", line 73, in <module>
_check_numpy()
File "C:\Python34\lib\site-packages\astropy\__init__.py", line 61, in _check_numpy
from .utils import minversion
File "C:\Python34\lib\site-packages\astropy\utils\__init__.py", line 15, in <module>
from .codegen import *
File "C:\Python34\lib\site-packages\astropy\utils\codegen.py", line 15, in <module>
from .introspection import find_current_module
File "C:\Python34\lib\site-packages\astropy\utils\introspection.py", line 14, in <module>
from ..extern import six
File "C:\Python34\lib\site-packages\astropy\extern\six.py", line 60, in <module>
_import_six()
File "C:\Python34\lib\site-packages\astropy\extern\six.py", line 57, in _import_six
"distribution.".format(_SIX_MIN_VERSION))
ImportError: Astropy requires the 'six' module of minimum version 1.7.3; normally this is bundled wi
th the astropy package so if you get this warning consult the packager of your Astropy distribution.
これは私の cx_freeze setup.py スクリプトです:
および py2exe スクリプト:
の出力は次のpip freeze
とおりです。
ご覧のとおり、私のsix
モジュールは astropy で必要なバージョンよりも新しいバージョンです。奇妙なことに、すべてのパッケージが適切にインストールされており、実行中はすべて正常に動作しますpython astroConverter.py
。これは GUI アプリケーションです (tkinter を使用しています)。cx_freeze または py2exe に「six」モジュールを適切に含める方法を知っている人はいますか?
python - 特定の ra-dec のピクセル座標を見つけるには
私はPythonにかなり慣れていませんが、現在、いくつかの銀河の画像にラベルを付けることに取り組んでいます。0.2 arcsec/pix にスケーリングされた 512x512 pix^2 画像のセットがあります。画像のそれぞれには、ラベル付けする2つのオブジェクトがあります.1つは中心(256pix、256pix)にあり、もう1つはオフセットにあります(オブジェクト間の投影された分離と、両方のオブジェクトのra-dec値があります)。タスクは、各画像内のオブジェクトを囲むことです。中央のオブジェクトは簡単ですが、他のオブジェクトで同じことを行う方法に行き詰まっています。次のスニペットは、中央のオブジェクトを囲みます。もう一方のオブジェクトを囲む方法を理解する必要があります。
両方のオブジェクトの RA-DEC 値 (度) があります。
オブジェクト間の分離があります (kpc)。
.2 ''/px の 512x512 px の画像の場合、これはリスト内のすべての objid を反復処理します。objid ごとに、Images_fin というフォルダーに objid.png を含むファイルがあります。これにより、正しい画像が読み込まれ、objid でラベルが付けられます。
ラベル付けが完了したときにどのように見えるかの例を貼り付けています(これは手動で行われました)
python - FITS 画像の WCS の作成
更新 (2016 年 3 月 10 日):将来誰でも見られるように、これをここに置くと思いました。私は本質的にこの問題を解決しました。私は基本的に、画像を撮った後に世界座標系を「作成」しようとしていました。私の考えでは、特定の夜の削減から何百もの画像で WCS を取得できれば、はるかに簡単になると思いました。ただし、このようなことは、画像内の基準点がなければ、または画像の撮影時にソースで基準点を作成するだけでは簡単には実行できません。これを書いている時点で、私の大学の望遠鏡は自動誘導システムを持つようにアップグレードされているため、うまくいけば、この方法で画像ヘッダーに WCS を実装できるはずです。
想定される知識があまりないことを願っています。これは純粋に、アストロピーを使用した天文学の縮小に関する質問です。
背景: 現在、たくさんのフィット画像があります。多くの異なるターゲットに対して数百。私が使用した望遠鏡は、ターゲットに座っているだけではひどいドリフトが発生するため、すべての画像を調整する必要があります。私は PixInsight のようなフリーではないソフトウェアを使用することもできますが、これはすばらしい仕事をすると聞いていますが、私は好奇心旺盛な学部生で、フリーの方法/ハードな方法で試してみたいと思っています。IRAF で多くの画像をドリフトに合わせる方法を広範囲に探した後、私が最も必要としているのは星の座標のようです。そこで、基準星の世界座標を取得し、それを他のすべての画像に対して使用すると、各画像の基準星のピクセル座標を抽出できるという考えに至りました。これにより、シフトを計算してデータを整列させることができます。
私の悩みに:
astropy を使用して fit ヘッダーから wcs を取得する方法に関するドキュメントに従って、次のエラーが発生します。
WARNING: FITSFixedWarning: EPOCH = '2015.5 ' / RA および Dec のエポック (年) 浮動小数点値が予期されていました。[astropy.wcs.wcs]
望遠鏡は 2000 年の EPOCH を使用して旋回することができないため、システムはそれを現在の年に変換して RA と DEC を適切に変換し、それがヘッダーにカタログ化されているため、エポックは奇妙です。ここから先に進み、ピクセル座標をワールド座標に変換しようとすると、再びピクセル座標になってしまうため、明らかにこれは機能していません。私の考えでは、各画像の WCS オブジェクトを手動で作成することですが、これについてはアストロピーのドキュメントをうまくフォローできません。wcs オブジェクトの属性は、ヘッダーからの RA と Dec だけを知っているように見えるときに混乱します。
誰かがこれを整理するのを手伝ってくれますか?
imstar を使用するように言わないでください。wfctools を IRAF にインストールする必要があり、誰もが IRAF が厄介な獣であり、私が壊す可能性があることを知っているからです。
ありがとう!
PS:誰かがここで私を助けてくれることを願っていますが、私の言い訳として、夏学期が終了し、この質問は休暇のために脇に置きました. しかし、私はそれを復活させて解決し、言い換えたいと思っています。
基本的に、私の大学には学部生だけが実際に使用する望遠鏡があります。これは、今日の基準では研究グレードの最下位であるためです。したがって、天文学の学部生が 30 インチの望遠鏡を操作するのは良い練習になります。最終的に、画像の適合ヘッダーには世界座標系 (WCS) が含まれていません。すべての画像に WCS があれば、画像を大量に整列させる方がずっと簡単だと思うので、これは問題だと思います。だから私がやろうとしているのは、WCSを画像ヘッダーに正しく追加することですが、その方法についてはあまり考えていません。
私の最初の試みは、astropy 内で WCS を作成することをテストすることでした。これには予備的なコードを提供しますが、WCS を作成するためのキーワードが私を混乱させるため、失敗に満ちています。ここで、WCS に関する適切な説明とおそらくチュートリアルと思われるものを見つけました: http://astroweb.iag.usp.br/~moser/notes/GAi_FITSimgs.html。
WCS を作成するためのコードを次に示します (少し哀れです)。
欠落しているパラメーターを含め、WCS パラメーターの詳細をさらに記入する必要があると思います。
python - astropy のインストールに関する問題
astropy for python のインストールに問題があります。ターミナルで「pip install astropy」と入力すると、次のメッセージが表示されます。
なぜこれが起こっているのか誰にも分かりますか?