私は犬の足の下の圧力を測定する獣医クリニックを支援しています。データ分析にPythonを使用していますが、足を(解剖学的)サブ領域に分割しようとして立ち往生しています。
作成しました各足の2Dアレイ。これは、時間の経過とともに足によってロードされた各センサーの最大値で構成されます。これは、Excelを使用して「検出」したい領域を描画した、1つの足の例です。これらは、センサーの周囲に極大値を持つ2 x 2のボックスであり、合計が最大になります。
そこで、実験を試みて、単に探してみることにしました。各列と行の最大値(足の形状のために一方向を見ることができません)。これは、別々のつま先の位置をかなりうまく「検出」しているようですが、隣接するセンサーもマークします。
では、Pythonにこれらのどれを伝えるのが最善の方法でしょうか。最大値は私が望むものですか?
注:2x2の正方形は、別々のつま先である必要があるため、オーバーラップできません!
また、2x2を使用しました便宜上、より高度なソリューションを歓迎しますが、私は単なる人間の動きの科学者であり、実際のプログラマーでも数学者でもないので、「シンプル」にしてください。
ここに np.loadtxt
結果
そこで、@ jexteeのソリューションを試しました(以下の結果を参照)。ご覧のとおり、前足では非常に効果的ですが、後足ではあまり効果がありません。
より具体的には、4番目のつま先である小さなピークを認識できません。これは明らかに、ループがどこにあるかを考慮せずに、ループが最小値に向かって上から下に見えるという事実に固有のものです。
@jexteeのアルゴリズムを微調整して、4番目のつま先も見つけられるようにする方法を知っている人はいますか?
他の試行をまだ処理していないため、他のサンプルを提供できません。ただし、以前に提供したデータは各足の平均でした。このファイルは、プレートに接触した順に9本の足の最大データを含む配列です。
この画像は、足がプレート全体にどのように空間的に広がっているかを示しています。< / p>
更新:
新しいアップデート:
ヘルプの後、
ここに」うまくいかない例:爪がつま先として認識され、「かかと」が非常に広いため、2回認識されます!
足が大きすぎるため、重なりのない2x2サイズを使用すると、一部のつま先が2回検出されます。逆の場合、小型犬では、5番目のつま先を見つけることができないことがよくあります。これは、2x2の領域が大きすぎることが原因であると思われます。
だから、明らかに私はそれを変更する必要があります。私自身の推測では、 Neighborhood
のサイズを、小型犬の場合は小さく、大型犬の場合は大きいサイズに変更しました。しかし、 generate_binary_structure
では、配列のサイズを変更できません。
したがって、他の誰かがつま先を見つけるためのより良い提案を持っていることを望んでいます。足のサイズに合わせた面積スケール?