中点に基づいて曲線の位置合わせを自動化しますか?センサーから収集した幾何学的形状データを整列させるスクリプトを作成する最適な方法を見つけようとしています。測定している部品は「下側が整列」しており、固定の Z 高さから始まる 250 個の等間隔のポイントを取得します。問題は、部品がすべてまったく同じ高さではないことです。目標は、最終用途で部品を固定するのに役立つフランジと比較して、上部近くの特徴の違いを理解することです。
良い点は、フランジの側面の測定値が得られ、その下の部品の寸法は常に大幅に小さくなるため、フランジの端と下の寸法の中間点を取得できることです。これが、現在私が手動でデータを位置合わせしている方法です。つまり、2 つの寸法の中間点 Y 値に最も近い X を見つけます (もちろん、固定具の種類が異なると、2 つの寸法の絶対値と相対値は異なります)。
この位置合わせを行う方法について何かご意見はありますか? 最終的な約 50 個のデータ ポイントの最大値と最小値を見つけることができ、平均はほとんどの場合正しいことがわかっています...ただし、後方にインデックスを付けて一致する X 値を見つけ、それを新しい「ゼロ」として割り当てる列を設定する方法はありますか?
ありがとう!
(残念ながら実際のデータは公開できません)
データのブレンドとクリーンアップ再:中点に基づいて曲線の整列を自動化する?データの機密性について理解しています。しかし、あなたが言及した固定測定位置に関連して、典型的な部品がどのように分類されるかの概略図を共有できるでしょうか?2次元の視野で剛体を想像します(部分ごとに縮尺と形状が多少変化します)が、間違っている可能性があります。
また、実際に測定されている量は何ですか?
再:中点に基づいて曲線の整列を自動化する?JMP Proを使用していますか?JMP ProにはFunctional Data Explorerが含まれています。あなたのデータ(曲線)は関数と見なされ、そのように分析されます。FDEには、位置合わせなどのデータ処理機能が含まれています。動的なタイムワーピング機能は、あなたの場合に非常にうまく機能するかもしれません。(時間は多くの場合関数のドメインであり、したがって名前ですが、時間である必要はありません。)
再:中点に基づいて曲線の整列を自動化する?返信いただきありがとうございます-私はJMP Pro 15.1を使用しており、FDEを調べていましたが、「何に合わせるか」という質問にこだわっていました。
そこで、ポイントを説明する一般的な例を添付します。 この例では、ポイント200の周りに発生する中点で「0」の位置合わせを作成し、4つの曲線をそれぞれスライドさせて、それらがすべてそのポイントを通過するようにします。 この例では、4つのグラフがほぼ揃っていることを知っていますが、常にそうであるとは限りません。 実際のベースは、測定を開始する場所のかなり下に発生します。
再:中点に基づいて曲線の整列を自動化する?これらの曲線を使用して最終的に何をしたいのかわかりませんが、FDEはそれらを使って素晴らしい仕事をしました!

ダイナミックタイムワーピングは、4つの曲線すべてを揃えました。 それらを曲線Aに合わせました。線形Pスプラインモデルはデータによく適合します。

最初の2つの機能主成分は、おそらくこれら4つの曲線の違いを把握するのに十分です。

プロットは、最初のFPCに基づいて、AとBが最も似ており、Dと最も異なっていることを示しています。Cはこのように中立です。A、B、およびDは、2番目のFPCに基づいてCと最も似ており、最も異なっています。

このプロファイラーを使用すると、FPC値を変更して、形状の違いをどのようにキャプチャするかを確認できます。それらの効果は、FPC1からFPC 3へと大きさが減少することに注意してください。
DOEの因子などの補助変数を追加して、因子効果を曲線形状にリンクできます。
再:中点に基づいて曲線の整列を自動化する?サンクスマーク-このアプリケーションのDTWの問題は、「ポイント200」エリアですべての曲線を整列させることですが、そうすることで「ポイント120-150」エリアの重大な違いを取り除きます。 Bスプラインを使用し、位置合わせを行わない場合、物理的に意味のあるものが得られます-単純なオーバーレイでそれを見ることができる重要な領域の違いが強調表示され、E2およびE3はDTWが持っていると思われる小さな違いを取得します滑らかにした。

DTWは、私たちが行っている他のいくつかのアプリケーションには最適ですが、この特定のケースでは、データの主要な機能を削除しているようです。
再:中点に基づいて曲線の整列を自動化しますか?現在、これを直接行う方法はないと思いますが、適切に理解する必要もあります。
私が理解していることを確認するために、あなたはY = 0.5に最も近いX値(たとえばX = 175とX = 225の間のどこか)を見つけようとしていて、その特定のXの値を0に揃えたいとします。?
これは、そのような配置がどのように見えるかです(関数の初期部分を除く)。

これは正しいですか、それとも別の方法で調整しようとしていますか?私たちは常により便利なデータ処理オプションを追加することを目指していますので、これが正しいかどうか、またはどのように変更するかをお知らせください。