Python を使用してランダムな星のスペクトルを合計し、信号対雑音比を高めています。これらのスペクトル ヘッダーのキーワードの 1 つに、スペクトルの積分時間が含まれています。スペクトルを合計すると、結果のスペクトルのキーワードが、使用した各スペクトルの積分時間の合計で更新されます。そのために、次のコードを使用します。
for kk in range(0,NumberOfSpectra): # main cycle
TotalIntegrationTime = 0.0
for item in RandomSpectraList: # secondary cycle
SpectrumHeader = SpectraFullList[item]['head'] #1
TotalIntegrationTime += SpectrumHeader['EXPTIME']
SpectrumHeader['EXPTIME'] = TotalIntegrationTime #2
SaveHeaderFunction(SpectrumHeader, kk)
私が抱えている問題は、メイン サイクルがループしたSpectrumHeader
ときに、#1 で再割り当てしてもリセットされず、#2 の値が表示されることです。なぜこれが起こるのか、それを修正する方法についてのアイデアはありますか?
NumberOfSpectra
はユーザーによって提供され、RandomSpectraList
名前によるランダム スペクトルのリストです。SpectraFullList
スペクトルを含み、キー 'head' と 'spec' を持ちます。