• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Igor proでのピーク面積計算)

Igor proでのピーク面積計算

このQ&Aのポイント
  • Igor pro4.04を使って、スペクトル中で重なったピークを分離し、個々の面積を求める方法について教えてください。
  • Igor pro4.04の解析>packages>multipeak fittingを使用して、スペクトルのピークを分離し、グラフに表示させましたが、ピーク面積の計算ができません。
  • areaXYコマンドを使用してスペクトルの面積を計算することはできますが、個々のピークを指定すると「ウェーブ名が不正です」というエラーメッセージが表示されます。Igorでは個々のピーク面積を計算することは不可能なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#137826
noname#137826
回答No.2

こんにちは。 状況が推測できました。Igor 4 であるか 6 であるかは関係ないと思います。 Peak1, Peak2, ... という名前で表示されているのであれば、そのグラフを一番上にしてから print area($GetWavesDataFolder(TraceNameToWaveRef("","Peak1"),2)) を実行してみてください。エラーは表示されずに、なんらかの数字が履歴欄に表示されませんか?もしそうであれば、その数字が Peak1 の面積です。面積を求める(積分する)xの範囲を x1 と x2 の間に限定したければ print area($GetWavesDataFolder(TraceNameToWaveRef("","Peak1"),2), x1, x2) です。(詳細についてはヘルプの area の項目をご覧ください。) "Peak1" を "Peak2" に変えれば、複数ある他のピークについても同様にできます。 --- 以降は私の推測が合っていれば、つまり、上記が意図したとおりにうまく行けばお読みください。 fit_wave0 と Peak1, Peak2, ... は異なるデータフォルダ階層にあります。area(fit_wave0) を実行してきちんと結果が得られるということは、カレントデータフォルダは fit_wave0 があるデータフォルダということです。一方、area(Peak1) は対象となるウエーブが見つからないことになるためエラーが出ます。Igor 6 の場合、Peak1, Peak2, ... は root:WMPeakFits:Current というデータフォルダにあります。もしこれが Igor 4 でも同じだとしたら(おそらく同じだろうと思いますが)、上記のコマンドは print area(root:WMPeakFits:Current:Peak1) としてもうまくいくはずです。

runeseeker
質問者

お礼

ご指摘の通り実行してみましたら、面積を求めることができました!原因はウェーブのデータフォルダの違いだったのですね。Peak1についてよくよく調べてみると、とあるウインドウでデータフォルダ:root:WMPeakFits:Currentという表示が出ていました。 ご丁寧にありがとうございました。これで研究もはかどりそうです。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#137826
noname#137826
回答No.1

こんにちは。 私は Igor Pro 6 を使っているので、細かいところでは 4 とは異なるかもしれません。 そのことを念頭において以下を読んでいただけると幸いです。 フィットして得られた値は、x値とy値が独立した2つのウエーブに保存されるのではなく、 yがPeak1, Peak2, ... という名前(Igor Pro 6の場合)のウエーブのデータ値として、 xがそれらのウエーブのx値として、1つのウエーブに保存されます。 したがって、使用すべきコマンドは areaXY ではなく area でしょう。 「ウェーブ名が不正です」というエラーメッセージは、不必要なyウエーブを指定したことが 原因のように思います。 フィッティングの対象となる生データは x(エネルギー) と y(スペクトル強度) の2つの ウエーブで与えられていませんか? そうだとすれば生データの面積を求める際には areaXY を使い、フィット結果の個々の面積を 求める際には area を使うことになります。「フィッティングしたスペクトルの面積(ピークが 重なったままの面積です)は計算できます」というのはこのことではないでしょうか?

runeseeker
質問者

