Anatomography Web API サンプルコード - Perl - オートカメラはじめに全身像を前後左右から描画します。 サンプルコード出力先ファイルは適宜変更して下さい。 #!/usr/bin/env perl use strict; use LWP::UserAgent; # リクエスト先URL my $serverURL = "http://lifesciencedb.jp/bp3d/API/"; # 描画リクエスト用のJSON文字列を作成(正面) my $jsonf = <<JSON; { "Common": { "Version":"4.0", "TreeName":"partof" }, "Camera": { "CameraMode":"front" }, "Part":[ { "PartName":"Human body" } ] } JSON # 出力(正面) open OUT, ">autocamera_f.png"; binmode(OUT); print OUT &getImage($jsonf); # 作成したJSONを利用して描画リクエスト close OUT; # 描画リクエスト用のJSON文字列を作成(左面) my $jsonl = <<JSON; { "Common": { "Version":"4.0", "TreeName":"partof" }, "Camera": { "CameraMode":"left" }, "Part":[ { "PartName":"Human body" } ] } JSON # 出力(左面) open OUT, ">autocamera_l.png"; binmode(OUT); print OUT &getImage($jsonl); # 作成したJSONを利用して描画リクエスト close OUT; # 描画リクエスト用のJSON文字列を作成(背面) my $jsonb = <<JSON; { "Common": { "Version":"4.0", "TreeName":"partof" }, "Camera": { "CameraMode":"back" }, "Part":[ { "PartName":"Human body" } ] } JSON # 出力(背面) open OUT, ">autocamera_b.png"; binmode(OUT); print OUT &getImage($jsonb); # 作成したJSONを利用して描画リクエスト close OUT; # 描画リクエスト用のJSON文字列を作成(右面) my $jsonr = <<JSON; { "Common": { "Version":"4.0", "TreeName":"partof" }, "Camera": { "CameraMode":"right" }, "Part":[ { "PartName":"Human body" } ] } JSON # 出力(右面) open OUT, ">autocamera_r.png"; binmode(OUT); print OUT &getImage($jsonr); # 作成したJSONを利用して描画リクエスト close OUT; # 生成したJSONをパラメータとしてimageに対してGETリクエストするサブルーチン sub getImage () { my $json = shift; my $userAgent = LWP::UserAgent->new; my $request = HTTP::Request->new('GET', $serverURL."image?".$json); my $response = $userAgent->request($request); return $response->content; } 出力画像(正面) 出力画像(左面) 出力画像(背面) 出力画像(右面) 以下、各ステップに関する説明です。 カメラの設定
# 描画リクエスト用のJSON文字列を作成(正面) my $jsonf = <<JSON; { "Common": { "Version":"4.0", "TreeName":"partof" }, "Camera": { "CameraMode":"front" }, "Part":[ { "PartName":"Human body" } ] } JSON 同様に"left"にすることで、左側(人体にとっての左側ではなくBodyParts3dオブジェクトの左側)から描画した画像を得られます。 同様に"back"にすることで、背面から描画した画像を得られます。 同様に"right"にすることで、右側(人体にとっての右側ではなくBodyParts3dオブジェクトの右側)から描画した画像を得られます。 |