Anatomography map API method

pick method

pick methodに対して適切なmap configuration parameterを与えることで、レンダリング画像上の点から視線方向に伸びる直線がパーツと交差する点の情報を得ることができます。

リクエスト

下記構成のURLに適切なconfigurationを設定してhttpリクエスト(GET、POST)を要求します。

http://lifesciencedb.jp/bp3d/API/pick?[configuration]
最も簡単なhttp GETリクエストの方法は、ウェブブラウザのURL欄に貼り付けて表示することです。
pick methodのリクエストに含めることが可能なmap configuration categoryは、CommonWindowCameraObjectRotatePartPickです。

レスポンス

下記形式のJSONデータが返されます。

{
 Pin:[
  {
   PinX:nnn,
   PinY:nnn,
   PinZ:nnn,
   PinArrowVectorX:nnn,
   PinArrowVectorY:nnn,
   PinArrowVectorZ:nnn,
   PinUpVectorX:nnn,
   PinUpVectorY:nnn,
   PinUpVectorZ:nnn,
   PinPartID:"xxx",
   PinCoordinateSystemName:"xxx"
  },
  ・・・
  {
   同上形式のPin情報
  }
 ]
}

サンプル

下記のURLで表示される画像の中央(サイズ未指定時は500px×500pxのサイズなので、X:250、Y:250が中央)をピックした時に打たれるピンを取得してみます。

上記URLのメソッドをimage→pickに変更し、Pick configuration parameterを追記します。
このURLをブラウザで開くと、以下の結果が得られます。
{"Pin":[{"PinUpVectorX":0,"PinY":-187.186650483703,"PinArrowVectorY":2.39985769855975,"PinCoordinateSystemName":"bp3d","PinArrowVectorX":0.615114125832434,"PinUpVectorY":0,"PinUpVectorZ":1,"PinZ":1098.38500976562,"PinX":38.2862014770508,"PinPartID":"FJ2564","PinArrowVectorZ":-1.04680111086407},{"PinUpVectorX":0,"PinY":-92.1760958203464,"PinArrowVectorY":-1.60586249637424,"PinCoordinateSystemName":"bp3d","PinArrowVectorX":1.88065874758048,"PinUpVectorY":0,"PinUpVectorZ":1,"PinZ":1098.38500976562,"PinX":38.2862014770508,"PinPartID":"FJ2564","PinArrowVectorZ":1.05726214569948}]}
Pick configuration parameterの"MaximumNumberOfPicks"を指定しなかったため、手前と裏側の2ヶ所がピックされました。


画像中央に対応する三次元空間上の座標が取得できているか確認するため、得られたPin configuration parameterを追記したanimationメソッドのURLを構築します。