お礼

 回答ありがとうございます。早速areaで試してみたところ、やはり「ウェーブ名が不正です」と出てしまいました。  「フィッティングしたスペクトルの~」という部分ですが、生データそのものではなくフィッティング後の滑らかなスペクトルのこと(fit_wave0と名前がついていました)を指していました。  Peak1,Peak2というウェーブで表示されてるのはご指摘の通りでした。なぜ作動しないのかは分かりませんが・・・Igor Pro 6に変えたほうが早いのかもしれません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • igorのMultipeak Fittingにつ…

    igorのMultipeak Fittingについて igor Pro6.03のMultipeak Fittingに使われているPeak AutoFindというプログラムを使ってスペクトルのピークを自動で検出したいと考えています。 それをするにあたり、Peak AutoFindのアルゴリズムを理解しようと考えたのですが素人な為全く理解ができません。 どんな計算をしていて、どのように自動でピークを検出しているのかなど分かる方がいらっしゃいましたら教えて頂けないでしょうか。 よろしくお願いします。

  • スペクトルのピーク分離の方法について

    当方大学生です。 分析機器を初めて使い得られたスペクトルの解析にとまどっています。 ピークが重なってしまっている部分の分離をし、ピーク面積の計算をしたいのですが、 どのような方法、ソフトがありますでしょうか。 ちなみにIGORProは持っているのですが、複雑すぎてうまく使いこなせていません。 PackagesのMultipeakFittingで行おうといろいろ調べて挑戦はしたのですが 自分が何をしているかいまいちよくわかりません。 ピークの分離、またピーク面積計算の方法を具体的に教えていただきたいです。 できればIGORProを使ってできれば、と思っております。 よろしくお願い致します。

  • スペクトルの実験データの誤差計算

    スペクトルをvoigt関数(ローレンツ関数とガウス関数の合成積)で分解、fittingしているですが、その生の実験データとfittingした関数のデータとで面積や、ピークセンターの誤差を計算したいのですが、誰か分かりやすく教えて頂けませんか?

  • スペクトルの Fitting について

    XPSを用いて測定したスペクトルの Fitting がうまくいきません。 光イオン化断面積の大きな準位の 比較的対称なピークさえ、 うまくフィットすることができません… Gauss関数を用いたFittingではうまくいかないものなのでしょうか? ピークの形に影響を及ぼす要因は いくつか考えられるのですが ピークフィットするにあたり それぞれの要因に対して、どのように重みをつけるべきなのか 全く分かりません ピークフィットするにあたってよい方法があれば教えてください

  • 2つの波形の重なり部分の面積を求めるには

    (x,y)座標の表形式のUV可視スペクトルデータが2つ(波形A,波形B)あります.例えば, 波形Aは,xの範囲が400~700nmで2nmきざみ, 波形Bは,xの範囲が500~1000nmで0.3nmきざみ,とします. 波形Aと波形Bは,ともに500~700nmのx領域をカバーしていますが,全く同一のx座標を持つデータ点そのものはあまりありません. このとき,波形Aと波形Bの重なり部分の面積(500~700nm)をできるだけ簡単に求めるにはどうしたらよいでしょうか?解析的に求めるのではなく,市販のプログラム(Igor,Origin,Excelなど)を用いてよいので,近似的な面積を簡単に出す方法を探しています. x座標が一致したデータ点を持つ2つの波形であれば,各点で計算すればExcelでも簡単にできます.x座標が一致しないとお手上げです.2つの波形を1つのグラフにプロットして印刷し,共通部分を切り抜いて重さを測ることならできるのですが,もっといいやり方がきっとあるはずだと思うのです.

  • ExcelでGaussian fittingをしたいのですが、どうすれば良いですか?

    A1・・・A1001にx軸の値が B1・・・B1001にy軸の値が入っているとします。 このデータをグラフ化したのちに、ガウシアン関数y=a+b*exp(-(x-c)^2/d^2)に対してフィッティングを行い、それぞれの定数を算出及び、その算出されたグラフを上に乗せるということをしたいのですが、 Excel VBAを使ってどのようにすれば良いのでしょうか? また、ピークが1本ではなく2本ある場合Multipeak Gaussian fittingというものでそれぞれのピークに対してフィッティングすることもできるそうなのですが、できればその方法についても教えて頂けないでしょうか? 自分でひな形くらい作って質問したいところですが、全くどうやって作れば良いのか検討もつかないのでどなたかよろしくお願い致します。

  • フーリエ解析

    エクセルでフーリエ解析を行って、周波数-パワースペクトルグラフを作りたいのですが、パワースペクトルの計算方法がいまいちよくわかりません。 フーリエ解析すると、複素数で結果が出ますが、このあとが・・・ どなたか教えていただけませんか??

  • 銀河の年齢について

    銀河の年齢について、HR図での測定法をよく耳にします。 ですが、HR図のグラフの折れ曲がりを用いる方法は個々の星の明るさやスペクトルを観測しなければならないと思います。 もし、測定対象の銀河がとても遠方で個々の星を分離して観測できない場合、どのようにして年齢を測定するのでしょうか。 よろしくお願いします。

  • 画像をFFTした際のスペクトル分布について

    現在、森北出版から出版されている「画像処理とパターン認識入門 基礎からVC#/VC++.NETによるプロジェクト作成まで」という本の8章を参考にテクスチャーマッチングに用いるスペクトル分布を求めようとしています。 この本のソースコードをダウンロードし、スペクトル分布を計算してグラフ化すると本に掲載されている通りになります。 私は現在FFTを行うためにMIST(Media Integration Standard Toolkit)というライブラリを利用させていただいています。 このライブラリを用いてFFTを行い、パワースペクトルを画像化すると、本のソースを用いて作成したパワースペクトルの画像と見た目は一致します。 しかし、スペクトル分布はまったく違ったものになります。 本に書かれているしているスペクトル分布は2種類あり、本から引用すると「動径方向分布」と「角度方向分布」です。以降「」内は本からの引用です。 「動径方向分布」は、「中心からr=√k^2+l^2の距離に存在する環状領域内のパワースペクトルの和」のことです。 本ではこのグラフがでこぼこしているのに対して、私が作成したプログラムでは右肩上がりのグラフや右下下がりのグラフになってしまいます。 「角度方向分布」は、「水平軸から角度θの線形領域内のパワースペクトルの和」のことです。 本のグラフではピークが出ているの対して、私が作成したプログラムで出力した値を用いたグラフではピークがでません。 グラフ化にはエクセルを使用しています。 スペクトル分布の計算部分は基本的に本のソースを使用し、ライブラリによって違いが出る点を修正して使用しております。 FFTを行うアルゴリズムは異なると思うのですが、スペクトル分布がアルゴリズムによって異なることはあるのでしょうか? また、これらの違いの原因にはどのようなことが考えられるでしょうか? 何か気づかれた点などありましたら、よろしくお願い致します。

  • FFT後の振幅値

    振幅値が1で5Hzのsin波をFFTにかけたところ、実数部と虚数部それぞれ出力されました。 横軸を周波数軸、縦軸を実数部としてグラフ化したところ、5Hzのところに鋭いピークがみられるのですが、スペクトルの値が元のsin波の振幅値1にならず、とても大きな値になります。 これは計算が間違っているのでしょうか?

このQ&Aのポイント
  • iPadから印刷しようとしても、メモリーがいっぱいですと表示されて印刷できません。中止ボタンを押してもその画面から進みません。
  • iPadから印刷しようとするとメモリー不足のエラーが表示されて、印刷ができません。中止ボタンを押しても画面が進まない問題が発生しています。
  • MFC-L5755DWでiPadから印刷しようとした際に、メモリーがいっぱいですと表示され印刷が中止できません。中止ボタンを押しても画面が進まない状態です。
回答を見る

専門家に質問してみよう