PolygonData loading to BodyPartsDB

BodyParts3D開発 =Data from DBCLS to Bits= ISAMU MUTO Bits.c.c. and K.Okubo 2012-05-21

BodyPartsの部品の造形は三橋と大久保によって定められた手続きに従い３Ｄデータ編集機FreeFormによって統合データベースセンターの専任のモデラー藤枝香らによって行われている. データは三橋らによってチェクされポリゴンデータとしてプロジェクト開始当初からソフトウエア開発を担当しているBits.c.cに送られて管理表示システムに登録される. 三橋はプロジェクト開始時の試験環境構築を行い初期のサービス立ち上げを行った. 特にFreeFormでのここまで多数の部品製作は多くのバグにより困難を極めたが三橋とfreeForm社の連携によるバグフィックスとカスタム化が藤枝の安定な造形環境を作り出しここまでの造形継続を可能にした. Bits.c.cの田村卓郎は本計画の為に造形部分のFreeFormの選定や後述するanatomographyのimplementationにも多くの個性あるアイデアを提供しまたレンダリングサーバ構築にあたっては自社に多くの３Ｄエンジニアを集め集中的な開発を行った. 以下は2011年に送られたデータの記録であり、今後の課題抽出のための材料である.

.objファイルとは: 多面体の頂点の座標と法線の方向を書いたテキストファイル v -16.181385 -47.275391 1182.740112 v -16.066792 -47.128063 1182.817627 v -16.057169 -45.869732 1182.814697 ..... .... ... f 1269 1246 1272 f 1248 1279 1246 f 1272 1246 1279
 * 1) OBJ file output from FreeForm Modeling Plus
 * 2) 1315 vertices
 * 3) 2626 triangles
 * 4) 1 pieces
 * 1) end of OBJ file output from FreeForm Modeling Plus

Transferred data examples

=DB投入前のファイルへの操作　--> 今年はここの作り変え　(メニューはやめる）=
 * 受け取ったファイルとメモからデータベースに投入するまでのステップを書いてください
 * 定型作業のほかにたまに起こる例外や間違いに対する対処も挿話的に囲み記事で書いてください.

変換プログラムについて objファイル名変換等前処理プログラム群
このプログラムはファイル名の書き換えから表示用のメニューの作成や +三橋作　(三橋変換プログラム）　プロジェクトプログラム
 * 1) 入力は複数のオブジェファイル群（オブジェファイルを複数含むディレクトリ(群）を指定）　　動作にあたっての条件をいくつも与えるやりかた
 * 2) ①FMAＩＤをファイル名とするobjファイルが数だけできる　　②　①のFMA_IDをルートまでたどるパス（メンバ間の親子関係？）を含む

ミラーリングプログラム
 * 1) ディレクトリ以下のファイルをすべてミラーイメージを作ってあげる　r ファイル　から　l ファイルをつくる
 * 2) ミラーを作ってタス場合　は　別に指定

動作要件

 * Windows・・・下記に説明があるものは64bit版のもの（WinXP Pro 64bit、Win7 Ultimate 64bitで動作確認. eclipse、VTKライブラリとも64ビット版なので、32ビット版の場合には別途それぞれ入手して下さい）
 * Java(JRE)・・・JREはWebDAVにあるもので良い（その他バージョンでの動作保証は無し）
 * eclipse・・・eclipseはWebDAVにあるもので良い（その他バージョンでの動作保証は無し）

ソースコードおよび関連ファイル群
GitHubないし、WebDAVからダウンロード
 * WebDAVのファイル群
 * bp3d.zip：ソースコード（eclipseのプロジェクト）
 * data.zip：dataディレクトリ（使い方は後述、GitHubにはおいてありません. 2012年5月現在、次期バージョンのパーツデータとして受け取っているものを含んでいます. ）
 * local.zip：外部プログラム（eclipse、jre、VTKライブラリなど、GitHubにはおいてありません）

環境構築
下記のようにディレクトリ、ファイル群を構成します. （プロパティファイル、eclipseの設定変更次第で、異なるディレクトリ構成でも動くかもしれません） C:\bp3d\bp3d←bp3d.zipを解凍したもの C:\bp3d\data←data.zipを解凍したもの C:\bp3d\local←local.zipを解凍したもの
 * ディレクトリ構成例


 * 初期セットアップ
 * C:\bp3d\local\eclipseをダブルクリックして起動
 * workspaceはC:\bp3d\workspaceなど、適当に設定して問題無し
 * eclipseのWelcome画面では"Workbench"を選択
 * Fileメニュー→New→Java Projectを選択
 * LocationにC:\bp3d\bp3dを入力して"Finish"ボタンで閉じます.
 * 画面左側にbp3dプロジェクトが追加されるので、/bp3d/src/jp.dbcls.bp3d.make/MakeBp3d0.javaを右クリック→Run As→Java Applicationを選択
 * "Errors in Workspace"のダイアログでは"Proceed"を選択して実行. データが無いのでおそらく途中でエラーになる. （ここではRunできるかの確認なので良い）
 * 続いて/bp3d/src/jp.dbcls.bp3d.make/MakeBp3d1.javaを右クリック→Run As→Java Applicationを選択
 * VTKライブラリへのパスが通っていない旨のエラーが出た場合下記の設定をする
 * Runメニュー→Run configuration...→MakeBp3d1を選択しEnvironmentalタブを開く
 * New...→Name：PATH、Value：C:\bp3d\local\VTKx64\5.7\bin;C:\bp3d\local\eclipse\jre\jre\bin→ApplyしてRunし、VTKライブラリパスのエラーが出なければOK.
 * 現行の最終データを変換した3.9.1204171540.zipをc:\bp3d\data\3.9.1204171540として展開すると、過去のデータの変換パラメータを含めて、環境が整います.

変換操作の基本手順(三橋システム　2012に新方式に移行）
1. 変換用フォルダの作成

バージョン毎にdataディレクトリ下にデータバージョン名のフォルダを作成（既存の別バージョンのフォルダをコピーして不要ファイルを削除するのが簡便）し、objファイル群を配置します.

c --- bp3d --- data -+- 3.9.1205011000 -+- conf・・・変換時のパラメータファイル群のディレクトリ | （この階層のフォルダを |   +- TA・・・TAとFMAの対応付けファイル等（Conventional Treeの作成、日本語名称抽出に利用？） | バージョン毎に作成）  |   +- kaorif.xls・・・変換時の各種設定を記載するファイル |                 |   +- ojbEdit.conf・・・変換対象となるobjファイル群のパスを記載（FFMP\objフォルダを利用する場合） |                 +- export・・・結果が出力されるディレクトリ（実行前は空で良い） |                 |   +-(3.9.120511000)・・・FMA IDの一覧と英名、和名、かな他がTSV形式ファイル群が出力される |                 |   +-(obj_3.9.120511000)・・・変換後objファイル群とConventional Tree定義ファイルが出力される |                 +- FFMP・・・変換対象のobjファイル群を入れておくディレクトリ |                 |   +-(append)・・・複数のobjファイル群から構成されるobjファイルを作成するための一時ディレクトリ |                 |   +- obj（「システム別クレイファイルフォルダ」を利用する場合、無くても良い） |                 |   |   +- [変換対象フォルダ1] |                 |   |   |   +- [変換対象objファイル群1] |                 |   |   +- [変換対象フォルダ2] |                 |   |   |   +- [変換対象objファイル群2] |                 |   |   |   ・・・                     |                  |   |   +- [変換対象フォルダN] |                 |   |       +- [変換対象objファイル群N] |                 |   +- システム別クレイファイル(「objフォルダ」を利用する場合、無くても良い）                     |                  |       +- ○○系（感覚器系、筋肉系など）                     |                  |           +- [変換対象フォルダa]                     |                  |           |   +- [変換対象objファイル群a]                     |                  |           +- [変換対象フォルダb]                     |                  |           |   +- [変換対象objファイル群b]                     |                  |           |   ・・・                     |                  |           +- [変換対象フォルダz]                     |                  |               +- [変換対象objファイル群z]                     |                  +- logs・・・変換時にログが出力される（実行前は空で良い）                     |                  +- releaseNote・・・変換時にリリースノート用ファイルが出力される（実行前は空で良い）                     +- 3.9.1203031200（他のバージョン用のフォルダ） ※書きのフォルダ・ファイル群は変換プログラム実行時に作成されるので明示的な作成は不要
 * C:\bp3d\data下の構成例
 * データバージョンはMajor.Minor.Revisionの形式. 開発中データは慣例としてRevisionはyymmddhhmmの形式としている.

2. 設定ファイルの修正

bp3d.dataversion=x.x.yymmddhhmmを変換対象のバージョンに合わせます.
 * bp3d.properies（bp3d/src/jp.dbcls.bp3d/bp3d.properties）ファイルの修正


 * conf/objEdit.confの書換え（システム別クレイファイルフォルダを利用しない場合）

該当データバージョン下のconf/objEdit.confをテキストエディタで開き、変換対象のobjファイル群が含まれるフォルダへのフルパスを記載します.

C:\bp3d\data\3.1.1106171200\FFMP\obj\110419_bone\0.01 C:\bp3d\data\3.1.1106171200\FFMP\obj\110419_teeth-jinjiva\0.01 C:\bp3d\data\3.1.1106171200\FFMP\obj\110506-eyes\0.01 C:\bp3d\data\3.1.1107111900\FFMP\obj\110603-musculature of thorax,abdomen_forBits\0.01 C:\bp3d\data\3.1.1107151000\FFMP\obj\110603musculature of back_bits\0.01 C:\bp3d\data\3.1.1107151000\FFMP\obj\110603-musculature of lower limb_bits\0.01 C:\bp3d\data\3.1.1107151000\FFMP\obj\110603-musculature of upper limb_bits\0.01 C:\bp3d\data\3.1.1108081635\FFMP\obj\110804_head_neck\0.01 C:\bp3d\data\3.1.1108081635\FFMP\obj\110804musles of head,neck\0.01 C:\bp3d\data\3.1.1108081635\FFMP\obj\110804_clavicle\0.01 C:\bp3d\data\3.1.1108081635\FFMP\obj\110805_thyroid_cricoid_hyoid\0.01 C:\bp3d\data\3.1.1111301238\FFMP\obj\111027_brainArtery_SideOnly\0.01 C:\bp3d\data\3.1.1111291428\FFMP\obj\110425-brain\0.01 C:\bp3d\data\3.9.1204171540\FFMP\obj\120406_liver_divided01\0.01 C:\bp3d\data\3.9.1204171540\FFMP\obj\1204017_liver_divided01\0.01
 * objEdit.confの記載例

3. 変換用パラメータの記載

変換のためのパラメータをconf/kaorif.xlsファイル中に記載します. kaorif.xlsの詳細は参照.

データセットにもよりますが、主に「kaorifPartシート（1パーツを分割している場合の親子関係定義）」「correctionシート（スペルミス、大文字・小文字変換などpreferred nameと一致させるための定義）」のパラメータを設定します. 実質的には変換プログラムはFMAのpreferred nameを利用するため、各objファイルがどのFMA IDに対応するかを調査する必要があります. 4. プログラムの実行

eclipse上で、「MakeBp3d0」をRunします. ConsoleにFATAL ERRORが出力されずに、プログラムの実行が完了したら、続いて「MakeBp3d1」をRunします.

プログラムが途中でエラーで終了してしまう場合は、出力されたエラーメッセージを元に、パラメータ等を見直します.

5. 出力結果の確認

exportフォルダ下のobj_[バージョン番号]フォルダの下に、変換後のobjファイル群、および、Conventional Treeの元となるbp3d.treeファイルが出力されていることを確認します.

入力ファイルに対応するobjファイルが出力されていることを確認することが望ましい. （存在+目視での形状が合致）

変換プログラムのローカルルール

 * ファイル名前半（clay名）と変換するファイル群が含まれているフォルダ名（clay名）を一致させることで、ファイル名前半部は無視される. （一致させないと変換されません）
 * 空白の有無、大文字、小文字を含めて完全一致
 * 省略形は別途定義済みのルールに従って、非省略形に変換される
 * preferred nameとのマッチングは全て小文字で実施
 * ファイル名末尾（拡張子.objは除く）の空白（1文字以上）+数字（0文字以上）+空白（0文字以上）で構成される部分（正規表現だと[ ]+[0-9]*[ ]*$）は削除される.
 * e.g. "090331-heart 6 "→"090331-heart"

データの変換
このデータは右側のみのデータとして作成されていたため、左側にミラーリングをする必要がありました.

0.ミラーリングの実行
変換プログラムに含まれていたミラーリングプログラム（/bp3d/src/jp.dbcls.bp3d/obj/MirrorOBJ.java）では、ファイルを1つずつミラーリングする機能のみだった. （test関数およびmirrorBrachiumOfRightSupColliculus関数）
 * ミラーリング関数の追加

今回受け取ったファイルは、1フォルダに複数のobjファイルが含まれており、全てをミラーリングするだけでなく、ミラーリングしたobjファイルととミラーリングする前のobjファイルを合成したobjファイルを生成する必要があった.

そのため、フォルダ指定でミラーリングおよび、左右のobjをマージする関数を追加した. （rightToLeftおよびleftToRight関数）

また、ミラーリング処理に不具合（法線ベクトルの入れ替え）があったため、mirror関数に、法線ベクトルの入れ替えロジックを追加した.

ミラーリング対象のフォルダは、暫定的にソースコードにハードコーディングしてあるので、MirrorOBJ.javaのmain関数のmirror.rightToLeftの引数を、受領ファイル群が含まれているディレクトリに書き換えます. （"C:/bp3d/mirror/111027_brainArtery_rightSideOnly"など）
 * ミラーリング処理の実行

eclipse上で、MirrorOBJ.javaを右クリックし、"Run As"→"Java Application"を選択します. （"Error in Workspace"ダイアログが出たら"Proceed"で続行）

入力として指定したディレクトリと同じディレクトリに、"_L"が付いたディレクトリが作成され、鏡像objファイル群が出力されます. 出力ファイル名は入力ファイル名中の"left"という文字列を"right"という文字列に置き換えたものになります.

続いて、"_BOTH"が付いたディレクトリが作成され、変換元objと鏡像objがマージされたobjファイル群が出力されます. 出力ファイル名は、入力ファイル名中の"left"という文字列を削除したものになります.

ファイル名の一覧は下記. objファイル群はWebDAVにアップしてあります. 111027_brainArtery_SideOnly_ant. cerebral artery.obj 111027_brainArtery_SideOnly_ant. communicating artery.obj 111027_brainArtery_SideOnly_ant. inferior cerebellar atery.obj 111027_brainArtery_SideOnly_ant.spinal artery.obj 111027_brainArtery_SideOnly_Anterior choroidal artery.obj 111027_brainArtery_SideOnly_Anterior temporal artery.obj 111027_brainArtery_SideOnly_Anterior temporal branch of MCA.obj 111027_brainArtery_SideOnly_Anterior temporal branches of lateal occipital artery.obj 111027_brainArtery_SideOnly_Anterolateral central arteries; Lenticulostriate arteries1; lateral brances.obj 111027_brainArtery_SideOnly_Anterolateral central arteries; Lenticulostriate arteries; medial brances.obj 111027_brainArtery_SideOnly_Artery of central sulcus1.obj 111027_brainArtery_SideOnly_Artery of central sulcus2.obj 111027_brainArtery_SideOnly_Artery of postcentral sulcus1.obj 111027_brainArtery_SideOnly_Artery of postcentral sulcus2.obj 111027_brainArtery_SideOnly_Artery of precentral sulcus.obj 111027_brainArtery_SideOnly_Artery of precentral sulcus2.obj 111027_brainArtery_SideOnly_Artery of precentral sulcus3.obj 111027_brainArtery_SideOnly_artery of precuneus_FMAnai.obj 111027_brainArtery_SideOnly_Branch to angular gyrus; Branch of middle cerebral artery to angular gyrus.obj 111027_brainArtery_SideOnly_Branches of anterior choroidal artery to internal capsule.obj 111027_brainArtery_SideOnly_Branches of anterior choroidal artery to thalamic nuclei.obj 111027_brainArtery_SideOnly_callosomarginal artery.obj 111027_brainArtery_SideOnly_cingulatethalamic branches of post.cerebral a.obj 111027_brainArtery_SideOnly_Dorsal branch to corpus callosum;.obj 111027_brainArtery_SideOnly_Hypothalamic branch of posterior communicating artery.obj 111027_brainArtery_SideOnly_Intermediate temporal branches of lateral occipital artery.obj 111027_brainArtery_SideOnly_Intermediomedial frontal branch of callosomarginal artery.obj 111027_brainArtery_SideOnly_internal carotid artery.obj 111027_brainArtery_SideOnly_lateral branch of the superior cerebellar artery;SCA.obj 111027_brainArtery_SideOnly_Lateral branches of pontine arteries.obj 111027_brainArtery_SideOnly_Lateral frontobasal artery.obj 111027_brainArtery_SideOnly_Lateral frontobasal artery2.obj 111027_brainArtery_SideOnly_Lateral occipital artery; P3.obj 111027_brainArtery_SideOnly_medial branch of the superior cerebellar artery;SCA.obj 111027_brainArtery_SideOnly_Medial branches of pontine arteries.obj 111027_brainArtery_SideOnly_Medial frontobasal artery.obj 111027_brainArtery_SideOnly_Medial occipital artery; P4.obj 111027_brainArtery_SideOnly_middle cerebral artery.obj 111027_brainArtery_SideOnly_Middle temporal artery.obj 111027_brainArtery_SideOnly_middle temporal branch of middle cerebral artery.obj 111027_brainArtery_SideOnly_Ophthalmic artery.obj 111027_brainArtery_SideOnly_Paracentral branches of callosomarginal artery.obj 111027_brainArtery_SideOnly_Paracentral branches of callosomarginal artery2.obj 111027_brainArtery_SideOnly_Paracentral branches of callosomarginal artery3.obj 111027_brainArtery_SideOnly_pericallosal artery.obj 111027_brainArtery_SideOnly_PICA1.obj 111027_brainArtery_SideOnly_PICA10.obj 111027_brainArtery_SideOnly_PICA11.obj 111027_brainArtery_SideOnly_PICA12.obj 111027_brainArtery_SideOnly_PICA2.obj 111027_brainArtery_SideOnly_PICA3.obj 111027_brainArtery_SideOnly_PICA4.obj 111027_brainArtery_SideOnly_PICA5.obj 111027_brainArtery_SideOnly_PICA6.obj 111027_brainArtery_SideOnly_PICA7.obj 111027_brainArtery_SideOnly_PICA8.obj 111027_brainArtery_SideOnly_PICA9.obj 111027_brainArtery_SideOnly_Polar temporal artery.obj 111027_brainArtery_SideOnly_post. communicating artery.obj 111027_brainArtery_SideOnly_Postcommunicating part of posterior cerebral artery; P2 .obj 111027_brainArtery_SideOnly_Posterior inferior cerebellar artery; PICA.obj 111027_brainArtery_SideOnly_Posterior parietal artery.obj 111027_brainArtery_SideOnly_posterior temporal artery.obj 111027_brainArtery_SideOnly_Posterior temporal branch of middle cerebral artery.obj 111027_brainArtery_SideOnly_Posterior temporal branches of lateral occipital artery.obj 111027_brainArtery_SideOnly_posterior thalamic branches of post. cerebral a.obj 111027_brainArtery_SideOnly_Posteromedial central arteries from posterior cerebral a; Paramedian arteries.obj 111027_brainArtery_SideOnly_Posteromedial frontal branch of callosomarginal artery.obj 111027_brainArtery_SideOnly_Precommunicating part of posterior cerebral artery; P1 .obj 111027_brainArtery_SideOnly_Prefrontal artery.obj 111027_brainArtery_SideOnly_r. vertebral artery.obj 111027_brainArtery_SideOnly_superior cerebellar artery .obj 111027_brainArtery_SideOnly_superior thalamic branch of post.cerebral a.obj 111027_brainArtery_SideOnly_Superior vermian branch.obj 111027_brainArtery_SideOnly_Temporo-occipital branch of middle cerebral artery.obj 入力データにある"111027_brainArtery_rightSideOnly_basilar artery.obj"は機械的な正中線でのミラーリングを実施すると、形状がおかしくなるとのことで、後日別途置き換えています（ミラーリング不要なオブジェクトとして、FreeForm上でモデリング済みのobjファイルを受領）. 混乱を避けるため、このフォルダからは、111027_brainArtery_SideOnly_basilar artery.objは削除してあります.
 * ミラーリング処理結果ファイル

1.変換用フォルダの作成

 * C:\bp3d\data\3.1.1111081151というディレクトリを、前回バージョン（例3.1.1108081635）ディレクトリをコピーして作成（バージョンはデータ受領メールの年月日時刻を採用）
 * 不要ファイル群の削除（コピー元の旧バージョンのデータを削除）
 * exportディレクトリ内データを全て削除
 * logsディレクトリ内データを全て削除
 * releaseNoteディレクトリ内のデータを全て削除
 * FFMPディレクトリ内はobjディレクトリのみ残してその他削除
 * objディレクトリ下には、「clay名/ポリゴン割合（0.01）/各objファイル群」という並び.
 * ここでclay名は、各objファイル群名称の先頭にある固定文字列（この場合111027_brainArtery_SideOnly）と一致させる必要がある.
 * 受領したobjファイル群をコピーして追加
 * 具体的にはC:\bp3d\data\3.1.1111081151\FFMP\obj\111027_brainArtery_SideOnly\0.01\というフォルダを作成
 * 上記フォルダ内にミラーリング処理済みの111027_brainArtery_SideOnly_ant. cerebral artery.obj～111027_brainArtery_SideOnly_Temporo-occipital branch of middle cerebral arteryをコピー

2.設定ファイルの修正

 * 追加データ群のディレクトリパスを\conf\objEdit.confに追加記載する
 * 追加行：	C:\bp3d\data\3.1.1111081151\FFMP\obj\111027_brainArtery_SideOnly\0.01
 * bp3d.propertiesファイルのバージョン（bp3d.dataversion=）を書き換え
 * bp3d.dataversion=3.1.1111081151に変更

3.変換用パラメータの記載（kaorif.xlsファイル）
本件データはTA名称をベースに作成されていたため、TAとFMA IDとの対応付けを記載してあるExcelファイルを受領.
 * 変換パラメータ作成までのやりとり1（武藤→藤枝様）

このExcelシートを元に、脳血管モデリング_大久保先生_mod.xlsxを作成し、下記内容にて確認の問い合わせ.

データと一緒に頂いたモデリングに関するExcelシートに 若干のメモを追記しました. I列にファイル名が記載されていないものは、 対応するobjファイルが無いものと理解しております.

また、複数ファイルで構成されているパーツ、FMAIDが無いものなど、 objファイルとの対応付けが自明ではなかったものに関しては、 J列にメモを付記してございます. 念のため、ご確認頂けますと幸いです. 本Excelブック"脳動脈モデリングリスト"シートに記載の項目は下記のようになっています. （A～F列は藤枝様記載、H列以降は武藤記載） ※69行目のBasilar arteryはobjファイルがあるものの、Excelシート上に記載が無かったので追記してあります. 脳血管モデリング_大久保先生_mod_111130.xlsxとともに、下記の返答、および、（Basilar artery）のデータを受け取り. posterior tempral arteryという名はFMAに存在しなかったので、 poｓterior temporal artery とあるOBJファイルの名前を middle tempral artery2としていただきレンダリングしていただけますか. middle tempral artery middle tempral artery2はセットでよいです. 重複行等があることが判明し、データを整理して脳血管モデリング_大久保先生_mod_111130_02.xlsxを作成. 下記の問い合わせ. objファイルが無いと言っていたパーツですが、 リスト上で重複が複数あったため、割り当てができずに、 対応ファイルが無いものと勘違いしておりました. （添付ファイルの赤い行） 同じTA IDの行同士で「The Human of Central Nervous System」の列に 記載されているコメントが異なるものがあったので、 削除はしておりません.
 * 変換パラメータ作成までのやりとり2（藤枝様→武藤）
 * 変換パラメータ作成までのやりとり3（武藤→藤枝様）

47行目のA12.2.07.009と51行目のA12.2.07.008ですが、 （添付ファイルの黄色い行） objファイルは合わせて1つになっていたりしますでしょうか？ （Branches of anterior choroidal artery to internal capsule）

23行目のA12.2.07.091（青い行）ですが、やはり対応するファイルが 分かりません. Freeform上ではどのような名前になっているでしょうか？ 脳血管モデリング_大久保先生_mod_111130_03.xlsxと併せて、上記に対する返答. > リスト上で重複が複数あったため、割り当てができずに、 > 対応ファイルが無いものと勘違いしておりました. > （添付ファイルの赤い行） > 同じTA IDの行同士で「The Human of Central Nervous System」の列に > 記載されているコメントが異なるものがあったので、 > 削除はしておりません.
 * 変換パラメータ作成までのやりとり4（藤枝様→武藤）

→削除しました. ..

> 47行目のA12.2.07.009と51行目のA12.2.07.008ですが、 > （添付ファイルの黄色い行） > objファイルは合わせて1つになっていたりしますでしょうか？ > （Branches of anterior choroidal artery to internal capsule）

→Branches to internal capsule, genu　とします. OBJファイルBranches of anterior choroidal artery to internal capsuleを Branches to internal capsule, genuにしました.

> 23行目のA12.2.07.091（青い行）ですが、やはり対応するファイルが > 分かりません. Freeform上ではどのような名前になっているでしょうか？

→FreeForm上にもファイルありません 無視して良いです. 1列目は全てTRUEとし、2列目、3列目のみ記載
 * 上記やり取りの後、最終的なパラメータとして、C:\bp3d\data\3.1.1111081151\conf\kaorif.xlsファイルを設定
 * correctionシート
 * kaorifPartシート

4.変換プログラムの実行

 * eclipse上で"Runボタン"のドロップダウンリストから"MakeBp3d0"を選択.
 * "Errors in Workspace"のダイアログが表示されるが、「Proceed」ボタンで実行.
 * ログがConsoleに出力される（Fatal Errorなければ無視）
 * Errorが無い場合、同じく"Runボタン"から"MakeBp3d1"を選択.
 * 同様に"Errors in Workspace"のダイアログが表示されるが、「Proceed」ボタンで実行.
 * ログがConsoleに出力されて、Fatal Errorが出ずに終了すれば変換完了.

5.出力結果の確認

 * 変換結果は、C:\bp3d\data\3.1.1111081151\export\obj_3.1.1111081151に出力されます.
 * 出力結果は、主に下記の2点に注視して確認
 * 予定していたFMAID名のobjファイルの存在があること
 * 受け渡し時に複数のobjファイルから構成されているものは、見た目上全てのパーツがマージされていること（全てのファイルを目視確認できればなお良い）
 * 本データの変換結果はほぼ同時期に受け取った脳データと並行して変換作業をしていたため、別途WebDAVにアップします.

1.変換用フォルダの作成

 * C:\bp3d\data\3.1.1111301238というディレクトリを、前回バージョン（例3.1.1111081151）ディレクトリをコピーして作成（バージョンはデータ受領メールの年月日時刻等を採用）
 * 不要ファイル群の削除（コピー元の旧バージョンのデータを削除）
 * exportディレクトリ内データを全て削除
 * logsディレクトリ内データを全て削除
 * releaseNoteディレクトリ内のデータを全て削除
 * FFMPディレクトリ内はobjディレクトリのみ残してその他削除
 * objディレクトリ下には、「clay名/ポリゴン割合（0.01）/各objファイル群」という並び.
 * ここでclay名は、各objファイル群名称の先頭にある固定文字列（この場合110425-brain）と一致させる必要がある.
 * 受領したobjファイル群をコピーして追加
 * 具体的にはC:\bp3d\data\3.1.1111291428\FFMP\obj\110425-brain\0.01\というフォルダを作成
 * 上記フォルダ内に受領した110425-brain_3rd ventricle.obj～110425-brain_tentorium cerebelli.objをコピー

2.設定ファイルの修正

 * 追加データ群のディレクトリパスを\conf\objEdit.confに追加記載する
 * 追加行：C:\bp3d\data\3.1.1111301238\FFMP\obj\110425-brain\0.01
 * bp3d.propertiesファイルのバージョン（bp3d.dataversion=）を書き換え
 * bp3d.dataversion=3.1.1111301238に変更

3.変換用パラメータの記載（kaorif.xlsファイル）
FreeForm上の名称と、FMA/TA名の対応付けを記載してあるExcelファイルを受領ずみ.

このExcelシートを元に、脳_gyrus名対応表_mod.xlsxを作成し対応付けを実施.


 * 脳_gyrus名対応表_mod.xlsxの記載項目
 * "Sheet1"シート
 * "110425-brain_objファイルリスト"シート


 * 上記xlsxシートを元に、下記の設定をC:\bp3d\data\3.1.1111301238\conf\kaorif.xlsファイルに反映
 * correctionシート


 * kaorifPartシート

4.変換プログラムの実行

 * eclipse上で"Runボタン"のドロップダウンリストから"MakeBp3d0"を選択.
 * "Errors in Workspace"のダイアログが表示されるが、「Proceed」ボタンで実行.
 * ログがConsoleに出力される（Fatal Errorなければ無視）
 * Errorが無い場合、同じく"Runボタン"から"MakeBp3d1"を選択.
 * 同様に"Errors in Workspace"のダイアログが表示されるが、「Proceed」ボタンで実行.
 * ログがConsoleに出力されて、Fatal Errorが出ずに終了すれば変換完了.

5.出力結果の確認

 * 変換結果は、C:\bp3d\data\3.1.1111301238\export\obj_3.1.1111301238に出力されます.
 * 出力結果は、主に下記の2点に注視して確認
 * 予定していたFMAID名のobjファイルの存在があること
 * 受け渡し時に複数のobjファイルから構成されているものは、見た目上全てのパーツがマージされていること（全てのファイルを目視確認できればなお良い）
 * 本データの変換結果（C:\bp3d\data\3.1.1111301238フォルダをzip圧縮）はWebDAVにアップしてあります.

1.変換用フォルダの作成

 * C:\bp3d\data\3.1.1202221419というディレクトリを、前回バージョン（例3.1.1111301238）ディレクトリをコピーして作成（バージョンはデータ受領メールの年月日時刻を採用）
 * 不要ファイル群の削除（コピー元の旧バージョンのデータを削除）
 * exportディレクトリ内データを全て削除
 * logsディレクトリ内データを全て削除
 * releaseNoteディレクトリ内のデータを全て削除
 * FFMPディレクトリ内はobjディレクトリのみ残してその他削除
 * objディレクトリ下には、「clay名/ポリゴン割合（0.01）/各objファイル群」という並び.
 * ここでclay名は、各objファイル群名称の先頭にある固定文字列（この場合111021_dividedLiver）と一致させる必要がある.
 * 受領したobjファイル群をコピーして追加
 * 具体的にはC:\bp3d\data\3.1.1202221419\FFMP\obj\111021_dividedLiver\0.01\というフォルダを作成
 * 上記フォルダ内に111021_dividedLiver_I.obj～111021_dividedLiver_VIII.objをコピー
 * 本データは名称がI、II、III、IV、V、VI、VII、VIIIだけになってしまうので、各々ローマ数字の前に"liver_"を入れる形でリネーム（特例. 通常はそのまま利用する）.

2.設定ファイルの修正

 * 追加データ群のディレクトリパスを\conf\objEdit.confに追加記載する
 * 追加行：C:\bp3d\data\3.1.1202221419\FFMP\obj\111021_dividedLiver\0.01
 * bp3d.propertiesファイルのバージョン（bp3d.dataversion=）を書き換え
 * bp3d.dataversion=3.1.1202221429に変更

3.変換用パラメータの記載（kaorif.xlsファイル）
※4、5列目はコメント等を適宜記載. パラメータの設定（例えば"liver_I"を"caudate lobe of liver"（FMA:13365のpreferred name "Caudate lobe of liver"の全て小文字表記）とする）は、 ファイル名の"liver_I"という文字列を頼りに、C:\bp3d\data\dictionary\FMAOBO\fma2_obo.oboから類推しながら検索して対応付け、preferred nameの小文字表記を記載する. 大／小文字の違い、スペルミス程度の変更では済まない場合、対応が正しいか、念のため藤枝様に確認. このabbrevに対する修正が必要になった原因は以前（三橋様が操作をしていた頃）は顕在化していなかった模様. 本件データ変換時には、同時に変換対象となる他のデータ群においても、veinをvと省略しているobjファイルが無いため、この定義で実行して問題ない（はず）. もし、veinをvと省略しているobjファイルが存在する場合には、vを省略形としているファイルが全てveinとなるようにcorrectionシートへの記載が必要になる. ファイル名とFMA preferred nameをマッチングさせる仕組み上、データ変換の観点からは省略形はあまり利用しない方が良い. （今後も正式名と省略形の衝突が無いことが保障されていない）
 * C:\bp3d\data\3.1.1202221429\conf\kaorif.xlsファイルの下記シートを変更
 * correctionシート
 * 下記の記載を追記
 * kaorifPartシート
 * このデータでは全てのobjファイルに対してFMA IDが結びつくので、追加設定無し
 * abbrevシート
 * このデータセットにおいて、heptatovenous segment vの"v"が、"vein"の省略形として認識されてしまうため、正しく変換されない. そのため、veinの省略形をvとする定義を削除.
 * 4610行目のV→VVVに変更
 * 4611行目のv→vvv.に変更

4.変換プログラムの実行
[Warning]@TABits.readXLs:FMA64827:Scalenus minimus; Scalenus minimus muscle is not found in fmaobo2 [Warning]@TABits.readXLs:FMA13345:Levator glandulae thyroideae; Levator glandulae thyroideae muscle is not found in fmaobo2 [Warning]@TABits.readXLs:FMA22770:Spinalis cervicis muscle is not found in fmaobo2 [Warning]@TABits.readXLs:FMA9717:Sternalis; Sternalis muscle is not found in fmaobo2 [Warning]@TABits.readXLs:FMA46685:Ceratocricoid; Ceratocricoid muscle is not found in fmaobo2 [Warning]@TABits.readXLs:FMA19781:Valve of navicular fossa is not found in fmaobo2 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA24984,child=A01.2.08.017,parent=A01.2.08.016 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA18097,child=A04.5.02.009,parent=A04.5.02.007 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA77882,child=A04.5.03.015,parent=A04.5.03.012 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA77882,child=A04.5.03.015,parent=A04.5.03.012 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA77882,child=A04.5.03.015,parent=A04.5.03.012 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA77882,child=A04.5.03.015,parent=A04.5.03.012 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA77882,child=A04.5.03.015,parent=A04.5.03.012 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA77882,child=A04.5.03.015,parent=A04.5.03.012 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA19090,child=A04.5.04.005,parent=A04.5.04.003 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA19090,child=A04.5.04.005,parent=A04.5.04.003 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA19090,child=A04.5.04.005,parent=A04.5.04.003 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA19090,child=A04.5.04.005,parent=A04.5.04.003 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA62996,child=A05.4.01.016,parent=A05.4.01.015 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA14581,child=A05.5.01.017,parent=A05.5.01.014 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA13365,child=A05.8.01.044,parent=A05.8.01.043 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA13365,child=A05.8.01.044,parent=A05.8.01.043 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA74268,child=A08.1.01.029,parent=A08.1.01.020 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA74628,child=A11.1.00.008,parent=A11.1.00.006 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA74628,child=A11.1.00.008,parent=A11.1.00.006 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA22755,child=A12.2.09.033,parent=A12.2.09.032 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA74594,child=A13.1.00.001,parent=A13 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA74594,child=A13.1.00.001,parent=A13 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA72615,child=A14.1.04.014,parent=A14.1.04.013 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA72615,child=A14.1.04.014,parent=A14.1.04.013 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA72522,child=A14.1.07.204,parent=A14.1.07.202 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA72615,child=A14.1.07.414,parent=A14.1.07.413 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA74628,child=A11.1.00.008,parent=A11.1.00.006 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA74628,child=A11.1.00.008,parent=A11.1.00.006 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA62319,child=A14.1.08.903,parent=A14.1.08.902 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA83739,child=A14.1.09.109,parent=A14.1.09.109 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA61919,child=A14.1.09.212,parent=A14.1.09.211 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA61887,child=A14.1.09.418,parent=A14.1.09.417 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA61840,child=A14.1.09.514,parent=A14.1.09.511 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA77559,child=A14.2.03.055,parent=A14.2.03.054 Correction: duplicate correction=artery of precuneus_FMAnai Correction: duplicate correction=superior_parietal_lobule_precuneus_R Correction: duplicate correction=superior_parietal_lobule_precuneus_L Correction: duplicate correction=orbital_gyri_straight_gyrus_R Correction: duplicate correction=orbital_gyri_straight_gyrus_L Correction: duplicate correction=l. hemispheric_white_matter Correction: duplicate correction=r. hemispheric_white_matter addTAEntries:NumOfEntries=6967 addKaorifEntries:NumOfEntries=6971 addOBJAsPrimitive:NumOfEntries=7727 Number Of BodyParts=1195 Bp3d completed: elapsed time=32sec Not FMA preferred nameという警告が出た場合、名称がpreferred nameに変換できていないobjファイルがあるので、kaorif.xlsに記載したcorrection定義を再確認する. addIdAndNormal:100/1194 finished. addIdAndNormal:200/1194 finished. addIdAndNormal:300/1194 finished. addIdAndNormal:400/1194 finished. addIdAndNormal:500/1194 finished. addIdAndNormal:600/1194 finished. addIdAndNormal:700/1194 finished. addIdAndNormal:800/1194 finished. addIdAndNormal:900/1194 finished. addIdAndNormal:1000/1194 finished. addIdAndNormal:1100/1194 finished. addInAndNormal finished at 57sec calcVolume finished at 57sec calcLastUpdate finished at 57sec writeBp3dFile finished at 58sec
 * eclipse上で"Runボタン"のドロップダウンリストから"MakeBp3d0"を選択.
 * "Errors in Workspace"のダイアログが表示されるが、「Proceed」ボタンで実行. （エラーは変換プログラムが開発途中の状態で受領したため存在. 以前と同じ変換ルールであれば、変換操作上の問題は無し. ）
 * 下記のようなログがConsoleに出力される（Warningは出力されていても、Fatal Errorではないので無視）
 * Errorが無い場合、同じく"Runボタン"から"MakeBp3d1"を選択.
 * 同様に"Errors in Workspace"のダイアログが表示されるが、「Proceed」ボタンで実行.
 * 下記のようなログがConsoleに出力される（通常ここではWarningも表示されない）

5.出力結果の確認
これらの確認事項は、明示的な確認ルールが存在した訳では無く、過去にいくつかのバージョンを変換し、指摘された経験則に基づいて設定しました. 従いまして、変換作業を引き継いだ後、しばらくは、上記のチェックをせずに、指摘を受けたものを後日修正するという方式を取っていました.
 * 変換結果は、C:\bp3d\data\3.1.1202221429\export\obj_3.1.1202221429に出力されます.
 * 出力結果は、主に下記の2点に注視して確認
 * 予定していたFMAID名のobjファイルの存在があること
 * この場合、FMA13365.obj、FMA15739.obj、FMA15741.obj、FMA15742.obj、FMA15743.obj、FMA15744.obj、FMA15745.obj、FMA15746.obj（各々liver_I～VIIIに該当)
 * 受け渡し時に複数のobjファイルから構成されているものは、見た目上全てのパーツがマージされていること（全てのファイルを目視確認できればなお良い）
 * このデータセットでは確認する必要無し
 * ここで出力された、obj_3.1.1202221429フォルダ以下（上記8つのobjファイルの他に、既に受領済みのobjを変換したobjファイル群も含まれる）をレンダリングサーバにコピーして利用します. （後述）
 * 本データの変換結果（C:\bp3d\data\3.1.1202221429フォルダをzip圧縮）はWebDAVにアップしてあります.
 * データ変換は受け取ったデータ単位ではなく、全データを都度変換するため（Conventional Treeの元となるファイルを変換と同時に作成しているためと思われる）、本件データ以前に受領したデータの変換結果も含まれます. （当然変換プログラムの入力にも含まれます）
 * 上記zipファイルだけで実行する場合には、3.1.1202221429\conf\objEdit.confに記載されているデータのパスを全て、C:\bp3d\data\3.1.1202221429に変換する必要があります.

本件データを受領した際、そのままでは変換できなかったことから、単一の肝臓を8つに分割したものだと勘違いし、 全てFMA:7197の子供（kaorif.xlsのkaorifPartシートに全て親子関係を記載）要素として、1つのファイルFMA7197.objにマージする設定としていました. （Hepatovenous segment II～VIIIという用語の存在を知らなかったため） その結果、

liverを1つのobjとして変換し確認用サーバにアップ（BITS作業） ↓ 8つのobjで構成されている旨の指摘（藤枝様→BITS） ↓ liver_I・・・caudate lobe of liver liver_II・・・hepatovenous segment ii liver_III・・・hepatovenous segment iii liver_IV・・・hepatovenous segment iv liver_V・・・hepatovenous segment v liver_VI・・・hepatovenous segment vi liver_VII・・・hepatovenous segment vii liver_VIII・・・hepatovenous segment viii であると推定し、対応関係が正しいか確認のメールを出す（BITS→藤枝様） ↓ 上記対応が正しいことを返信（藤枝様→BITS） ↓ 誤った設定（FMA7197.obj一つにしてしまう設定）を破棄し、設定変更、再変換、確認用サーバに再アップ（BITS作業）

という手順を踏んだ末に、本項記載の設定となっています

1.変換用フォルダの作成

 * C:\bp3d\data\3.1.1203021902というディレクトリを、前回バージョン（例3.1.1202221419）ディレクトリをコピーして作成（バージョンはデータ受領メールの年月日時刻を採用）
 * 不要ファイル群の削除（コピー元の旧バージョンのデータを削除）
 * exportディレクトリ内データを全て削除
 * logsディレクトリ内データを全て削除
 * releaseNoteディレクトリ内のデータを全て削除
 * FFMPディレクトリ内はobjディレクトリのみ残してその他削除
 * objディレクトリ下には、「clay名/ポリゴン割合（0.01）/各objファイル群」という並び.
 * ここでclay名は、各objファイル群名称の先頭にある固定文字列（この場合120301_liver_divided04）と一致させる必要がある.
 * 受領したobjファイル群をコピーして追加
 * 具体的にはC:\bp3d\data\3.1.1202221419\FFMP\obj\120301_liver_divided04\0.01\というフォルダを作成
 * 上記フォルダ内に120301_liver_divided04_Caudate lobe of liver_segment I.obj～120301_liver_divided04_inf. vena cava.objをコピー

2.設定ファイルの修正

 * 追加データ群のディレクトリパスを\conf\objEdit.confに追加記載する
 * 追加行：C:\bp3d\data\3.1.1203021902\FFMP\obj\120301_liver_divided04\0.01
 * 削除行：C:\bp3d\data\3.1.1202221429\FFMP\obj\111021_dividedLiver\0.01・・・前回データの置き換えのため
 * bp3d.propertiesファイルのバージョン（bp3d.dataversion=）を書き換え
 * bp3d.dataversion=3.1.1203021902に変更

3.変換用パラメータの記載（kaorif.xlsファイル）
"Hepatic portal vein"を"hepatic portal vein"ではなく"hepatic portal vein1"としているのは、 "hepatic portal vein2"とマージした結果、"hepatic portal vein"にする必要があるため. "Left hepatic vein"を"left hepatic vein"としているのは、プログラム仕様上、全て小文字表記でないと変換ができないため. 三橋様が変換を実施されていた際には、FreeForm上でのファイル名（オブジェクト名？）をあらかじめ定義（全て小文字のFMA preferred name）して、モデリング作業をされていたそうです.
 * C:\bp3d\data\3.1.1203021902\conf\kaorif.xlsファイルの下記シートを変更
 * correctionシート
 * 下記の記載を追記
 * kaorifPartシート
 * 下記の記載を追加

4.変換プログラムの実行
[Warning]@TABits.readXLs:FMA64827:Scalenus minimus; Scalenus minimus muscle is not found in fmaobo2 [Warning]@TABits.readXLs:FMA13345:Levator glandulae thyroideae; Levator glandulae thyroideae muscle is not found in fmaobo2 [Warning]@TABits.readXLs:FMA22770:Spinalis cervicis muscle is not found in fmaobo2 [Warning]@TABits.readXLs:FMA9717:Sternalis; Sternalis muscle is not found in fmaobo2 [Warning]@TABits.readXLs:FMA46685:Ceratocricoid; Ceratocricoid muscle is not found in fmaobo2 [Warning]@TABits.readXLs:FMA19781:Valve of navicular fossa is not found in fmaobo2 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA24984,child=A01.2.08.017,parent=A01.2.08.016 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA18097,child=A04.5.02.009,parent=A04.5.02.007 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA77882,child=A04.5.03.015,parent=A04.5.03.012 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA77882,child=A04.5.03.015,parent=A04.5.03.012 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA77882,child=A04.5.03.015,parent=A04.5.03.012 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA77882,child=A04.5.03.015,parent=A04.5.03.012 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA77882,child=A04.5.03.015,parent=A04.5.03.012 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA77882,child=A04.5.03.015,parent=A04.5.03.012 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA19090,child=A04.5.04.005,parent=A04.5.04.003 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA19090,child=A04.5.04.005,parent=A04.5.04.003 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA19090,child=A04.5.04.005,parent=A04.5.04.003 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA19090,child=A04.5.04.005,parent=A04.5.04.003 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA62996,child=A05.4.01.016,parent=A05.4.01.015 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA14581,child=A05.5.01.017,parent=A05.5.01.014 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA13365,child=A05.8.01.044,parent=A05.8.01.043 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA13365,child=A05.8.01.044,parent=A05.8.01.043 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA74268,child=A08.1.01.029,parent=A08.1.01.020 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA74628,child=A11.1.00.008,parent=A11.1.00.006 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA74628,child=A11.1.00.008,parent=A11.1.00.006 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA22755,child=A12.2.09.033,parent=A12.2.09.032 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA74594,child=A13.1.00.001,parent=A13 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA74594,child=A13.1.00.001,parent=A13 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA72615,child=A14.1.04.014,parent=A14.1.04.013 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA72615,child=A14.1.04.014,parent=A14.1.04.013 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA72522,child=A14.1.07.204,parent=A14.1.07.202 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA72615,child=A14.1.07.414,parent=A14.1.07.413 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA74628,child=A11.1.00.008,parent=A11.1.00.006 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA74628,child=A11.1.00.008,parent=A11.1.00.006 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA62319,child=A14.1.08.903,parent=A14.1.08.902 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA83739,child=A14.1.09.109,parent=A14.1.09.109 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA61919,child=A14.1.09.212,parent=A14.1.09.211 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA61887,child=A14.1.09.418,parent=A14.1.09.417 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA61840,child=A14.1.09.514,parent=A14.1.09.511 [Warning]@TA:Ignore an indent because the FMAID of a child and a parent is identical:FMA77559,child=A14.2.03.055,parent=A14.2.03.054 Correction: duplicate correction=artery of precuneus_FMAnai Correction: duplicate correction=superior_parietal_lobule_precuneus_R Correction: duplicate correction=superior_parietal_lobule_precuneus_L Correction: duplicate correction=orbital_gyri_straight_gyrus_R Correction: duplicate correction=orbital_gyri_straight_gyrus_L Correction: duplicate correction=l. hemispheric_white_matter Correction: duplicate correction=r. hemispheric_white_matter Correction: duplicate correction=r. mammilary body Correction: duplicate correction=L.thalamus addTAEntries:NumOfEntries=6967 addKaorifEntries:NumOfEntries=6971 addOBJAsPrimitive:NumOfEntries=7729 Number Of BodyParts=1207 Bp3d completed: elapsed time=37sec Not FMA preferred nameという警告が出た場合、名称がpreferred nameに変換できていないobjファイルがあるので、kaorif.xlsに記載したcorrection定義を再確認する. addIdAndNormal:100/1207 finished. addIdAndNormal:200/1207 finished. addIdAndNormal:300/1207 finished. addIdAndNormal:400/1207 finished. addIdAndNormal:500/1207 finished. addIdAndNormal:600/1207 finished. addIdAndNormal:700/1207 finished. addIdAndNormal:800/1207 finished. addIdAndNormal:900/1207 finished. addIdAndNormal:1000/1207 finished. addIdAndNormal:1100/1207 finished. addIdAndNormal:1200/1207 finished. addInAndNormal finished at 85sec calcVolume finished at 85sec calcLastUpdate finished at 85sec writeBp3dFile finished at 85sec
 * eclipse上で"Runボタン"のドロップダウンリストから"MakeBp3d0"を選択.
 * "Errors in Workspace"のダイアログが表示されるが、「Proceed」ボタンで実行. （エラーは変換プログラムが開発途中の状態で受領したため存在. 以前と同じ変換ルールであれば、変換操作上の問題は無し. ）
 * 下記のようなログがConsoleに出力される（Warningは出力されていても、Fatal Errorではないので無視）
 * Errorが無い場合、同じく"Runボタン"から"MakeBp3d1"を選択.
 * 同様に"Errors in Workspace"のダイアログが表示されるが、「Proceed」ボタンで実行.
 * 下記のようなログがConsoleに出力される（通常ここではWarningも表示されない）

5.出力結果の確認
目視による形状の確認は、objファイル形式を読み込めるツールであれば、何でも構いませんが、個人的にはMetasequoiaを利用して確認をしています. 変換後ファイルの形状確認用ウィンドウと、マージ・変換前ファイルの形状確認用ウィンドウを開き、マージ・変換前ファイルを1つずつ「オブジェクトの挿入」として開いていくことで、挿入された部分が変換後ファイルにも存在することを確認するのが比較的効率的かつ容易.
 * 変換結果は、C:\bp3d\data\3.1.1203021902\export\obj_3.1.1203021902に出力されます.
 * 出力結果は、主に下記の2点に注視して確認
 * 予定していたFMAID名のobjファイルの存在があること
 * 受け渡し時に複数のobjファイルから構成されているものは、見た目上全てのパーツがマージされていること（全てのファイルを目視確認できればなお良い）
 * 本件では、"Hepatic portal vein.obj"と"Hepatic portal vein2.obj"がマージされた"FMA50735.obj"の形状を確認する
 * 本データの変換結果（C:\bp3d\data\3.1.1203021902フォルダをzip圧縮）はWebDAVにアップしてあります.

1.変換用フォルダの作成

 * C:\bp3d\data\3.9.1204061621というディレクトリを、前回バージョン（例3.1.1203021902）ディレクトリをコピーして作成（バージョンはデータ受領メールの年月日時刻を採用）
 * 不要ファイル群の削除（コピー元の旧バージョンのデータを削除）
 * exportディレクトリ内データを全て削除
 * logsディレクトリ内データを全て削除
 * releaseNoteディレクトリ内のデータを全て削除
 * FFMPディレクトリ内はobjディレクトリのみ残してその他削除
 * objディレクトリ下には、「clay名/ポリゴン割合（0.01）/各objファイル群」という並び.
 * ここでclay名は、各objファイル群名称の先頭にある固定文字列（この場合120406_liver_divided01）と一致させる必要がある.
 * 受領したobjファイル群をコピーして追加
 * 具体的にはC:\bp3d\data\3.9.1204061621\FFMP\obj\120406_liver_divided01\0.01\というフォルダを作成
 * 上記フォルダ内に120406_liver_divided01_Caudate lobe of liver_segment I.obj～120406_liver_divided01_superior vena cava.objをコピー

2.設定ファイルの修正

 * 追加データ群のディレクトリパスを\conf\objEdit.confに追加記載する
 * 追加行：C:\bp3d\data\3.9.1204061621\FFMP\obj\120406_liver_divided01\0.01
 * 削除行：C:\bp3d\data\3.1.1203021902\FFMP\obj\120301_liver_divided04\0.01（置き換えのため前回のフォルダは変換対象外となる）
 * bp3d.propertiesファイルのバージョン（bp3d.dataversion=）を書き換え
 * bp3d.dataversion=3.9.1204061621に変更

3.変換用パラメータの記載（kaorif.xlsファイル）
変換の履歴が残るように、入力ファイル名に明らかな間違いがあっても、敢えてcorrectionシートに記載することで対応しています. （ファイル自体のリネームでは履歴が残しにくい） このシートは変換プログラムが利用する訳ではなく、後で人が見て分かれば良いので、並び順は必ずしもこの通りである必要はありません.
 * 本件データでは、FMAへの対応付け、名称変更、データマージのパターンが多かったため、受領ファイルと各種パラメータ設定の一覧表を作成（WebDAV）
 * 上記Excelシートの記載項目


 * C:\bp3d\data\3.9.1204061621\conf\kaorif.xlsファイルの下記シートを変更
 * correctionシート（1列目は全てTRUEなので、2列目と3列目のみ記載）


 * kaorifPartシート（1列目は全てTRUE、4列目は全てappend. 2列目と3列目のみ記載）

4.変換プログラムの実行

 * eclipse上で"Runボタン"のドロップダウンリストから"MakeBp3d0"を選択.
 * "Errors in Workspace"のダイアログが表示されるが、「Proceed」ボタンで実行.
 * ログがConsoleに出力される（Fatal Errorなければ無視）
 * Errorが無い場合、同じく"Runボタン"から"MakeBp3d1"を選択.
 * 同様に"Errors in Workspace"のダイアログが表示されるが、「Proceed」ボタンで実行.
 * ログがConsoleに出力されて、Fatal Errorが出ずに終了すれば変換完了.

5.出力結果の確認

 * 変換結果は、C:\bp3d\data\3.9.1204061621\export\obj_3.9.1204061621に出力されます.
 * 出力結果は、主に下記の2点に注視して確認
 * 予定していたFMAID名のobjファイルの存在があること
 * 受け渡し時に複数のobjファイルから構成されているものは、見た目上全てのパーツがマージされていること（全てのファイルを目視確認できればなお良い）
 * 本データの変換結果（C:\bp3d\data\3.9.1204061621フォルダをzip圧縮）はWebDAVにアップしてあります.

1.変換用フォルダの作成
120406_liver_divided01_common hepatic artery.obj 120406_liver_divided01_hepatic artery proper.obj 120406_liver_divided01_left hepatic artery1.obj 120406_liver_divided01_left hepatic artery2.obj 120406_liver_divided01_left hepatic artery3.obj 120406_liver_divided01_left hepatic artery4.obj 120406_liver_divided01_left hepatic artery6.obj 120406_liver_divided01_left hepatic artery7.obj 120406_liver_divided01_left hepatic artery8.obj 120406_liver_divided01_rigjt hepatic artery1.obj 120406_liver_divided01_rigjt hepatic artery2.obj 120406_liver_divided01_rigjt hepatic artery3.obj 120406_liver_divided01_rigjt hepatic artery4.obj 120406_liver_divided01_rigjt hepatic artery5.obj 120406_liver_divided01_rigjt hepatic artery6.obj 120406_liver_divided01_rigjt hepatic artery7.obj 120406_liver_divided01_rigjt hepatic artery8.obj 120406_liver_divided01_rigjt hepatic artery9.obj 120406_liver_divided01_rigjt hepatic artery10.obj
 * C:\bp3d\data\3.9.1204171540というディレクトリを、前回バージョン（例3.9.1204061621）ディレクトリをコピーして作成（バージョンはデータ受領メールの年月日時刻を採用）
 * 不要ファイル群の削除（コピー元の旧バージョンのデータを削除）
 * exportディレクトリ内データを全て削除
 * logsディレクトリ内データを全て削除
 * releaseNoteディレクトリ内のデータを全て削除
 * FFMPディレクトリ内はobjディレクトリのみ残してその他削除
 * objディレクトリ下には、「clay名/ポリゴン割合（0.01）/各objファイル群」という並び.
 * ここでclay名は、各objファイル群名称の先頭にある固定文字列（この場合1204017_liver_divided01）と一致させる必要がある.
 * 受領したobjファイル群をコピーして追加
 * 具体的にはC:\bp3d\data\3.9.1204171540\FFMP\obj\1204017_liver_divided01\0.01\というフォルダを作成
 * 上記フォルダ内に1204017_liver_divided01_common hepatic artery.obj～1204017_liver_divided01_rigjt hepatic artery_10.objをコピー
 * 差し替えになるので受領済みobjファイルを一部削除
 * C:\bp3d\data\3.9.1204171540\FFMP\obj\120406_liver_divided01フォルダから、下記のファイルを削除

2.設定ファイルの修正

 * 追加データ群のディレクトリパスを\conf\objEdit.confに追加記載する
 * 追加行：	C:\bp3d\data\3.9.1204171540\FFMP\obj\120406_liver_divided01\0.01（一部ファイル置き換えのため、今回のフォルダ配置時に一部ファイルを削る. 上記に記載済み）
 * 追加行：C:\bp3d\data\3.9.1204171540\FFMP\obj\1204017_liver_divided01\0.01
 * 削除行：C:\bp3d\data\3.9.1204061621\FFMP\obj\120406_liver_divided01\0.01（一部ファイル置き換えのため前回のフォルダは変換対象外となる）
 * bp3d.propertiesファイルのバージョン（bp3d.dataversion=）を書き換え
 * bp3d.dataversion=3.9.1204171540に変更

3.変換用パラメータの記載（kaorif.xlsファイル）
本件で受領しているデータは2012-04-06で受領したデータの一部をアップデートするもの. 対応表でグレーになっているobjファイル群が、本件受領分により差し替えられる.
 * 本件データでは、FMAへの対応付け、名称変更、データマージのパターンが多かったため、受領ファイルと各種パラメータ設定の一覧表を作成（WebDAVの"120406＋1204017_liver_divided01"シート参照）
 * 上記Excelシートの記載項目は2012-04-06データの対応表と同じため割愛.


 * C:\bp3d\data\3.9.1204061621\conf\kaorif.xlsファイルの下記シートを変更
 * correctionシート（1列目は全てTRUEなので、2列目と3列目のみ記載）


 * kaorifPartシート（1列目は全てTRUE、4列目は全てappend. 2列目と3列目のみ記載）

4.変換プログラムの実行

 * eclipse上で"Runボタン"のドロップダウンリストから"MakeBp3d0"を選択.
 * "Errors in Workspace"のダイアログが表示されるが、「Proceed」ボタンで実行.
 * ログがConsoleに出力される（Fatal Errorなければ無視）
 * Errorが無い場合、同じく"Runボタン"から"MakeBp3d1"を選択.
 * 同様に"Errors in Workspace"のダイアログが表示されるが、「Proceed」ボタンで実行.
 * ログがConsoleに出力されて、Fatal Errorが出ずに終了すれば変換完了.

5.出力結果の確認

 * 変換結果は、C:\bp3d\data\3.9.12041715401\export\obj_3.9.1204171540に出力されます.
 * 出力結果は、主に下記の2点に注視して確認
 * 予定していたFMAID名のobjファイルの存在があること
 * 受け渡し時に複数のobjファイルから構成されているものは、見た目上全てのパーツがマージされていること（全てのファイルを目視確認できればなお良い）
 * 本データの変換結果（C:\bp3d\data\3.9.1204171540フォルダをzip圧縮）はWebDAVにアップしてあります.

kaorif.xlsファイルの各シートの説明
kaoriシート FMA(正確には、fma2_obo.obo)に対応するエントリがないパーツ(以下、bp3dパーツという）で、bp3dの独立したパーツとしてＩＤを付番したいものを記載する. 　　ＩＤはBPから始まる連番をつけている. なるだけBPから始まるエントリを作らないようにするのが望ましい.    FMAから始まるものも(例：FMA22770）ありますが、これはfma_obo2になく、FMA Expolorer(http://fme.biostr.washington.edu:8089/FME/index.html)では存在したエントリである. 独立したＩＤを付番する必要のないパーツは記載の必要がなく、kaorifPartシートのみに記載すればよい.
 * 本ファイルの説明は、三橋様から頂いたものを転記したものになっています.

kaorifPartシート FMAのis-a/part-of,　TAのインデント情報に記載されていない、パーツ同士の包含関係を定義する. FMAに登録されているパーツは少なくも１つは親パーツがあるので、このシートに登録しなくても全身描画時にmissing partsになることはない. FMAに対応するエントリがないobjを包含関係ツリーに登録するためには、少なくとも１レコードは記載が必要である. その場合に、kaorfシートでの当該パーツ記載の有無によって行われる処理が異なる. １．記載がある場合：　記載した関係がツリー上の枝として表現される 2. 記載がない場合：　親パーツの一部となる. すなわち、親パーツを構成する他のパーツとappendされて１つのobjファイルとなる. 親パーツはFMAに含まれるパーツでなくてはならない.

en2jaシート TAに対応するパーツがないＦＭＡパーツの英語名と漢字、かなの対応表. 実際には、ＴＡにある漢字、かなの対応もこのシートに含まれていて、情報が冗長になっている. ＴＡにあるものはＴＡ対応シートからのみ取得するようにするべきでした. かなは、全てこのシートから取得(MakeBp3d0.javaのaddEntry). 漢字はＴＡにあるものはそこから、そうでないものはこのシートから取得(MakeBp3d0.javaのaddEntry)

ignoreシート エクスポートされたobjファイル群には含まれるが、bp3dに取り込まないobjファイルを指定します. 除外するには、piece名とclay名の両方が一致する必要があります. データ作成後、このシートをモデラーにフィードバックして、clayファイルの段階でのぞかれているのが望ましい.

correctionシート objファイル名のスペルミスなどを訂正する正誤表です. ignoreと異なり、cly列のクレイファイル名との一致は必要ありません. Piece名のみで判断します. データ作成後、このシートをモデラーにフィードバックして、clayファイルの段階で修正されているのが望ましい. ※上記説明（三橋様作成）によるとisUsedがTRUEの列のみ有効と書かれていますが、実際には"TRUE"でなくとも（"FALSE"であっても）correction処理に用いられるようです.

abbrevシート ピース(objファイル）名の省略形を定義します. 　　省略形をlong formに変換して処理を進める.

system_clayシート ”FFMP/obj/システム別クレイファイル”フォルダに存在するobjファイルのどれをbp3d読み込むか指定する. 藤枝さんがFFMPのクレイファイルを整理しているフォルダ階層と一致させるつもりで想定していた. つまり、藤枝さんモデリングＰＣのシステム別クレイファイルフォルダをプログラム（MakeSystemClyList.java）でスキャンし、このシートを出力していた. 新しくできたフォルダを検知する運用を過去にしていました. そして、新しくフォルダができていた場合は、new列の値がnewになることで検知し、ｃｌａｙファイルを取得し、FFMPでobjファイルを出力. ここに記載できないものは、conf/objEdit.confにobjファイルがあるフォルダのパスを直接指定して読み込ませる. フォルダのパスの最後は、クレイファイル名/coarseness(例：101224-brain/0.01)である必要がある.

=BodyPartsDB1の構造と機能=
 * ここでいうBodyPartsDBとはレンダリングプログラムに呼ばれてポリゴンデータを渡す役目をする部分です.

レンダリング時の動作概要
レンダリング機構概略図
 * レンダリングプログラムは、バージョン毎に起動しています.
 * レンダリングプログラムは起動時にバージョンを指定し、当該バージョンの全objファイル（個々のバージョンが独立であり、差分という概念はありません）と階層構造の情報を読みメモリ上に展開して要求を待っています. （Windows上で動作）
 * レンダリングプログラムは、描画の要求を受けると、階層構造の情報（treeファイルから読込）を用いて、必要なFMA IDを特定、メモリ上に展開されているポリゴンデータを用いて描画し、描画結果を要求元に返します. （objファイルそのものはレンダリングプログラム起動時のみ利用）
 * 描画のリクエストには、描画対象パーツの情報だけでなく、バージョン情報が含まれており、ユーザからの描画要求を受け付けるサーバ（Linux上で動作）が、要求内容を解釈し、該当するバージョンのレンダリングプログラムに要求を受け渡します（実際には複数のWindowsマシンが同じように描画要求を待ち受けているため、ロードバランス＋バージョンによる振り分けを実行しています）.

レンダラ起動時の動作

描画要求時のレンダリング動作

BodyPartsDBにおけるバージョン管理

 * BodyPartsDBでは、バージョン毎にフォルダを作成し、パーツ名→FMAIDにファイル名変換済みのobjファイル群、および階層構造を定義したtreeファイルをフォルダ内に保持します.
 * 例：C:\ag_data\obj_2.0、C:\ag_data\obj_3.0、C:\ag_data\obj_3.9.1204171540などフォルダ下にFMA3784.obj、FMA4720.obj・・・のファイル群、およびtreeファイルが配置されます.
 * レンダリングプログラムは、起動時に指定されるバージョン番号から、どのフォルダのobjファイル群かを認識し、メモリに読み込んでいきます.
 * つまりレンダリングプログラム同士は相互に独立で、かつ、指定されたバージョン以外のデータを読み込むことはありません. そのためBodyPartsDBおよびレンダリングプログラムのレベルでは、バージョン間での比較、変更履歴管理等は行われていません.

BodyPartsDBの構造
BodyPartsDBの構造例 C --- ag --- data --- ag1 -+- obj_2.0 ・・・ バージョン2.0用フォルダ |  +- bp3d.tree ・・・ バージョン2.0のconventional tree用の階層構造データ |  +- fma_isa_bp3d.tree ・・・ バージョン2.0のis_a tree用の階層構造データ |  +- fma_partof_bp3d.tree ・・・ バージョン2.0のpart_of tree用の階層構造データ |  +- FMA3736.obj ・・・ バージョン2.0のFMA:3736に対応するパーツ（ascending aorta）のポリゴンデータ |  +- FMA3768.obj ・・・ バージョン2.0のFMA:3768に対応するパーツ（arch of aorta）のポリゴンデータ |  +- ・・・（バージョンによって数十～1000個程度のFMA ID.objファイル） |  +- FMA274027.obj ・・・ バージョン2.0のFMA:274027に対応するパーツ（choroid plexus of right cerebral hemisphere）のポリゴンデータ |  +- FMA274029.obj ・・・ バージョン2.0のFMA:274029に対応するパーツ（choroid plexus of left cerebral hemisphere）のポリゴンデータ |                          +- obj_3.0 ・・・ バージョン3.0用フォルダ |  +- bp3d.tree ・・・ バージョン3.0のconventional tree用の階層構造データ |  +- fma_isa_bp3d.tree ・・・ バージョン3.0のis_a tree用の階層構造データ |  +- fma_partof_bp3d.tree ・・・ バージョン3.0のpart_of tree用の階層構造データ |  +- FMA3736.obj ・・・ バージョン3.0のFMA:3736に対応するパーツ（ascending aorta）のポリゴンデータ |  +- FMA3768.obj ・・・ バージョン3.0のFMA:3768に対応するパーツ（arch of aorta）のポリゴンデータ |  +- ・・・（バージョンによって数十～1000個程度のFMA ID.objファイル） |  +- FMA274027.obj ・・・ バージョン3.0のFMA:274027に対応するパーツ（choroid plexus of right cerebral hemisphere）のポリゴンデータ |  +- FMA274029.obj ・・・ バージョン3.0のFMA:274029に対応するパーツ（choroid plexus of left cerebral hemisphere）のポリゴンデータ |                          +- ・・・（バージョン個数分、"obj_バージョン番号"フォルダが配置される） |                          +- obj_3.9.x ・・・ バージョン3.9.x用フォルダ +- bp3d.tree ・・・ バージョン3.9.xのconventional tree用の階層構造データ +- fma_isa_bp3d.tree ・・・ バージョン3.9.xのis_a tree用の階層構造データ +- fma_partof_bp3d.tree ・・・ バージョン3.9.xのpart_of tree用の階層構造データ +- FMA3736.obj ・・・ バージョン3.9.xのFMA:3736に対応するパーツ（ascending aorta）のポリゴンデータ +- FMA3768.obj ・・・ バージョン3.9.xのFMA:3768に対応するパーツ（arch of aorta）のポリゴンデータ +- ・・・（バージョンによって数十～1000個程度のFMA ID.objファイル） +- FMA274027.obj ・・・ バージョン3.9.xのFMA:274027に対応するパーツ（choroid plexus of right cerebral hemisphere）のポリゴンデータ +- FMA274029.obj ・・・ バージョン3.9.xのFMA:274029に対応するパーツ（choroid plexus of left cerebral hemisphere）のポリゴンデータ
 * BodyPartsDBはバージョン毎にフォルダを作成し、その中にポリゴンデータ（*.objファイル）と階層構造データ（*.treeファイル）を保持します.

BodyPartsDBに与えられるデータ(入力）

 * BodyPartsDBの各バージョンに必要なファイル
 * objファイル：個々のパーツ（最小単位のみ）のポリゴンデータが記載されているファイル. （複数の要素から合成されるパーツは、描画時に各々描画. 3.9.1204171540の場合3.0.1の場合）
 * treeファイル：パーツ間の関係性を記載したファイル.
 * bp3d.tree：Conventional Treeを利用した描画の際の親子関係を定義したファイル. （変換プログラムにより作成される. 3.9.1204171540の場合）
 * fma_isa_bp3d.tree：FMAのis_aを利用した描画の際の親子関係を定義したファイル. （bp3d.treeとfma3.oboファイルから、is_aの関係が定義できる物のみをbp3d.treeと同じ形式に整形. 3.9.1204171540の場合）
 * fma_partof_bp3d.tree：FMAのpart_ofを利用した描画の際の親子関係を定義したファイル. （bp3d.treeとfma3.oboファイルから、part_ofの関係が定義できる物のみをbp3d.treeと同じ形式に整形. 3.9.1204171540の場合）
 * レンダラー起動用batファイル（Windowsのサービスで、起動時に実行されるように設定しておくと簡便です）
 * java jp.dbcls.ag.servlet.AgRendererServer [待受けポート番号] [obj_バージョン]という形式で記載（java、classpath等が通っている事を前提としています）
 * 例：java jp.dbcls.ag.servlet.AgRendererServer 8081 obj_3.0（バージョン3.0を8081番ポートで待受けるレンダラーが起動. 環境に応じてFirewall設定が必要. ）


 * BodyPartsDBにバージョンを追加する手順
 * 新バージョンで描画対象とする全objファイル群を変換（パーツ名.obj→FMA ID.obj）
 * export/obj_バージョン/bp3d.treeファイルからfma_isa_bp3d.tree、fma_partof_bp3d.treeファイルを作成
 * レンダリングサーバ（Windows）のデータフォルダ（通常C:\ag\data\ag1）に"obj_バージョン"フォルダをコピー
 * 起動用batファイルを作成（ポート番号は利用済み番号と重複しないように設定、バージョンはデータフォルダ名と一致させる）し、レンダラーを起動. （起動用batファイルは通常C:\ag\bin\ag1\AgRenderer以下に配置してあります）


 * 1) 増加するファイル
 * 2) *名称　種別
 * 3) **バージョン毎の"obj_バージョン"フォルダ：該当バージョンのデータを保持するフォルダ
 * 4) **上記フォルダ内のFMA ID.objファイル群：該当バージョンのポリゴンデータ（差分ではなく全て）
 * 5) **上記フォルダ内のtreeファイル群：bp3d.tree、fma_isa_bp3d.tree、fma_partof_bp3d.tree
 * 6) **レンダラーを起動するためのbatファイル：該当バージョンと待受けポート番号を指定してレンダラーを起動するためのbatファイル
 * 7) *投入方法
 * 8) **追加バージョンの"obj_バージョン"フォルダを"C:\ag\data\ag1\"にコピー
 * 9) **batファイル：追加で作成
 * 10) *修正方法　バージョン管理
 * 11) **同一バージョンで修正する場合："obj_バージョン"フォルダ内のobjファイル群、treeファイル群を書き換え、レンダラーを再起動.
 * 12) **バージョンを上げて修正する場合：新規にバージョンを追加する操作と同等（"obj_バージョン"フォルダの追加、batファイル作成）.
 * 13) **不要バージョンの削除はレンダラーを停止する. （完全に削除する場合には、objファイル群、treeファイル群、batファイルを削除）
 * 14) 参照テーブルのように書き換えを受けるファイル（同一バージョンで内容を修正する場合）
 * 15) *名称　種別　実例
 * 16) **"obj_バージョン"フォルダおよび含まれるファイル群（objファイル群、treeファイル群）全て
 * 17) *書き換え方法　方針
 * 18) **フォルダそのものを置き換え.
 * 19) **batファイルは変更無し. （明示的に待ちうけポート番号を変更する場合には、適宜書換え. ）
 * 20) *実例　バージョン管理
 * 21) **パーツ名.obj→FMA ID.objの変換を実施し、"obj_バージョン"フォルダごと（含まれる*.objファイルおよび*.treeファイル全て）置き換えます
 * 22) ***（例）バージョン3.0で公開しているデータ（obj_3.0フォルダ内のデータ）をバージョン3.0のまま、データを変更する場合、新たにパーツ名.obj→FMA ID.objの変換を実施して、作成された"obj_3.0"フォルダで、既存の"obj_3.0"フォルダを置き換えて、レンダラーを再起動します.
 * 23) *ファイルすべてを入れ替えてしまうため、例えば上記の手順にて3.0のデータ内容を更新して、新たに3.0とした場合、置き換え前の3.0の情報が全て失われます.

treeファイル（階層構造の定義ファイル）について

 * treeファイルの作成（bp3d.tree→fma_isa_bp3d.tree、fma_partof_bp3d.tree）
 * Windows上でTree変換プログラム（ダウンロードしてzipを解凍）のフォルダにbp3d.treeファイルを配置し、"bp3d.treeを置いてダブルクリック.bat"をダブルクリックします.
 * プログラムと同じフォルダ内にあるbp3d.treeファイル内で末端要素となっているprimitive（実際にobjファイルが存在する）パーツを、fma3.oboおよびfma_ext3.obo中のFMA IDと対応付け、bp3dと同じ形式のis_a treeおよびpart_of treeがファイルに出力されます.
 * treeファイルの形式

BodyPartsDBの出力

 * BodyPartsDBへのバージョン追加は、フォルダ（例："obj_3.0"フォルダ）およびファイル（例："obj_3.0"フォルダ内の*.objファイル、*.treeファイル）を配置するのみで、出力されるものはありません.

[AGRendererImplBp3d_version] Start. [AGRendererImplBp3d_version] End. OK. [AgrendererImpl::AgRendererImpl] JNI Version Information agrendererimpl = Ver.2.1 patch=27 Jul 15 2011 18:18:02 win32 with_bp3dlib agcore = Ver.2.1 patch=6 Jul 15 2011 18:17:49 win32 agwin32 = Ver.2.1 patch=15 Jul 15 2011 18:17:48 win32 [AGRendererImplBp3d_init] Start. [AGRendererImplBp3d_init] Loading bp3d tree file=bp3d.tree [AGRendererImplBp3d_init] Loading bp3d tree file=fma_isa_bp3d.tree [AGRendererImplBp3d_init] Loading bp3d tree file=fma_partof_bp3d.tree [AGRendererImplBp3d_init] 3 bp3d tree files loaded. [AGRendererImplBp3d_init] Loading organ coordinates=BP45 [AGRendererImplBp3d_init] Loading organ coordinates=BP47 [AGRendererImplBp3d_init] Loading organ coordinates=FMA10014 [AGRendererImplBp3d_init] Loading organ coordinates=FMA10037 [AGRendererImplBp3d_init] Loading organ coordinates=FMA10059 [AGRendererImplBp3d_init] Loading organ coordinates=FMA10081 [AGRendererImplBp3d_init] Loading organ coordinates=FMA10419 [AGRendererImplBp3d_init] Loading organ coordinates=FMA10458 [AGRendererImplBp3d_init] Loading organ coordinates=FMA10951 [AGRendererImplBp3d_init] Loading organ coordinates=FMA11336 [AGRendererImplBp3d_init] Loading organ coordinates=FMA12519 [AGRendererImplBp3d_init] Loading organ coordinates=FMA12520 [AGRendererImplBp3d_init] Loading organ coordinates=FMA12521 [AGRendererImplBp3d_init] Loading organ coordinates=FMA12522 [AGRendererImplBp3d_init] Loading organ coordinates=FMA12523 [AGRendererImplBp3d_init] Loading organ coordinates=FMA12524 [AGRendererImplBp3d_init] Loading organ coordinates=FMA12525 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13072 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13073 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13074 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13075 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13076 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13322 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13323 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13336 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13346 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13347 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13348 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13349 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13350 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13351 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13352 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13353 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13365 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13375 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13381 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13383 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13388 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13389 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13390 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13391 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13392 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13393 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13395 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13396 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13398 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13403 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13405 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13408 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13409 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13412 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13414 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13495 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13500 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13501 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13502 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13503 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13504 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13505 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13506 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13507 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13508 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13509 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13889 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13896 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13897 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13898 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13899 [AGRendererImplBp3d_init] Loading organ coordinates=FMA13900 [AGRendererImplBp3d_init] Loading organ coordinates=FMA14331 [AGRendererImplBp3d_init] Loading organ coordinates=FMA14332 [AGRendererImplBp3d_init] Loading organ coordinates=FMA14338 [AGRendererImplBp3d_init] Loading organ coordinates=FMA14339 [AGRendererImplBp3d_init] Loading organ coordinates=FMA14539 [AGRendererImplBp3d_init] Loading organ coordinates=FMA14668nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA14669 [AGRendererImplBp3d_init] Loading organ coordinates=FMA14670 [AGRendererImplBp3d_init] Loading organ coordinates=FMA14749 [AGRendererImplBp3d_init] Loading organ coordinates=FMA14768 [AGRendererImplBp3d_init] Loading organ coordinates=FMA14771nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA14772nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA14773 [AGRendererImplBp3d_init] Loading organ coordinates=FMA14778 [AGRendererImplBp3d_init] Loading organ coordinates=FMA14779 [AGRendererImplBp3d_init] Loading organ coordinates=FMA15414 [AGRendererImplBp3d_init] Loading organ coordinates=FMA15415 [AGRendererImplBp3d_init] Loading organ coordinates=FMA15739 [AGRendererImplBp3d_init] Loading organ coordinates=FMA15741 [AGRendererImplBp3d_init] Loading organ coordinates=FMA15742 [AGRendererImplBp3d_init] Loading organ coordinates=FMA15743 [AGRendererImplBp3d_init] Loading organ coordinates=FMA15744 [AGRendererImplBp3d_init] Loading organ coordinates=FMA15745 [AGRendererImplBp3d_init] Loading organ coordinates=FMA15746 [AGRendererImplBp3d_init] Loading organ coordinates=FMA16033 [AGRendererImplBp3d_init] Loading organ coordinates=FMA16034 [AGRendererImplBp3d_init] Loading organ coordinates=FMA16035 [AGRendererImplBp3d_init] Loading organ coordinates=FMA16036 [AGRendererImplBp3d_init] Loading organ coordinates=FMA16037 [AGRendererImplBp3d_init] Loading organ coordinates=FMA16202 [AGRendererImplBp3d_init] Loading organ coordinates=FMA16586 [AGRendererImplBp3d_init] Loading organ coordinates=FMA16587 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22322 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22324 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22326 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22328 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22330 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22332 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22334 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22336 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22338 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22340 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22342 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22354 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22358 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22425 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22448 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22450 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22452 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22456 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22459 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22544 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22546 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22548 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22550 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22552 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22554 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22558 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22560 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22591 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22726 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22728 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22740 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22742 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22744 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22751 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22754 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22757 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22779 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22872 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22874 [AGRendererImplBp3d_init] Loading organ coordinates=FMA22876 [AGRendererImplBp3d_init] Loading organ coordinates=FMA230986 [AGRendererImplBp3d_init] Loading organ coordinates=FMA230988 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23130 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23131 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23464 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23465 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23467 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23468 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23707 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23725 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23938 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23940 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23942 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23944 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23951 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23953 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23955 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23957 [AGRendererImplBp3d_init] Loading organ coordinates=FMA23959 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24435 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24436 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24437 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24438 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24439 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24440 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24441 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24442 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24443 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24444 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24445 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24446 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24447 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24448 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24449 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24450 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24451 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24452 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24453 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24454 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24455 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24456 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24457 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24458 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24459 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24460 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24461 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24462 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24463 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24464 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24465 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24466 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24467 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24468 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24469 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24470 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24471 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24472 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24473 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24474 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24475 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24477 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24478 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24480 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24481 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24482 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24483 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24486 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24487 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24497 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24498 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24500 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24501 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24507 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24508 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24509 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24510 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24511 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24512 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24513 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24514 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24515 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24516 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24521 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24522 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24523 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24524 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24525 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24526 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24528 [AGRendererImplBp3d_init] Loading organ coordinates=FMA24529 [AGRendererImplBp3d_init] Loading organ coordinates=FMA25058 [AGRendererImplBp3d_init] Loading organ coordinates=FMA258714 [AGRendererImplBp3d_init] Loading organ coordinates=FMA258716 [AGRendererImplBp3d_init] Loading organ coordinates=FMA258847 [AGRendererImplBp3d_init] Loading organ coordinates=FMA258850 [AGRendererImplBp3d_init] Loading organ coordinates=FMA260791 [AGRendererImplBp3d_init] Loading organ coordinates=FMA260794 [AGRendererImplBp3d_init] Loading organ coordinates=FMA264840 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32530 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32531 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32532 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32533 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32534 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32535 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32536 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32537 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32540 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32544 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32547 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32551 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32553 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32634 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32635 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32636 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32637 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32638 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32639 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32640 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32641 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32642 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32643 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32644 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32645 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32646 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32647 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32650 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32651 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32652 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32653 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32654 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32655 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32656 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32657 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32658 [AGRendererImplBp3d_init] Loading organ coordinates=FMA32659 [AGRendererImplBp3d_init] Loading organ coordinates=FMA33581 [AGRendererImplBp3d_init] Loading organ coordinates=FMA33584 [AGRendererImplBp3d_init] Loading organ coordinates=FMA33586 [AGRendererImplBp3d_init] Loading organ coordinates=FMA34680 [AGRendererImplBp3d_init] Loading organ coordinates=FMA34682 [AGRendererImplBp3d_init] Loading organ coordinates=FMA34684 [AGRendererImplBp3d_init] Loading organ coordinates=FMA34690 [AGRendererImplBp3d_init] Loading organ coordinates=FMA35192 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37386 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37390 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37396 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37398 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37400 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37459 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37461 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37463 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37465 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37471 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37483 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37485 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37665 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37668 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37684 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37686 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37695 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37697 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37699 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37705 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37717 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37719 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37741 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37743 [AGRendererImplBp3d_init] Loading organ coordinates=FMA37745 [AGRendererImplBp3d_init] Loading organ coordinates=FMA3784 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38454 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38460 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38463 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38479 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38482 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38486 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38495 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38498 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38501 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38504 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38513 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38516 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38519 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38522 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38525 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38560 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38562 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38617 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38619 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38638 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38640 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38928 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38930 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38932 [AGRendererImplBp3d_init] Loading organ coordinates=FMA38934 [AGRendererImplBp3d_init] Loading organ coordinates=FMA3947nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA3956nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA40120 [AGRendererImplBp3d_init] Loading organ coordinates=FMA42398 [AGRendererImplBp3d_init] Loading organ coordinates=FMA42402 [AGRendererImplBp3d_init] Loading organ coordinates=FMA42404 [AGRendererImplBp3d_init] Loading organ coordinates=FMA43253 [AGRendererImplBp3d_init] Loading organ coordinates=FMA43254 [AGRendererImplBp3d_init] Loading organ coordinates=FMA43883 [AGRendererImplBp3d_init] Loading organ coordinates=FMA43886 [AGRendererImplBp3d_init] Loading organ coordinates=FMA44249 [AGRendererImplBp3d_init] Loading organ coordinates=FMA45097 [AGRendererImplBp3d_init] Loading organ coordinates=FMA45098 [AGRendererImplBp3d_init] Loading organ coordinates=FMA45739 [AGRendererImplBp3d_init] Loading organ coordinates=FMA45740 [AGRendererImplBp3d_init] Loading organ coordinates=FMA45826 [AGRendererImplBp3d_init] Loading organ coordinates=FMA45827 [AGRendererImplBp3d_init] Loading organ coordinates=FMA45854 [AGRendererImplBp3d_init] Loading organ coordinates=FMA45856 [AGRendererImplBp3d_init] Loading organ coordinates=FMA45858 [AGRendererImplBp3d_init] Loading organ coordinates=FMA45874 [AGRendererImplBp3d_init] Loading organ coordinates=FMA45888 [AGRendererImplBp3d_init] Loading organ coordinates=FMA45891 [AGRendererImplBp3d_init] Loading organ coordinates=FMA45957 [AGRendererImplBp3d_init] Loading organ coordinates=FMA45960 [AGRendererImplBp3d_init] Loading organ coordinates=FMA45971 [AGRendererImplBp3d_init] Loading organ coordinates=FMA45973 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46018 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46020 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46110 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46121 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46123 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46284 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46286 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46288 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46304 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46305 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46306 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46307 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46309 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46310 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46313 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46314 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46317 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46318 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46321 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46322 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46326 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46327 [AGRendererImplBp3d_init] Loading organ coordinates=FMA46443 [AGRendererImplBp3d_init] Loading organ coordinates=FMA4720 [AGRendererImplBp3d_init] Loading organ coordinates=FMA49044 [AGRendererImplBp3d_init] Loading organ coordinates=FMA49045 [AGRendererImplBp3d_init] Loading organ coordinates=FMA49046 [AGRendererImplBp3d_init] Loading organ coordinates=FMA49047 [AGRendererImplBp3d_init] Loading organ coordinates=FMA49048 [AGRendererImplBp3d_init] Loading organ coordinates=FMA49049 [AGRendererImplBp3d_init] Loading organ coordinates=FMA49050 [AGRendererImplBp3d_init] Loading organ coordinates=FMA49051 [AGRendererImplBp3d_init] Loading organ coordinates=FMA49052 [AGRendererImplBp3d_init] Loading organ coordinates=FMA49053 [AGRendererImplBp3d_init] Loading organ coordinates=FMA49054 [AGRendererImplBp3d_init] Loading organ coordinates=FMA49055 [AGRendererImplBp3d_init] Loading organ coordinates=FMA49056 [AGRendererImplBp3d_init] Loading organ coordinates=FMA49057 [AGRendererImplBp3d_init] Loading organ coordinates=FMA49666 [AGRendererImplBp3d_init] Loading organ coordinates=FMA49868 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50079nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA50084 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50087 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50169 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50328 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50330nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA50333 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50334 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50337 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50379 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50382 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50427 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50437 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50442 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50465 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50466 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50469 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50472 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50475 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50479 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50482 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50488 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50518 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50531 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50542nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA50544 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50573nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA50577 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50580nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA50583nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA50590nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA50591 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50633nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA50638nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA50652 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50695 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50735nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA50737 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50875 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50878 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50881 [AGRendererImplBp3d_init] Loading organ coordinates=FMA50882 [AGRendererImplBp3d_init] Loading organ coordinates=FMA51144 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52622 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52623 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52629 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52630 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52639 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52640 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52643 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52644 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52661 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52662 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52669 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52670 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52676 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52677 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52698 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52699 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52715 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52716 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52734 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52735 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52736 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52738 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52739 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52740 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52748 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52749 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52788 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52789 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52892 [AGRendererImplBp3d_init] Loading organ coordinates=FMA52893 [AGRendererImplBp3d_init] Loading organ coordinates=FMA53549 [AGRendererImplBp3d_init] Loading organ coordinates=FMA53550 [AGRendererImplBp3d_init] Loading organ coordinates=FMA53645 [AGRendererImplBp3d_init] Loading organ coordinates=FMA53646 [AGRendererImplBp3d_init] Loading organ coordinates=FMA53647 [AGRendererImplBp3d_init] Loading organ coordinates=FMA53648 [AGRendererImplBp3d_init] Loading organ coordinates=FMA53649 [AGRendererImplBp3d_init] Loading organ coordinates=FMA53650 [AGRendererImplBp3d_init] Loading organ coordinates=FMA53655 [AGRendererImplBp3d_init] Loading organ coordinates=FMA53656 [AGRendererImplBp3d_init] Loading organ coordinates=FMA54737 [AGRendererImplBp3d_init] Loading organ coordinates=FMA54738 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55099 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55680 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55681 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55682 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55683 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55686 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55687 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55688 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55689 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55690 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55691 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55692 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55693 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55694 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55695 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55697 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55698 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55699 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55700 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55703 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55704 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55705 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55706 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55798 [AGRendererImplBp3d_init] Loading organ coordinates=FMA55799 [AGRendererImplBp3d_init] Loading organ coordinates=FMA57140 [AGRendererImplBp3d_init] Loading organ coordinates=FMA57141 [AGRendererImplBp3d_init] Loading organ coordinates=FMA57142 [AGRendererImplBp3d_init] Loading organ coordinates=FMA57143 [AGRendererImplBp3d_init] Loading organ coordinates=FMA58236 [AGRendererImplBp3d_init] Loading organ coordinates=FMA58237 [AGRendererImplBp3d_init] Loading organ coordinates=FMA58239 [AGRendererImplBp3d_init] Loading organ coordinates=FMA58240 [AGRendererImplBp3d_init] Loading organ coordinates=FMA58242 [AGRendererImplBp3d_init] Loading organ coordinates=FMA58243 [AGRendererImplBp3d_init] Loading organ coordinates=FMA58271 [AGRendererImplBp3d_init] Loading organ coordinates=FMA58272 [AGRendererImplBp3d_init] Loading organ coordinates=FMA58296 [AGRendererImplBp3d_init] Loading organ coordinates=FMA58297 [AGRendererImplBp3d_init] Loading organ coordinates=FMA58299 [AGRendererImplBp3d_init] Loading organ coordinates=FMA58300 [AGRendererImplBp3d_init] Loading organ coordinates=FMA58302 [AGRendererImplBp3d_init] Loading organ coordinates=FMA58303 [AGRendererImplBp3d_init] Loading organ coordinates=FMA58776 [AGRendererImplBp3d_init] Loading organ coordinates=FMA59102 [AGRendererImplBp3d_init] Loading organ coordinates=FMA59103 [AGRendererImplBp3d_init] Loading organ coordinates=FMA59329 [AGRendererImplBp3d_init] Loading organ coordinates=FMA59330 [AGRendererImplBp3d_init] Loading organ coordinates=FMA59366 [AGRendererImplBp3d_init] Loading organ coordinates=FMA59367 [AGRendererImplBp3d_init] Loading organ coordinates=FMA59545 [AGRendererImplBp3d_init] Loading organ coordinates=FMA59546 [AGRendererImplBp3d_init] Loading organ coordinates=FMA59582 [AGRendererImplBp3d_init] Loading organ coordinates=FMA59583 [AGRendererImplBp3d_init] Loading organ coordinates=FMA59763 [AGRendererImplBp3d_init] Loading organ coordinates=FMA59764 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61844 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61857 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61859 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61860 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61894 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61896 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61897 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61899 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61905 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61906 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61907 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61908 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61918 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61934 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61961 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61970 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61975 [AGRendererImplBp3d_init] Loading organ coordinates=FMA61993nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA62004 [AGRendererImplBp3d_init] Loading organ coordinates=FMA62008nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA62032 [AGRendererImplBp3d_init] Loading organ coordinates=FMA62033 [AGRendererImplBp3d_init] Loading organ coordinates=FMA62045 [AGRendererImplBp3d_init] Loading organ coordinates=FMA62072 [AGRendererImplBp3d_init] Loading organ coordinates=FMA62327 [AGRendererImplBp3d_init] Loading organ coordinates=FMA62382 [AGRendererImplBp3d_init] Loading organ coordinates=FMA62394 [AGRendererImplBp3d_init] Loading organ coordinates=FMA62434 [AGRendererImplBp3d_init] Loading organ coordinates=FMA65014 [AGRendererImplBp3d_init] Loading organ coordinates=FMA65016 [AGRendererImplBp3d_init] Loading organ coordinates=FMA65018 [AGRendererImplBp3d_init] Loading organ coordinates=FMA65198 [AGRendererImplBp3d_init] Loading organ coordinates=FMA65470 [AGRendererImplBp3d_init] Loading organ coordinates=FMA66791 [AGRendererImplBp3d_init] Loading organ coordinates=FMA67325 [AGRendererImplBp3d_init] Loading organ coordinates=FMA67329 [AGRendererImplBp3d_init] Loading organ coordinates=FMA67936 [AGRendererImplBp3d_init] Loading organ coordinates=FMA67943 [AGRendererImplBp3d_init] Loading organ coordinates=FMA67944 [AGRendererImplBp3d_init] Loading organ coordinates=FMA70788 [AGRendererImplBp3d_init] Loading organ coordinates=FMA71460 [AGRendererImplBp3d_init] Loading organ coordinates=FMA71471 [AGRendererImplBp3d_init] Loading organ coordinates=FMA71475 [AGRendererImplBp3d_init] Loading organ coordinates=FMA71478 [AGRendererImplBp3d_init] Loading organ coordinates=FMA71492 [AGRendererImplBp3d_init] Loading organ coordinates=FMA71498 [AGRendererImplBp3d_init] Loading organ coordinates=FMA71501 [AGRendererImplBp3d_init] Loading organ coordinates=FMA71502 [AGRendererImplBp3d_init] Loading organ coordinates=FMA71509 [AGRendererImplBp3d_init] Loading organ coordinates=FMA71511 [AGRendererImplBp3d_init] Loading organ coordinates=FMA71908 [AGRendererImplBp3d_init] Loading organ coordinates=FMA71915 [AGRendererImplBp3d_init] Loading organ coordinates=FMA71916 [AGRendererImplBp3d_init] Loading organ coordinates=FMA7198nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA7202 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72020 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72713 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72714 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72826 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72827 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72828 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72829 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72830 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72831 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72832 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72833 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72906 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72907 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72924 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72925 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72939 [AGRendererImplBp3d_init] Loading organ coordinates=FMA72940 [AGRendererImplBp3d_init] Loading organ coordinates=FMA73303 [AGRendererImplBp3d_init] Loading organ coordinates=FMA73304 [AGRendererImplBp3d_init] Loading organ coordinates=FMA73309 [AGRendererImplBp3d_init] Loading organ coordinates=FMA73310 [AGRendererImplBp3d_init] Loading organ coordinates=FMA73413 [AGRendererImplBp3d_init] Loading organ coordinates=FMA73414 [AGRendererImplBp3d_init] Loading organ coordinates=FMA73422 [AGRendererImplBp3d_init] Loading organ coordinates=FMA73423 [AGRendererImplBp3d_init] Loading organ coordinates=FMA73434 [AGRendererImplBp3d_init] Loading organ coordinates=FMA73435 [AGRendererImplBp3d_init] Loading organ coordinates=FMA73461 [AGRendererImplBp3d_init] Loading organ coordinates=FMA73462 [AGRendererImplBp3d_init] Loading organ coordinates=FMA73463 [AGRendererImplBp3d_init] Loading organ coordinates=FMA73464 [AGRendererImplBp3d_init] Loading organ coordinates=FMA74075 [AGRendererImplBp3d_init] Loading organ coordinates=FMA74077 [AGRendererImplBp3d_init] Loading organ coordinates=FMA7486 [AGRendererImplBp3d_init] Loading organ coordinates=FMA7487 [AGRendererImplBp3d_init] Loading organ coordinates=FMA74877 [AGRendererImplBp3d_init] Loading organ coordinates=FMA7488 [AGRendererImplBp3d_init] Loading organ coordinates=FMA75351 [AGRendererImplBp3d_init] Loading organ coordinates=FMA7591nsn [AGRendererImplBp3d_init] Loading organ coordinates=FMA77161 [AGRendererImplBp3d_init] Loading organ coordinates=FMA77439 [AGRendererImplBp3d_init] Loading organ coordinates=FMA77536 [AGRendererImplBp3d_init] Loading organ coordinates=FMA78449 [AGRendererImplBp3d_init] Loading organ coordinates=FMA78450 [AGRendererImplBp3d_init] Loading organ coordinates=FMA78454 [AGRendererImplBp3d_init] Loading organ coordinates=FMA78467 [AGRendererImplBp3d_init] Loading organ coordinates=FMA78469 [AGRendererImplBp3d_init] Loading organ coordinates=FMA78497 [AGRendererImplBp3d_init] Loading organ coordinates=FMA7857 [AGRendererImplBp3d_init] Loading organ coordinates=FMA7875 [AGRendererImplBp3d_init] Loading organ coordinates=FMA7882 [AGRendererImplBp3d_init] Loading organ coordinates=FMA7886 [AGRendererImplBp3d_init] Loading organ coordinates=FMA7909 [AGRendererImplBp3d_init] Loading organ coordinates=FMA7913 [AGRendererImplBp3d_init] Loading organ coordinates=FMA7957 [AGRendererImplBp3d_init] Loading organ coordinates=FMA7976 [AGRendererImplBp3d_init] Loading organ coordinates=FMA7987 [AGRendererImplBp3d_init] Loading organ coordinates=FMA79979 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8005 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8012 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8031 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8039 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8058 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8066 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8070 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8093 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8112 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8148 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8167 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8175 [AGRendererImplBp3d_init] Loading organ coordinates=FMA81752 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8194 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8202 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8221 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8229 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8248 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8256 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8275 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8283 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8310 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8364 [AGRendererImplBp3d_init] Loading organ coordinates=FMA83740 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8391 [AGRendererImplBp3d_init] Loading organ coordinates=FMA83966 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8445 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8472 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8531 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8532 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8533 [AGRendererImplBp3d_init] Loading organ coordinates=FMA8534 [AGRendererImplBp3d_init] Loading organ coordinates=FMA86034 [AGRendererImplBp3d_init] Loading organ coordinates=FMA86464 [AGRendererImplBp3d_init] Loading organ coordinates=FMA9165 [AGRendererImplBp3d_init] Loading organ coordinates=FMA9187 [AGRendererImplBp3d_init] Loading organ coordinates=FMA9209 [AGRendererImplBp3d_init] Loading organ coordinates=FMA9248 [AGRendererImplBp3d_init] Loading organ coordinates=FMA9615 [AGRendererImplBp3d_init] Loading organ coordinates=FMA9710 [AGRendererImplBp3d_init] Loading organ coordinates=FMA9761 [AGRendererImplBp3d_init] Loading organ coordinates=FMA9922 [AGRendererImplBp3d_init] Loading organ coordinates=FMA9945 [AGRendererImplBp3d_init] Loading organ coordinates=FMA9968 [AGRendererImplBp3d_init] Loading organ coordinates=FMA9991 [AGRendererImplBp3d_init] Loading marker coordinates=CONE [AGRendererImplBp3d_init] Loading marker coordinates=coneshape_0.3_10 [AGRendererImplBp3d_init] Loading marker coordinates=coneshape_0.3_12 [AGRendererImplBp3d_init] Loading marker coordinates=coneshape_0.5_10 [AGRendererImplBp3d_init] Loading marker coordinates=coneshape_0.5_12 [AGRendererImplBp3d_init] Loading marker coordinates=cubeshape [AGRendererImplBp3d_init] Loading marker coordinates=longpin [AGRendererImplBp3d_init] Loading marker coordinates=PIN [AGRendererImplBp3d_init] Loading marker coordinates=pin0 [AGRendererImplBp3d_init] Loading marker coordinates=pin1 [AGRendererImplBp3d_init] Loading marker coordinates=pin20090721 [AGRendererImplBp3d_init] Loading marker coordinates=pin20090721_02 [AGRendererImplBp3d_init] Loading marker coordinates=pin20090721_03 [AGRendererImplBp3d_init] Loading marker coordinates=pinshape_0.05_10_0.3_10_4 [AGRendererImplBp3d_init] Loading marker coordinates=pinshape_0.05_12_0.3_12_8 [AGRendererImplBp3d_init] Loading marker coordinates=pinshape_0.1_10_0.3_10_4 [AGRendererImplBp3d_init] Loading marker coordinates=pinshape_0.1_12_0.3_12_8 [AGRendererImplBp3d_init] Loading marker coordinates=PIN_LONG [AGRendererImplBp3d_init] Loading marker coordinates=shade_0 [AGRendererImplBp3d_init] Loading marker coordinates=sphere10 [AGRendererImplBp3d_init] End. OK. [AGRendererImplBp3d_profile] Start. [AGRendererImplBp3d_profile] Debug. NetBIOS=BITS-ANATOMO2 [AGRendererImplBp3d_profile] Debug. DnsDomain= [AGRendererImplBp3d_profile] Debug. PhysicalNetBIOS=BITS-ANATOMO2 [AGRendererImplBp3d_profile] Debug. PhysicalDnsDomain= [AGRendererImplBp3d_profile] End. OK. [AgrendererImpl::AgRendererImpl] JNI Profile Information ProcessID = 1604, ThreadID = 1720 GL Vendor = NVIDIA Corporation GL Renderer = GeForce GTX 285/PCI/SSE2 GL Version = 3.3.0 Renderer DrawMode = AG_OGLVER_15 Renderer BufferMode = AG_OGLBUFMODE_PBO [AgrendererImpl::AgRendererImpl] Loading bp3d coordinates done. Time=229302 ms [AgrendererImpl::AgRendererImpl] Loading bp3d coordinates done. jniErrorCode=0 [AGRendererImplBp3d_version] Start. [AGRendererImplBp3d_version] End. OK. [AgrendererImpl::AgRendererImpl] JNI Version Information agrendererimpl = Ver.2.1 patch=27 Jul 15 2011 18:18:02 win32 with_bp3dlib agcore = Ver.2.1 patch=6 Jul 15 2011 18:17:49 win32 agwin32 = Ver.2.1 patch=15 Jul 15 2011 18:17:48 win32 [AGRendererImplBp3d_init] Start. [AGRendererImplBp3d_init] Loading bp3d tree file=bp3d.tree [AGRendererImplBp3d_init] Loading bp3d tree file=fma_isa_bp3d.tree [AGRendererImplBp3d_init] Loading bp3d tree file=fma_partof_bp3d.tree [AGRendererImplBp3d_init] 3 bp3d tree files loaded. [AGRendererImplBp3d_init] Loading organ coordinates=BP45 [AGRendererImplBp3d_init] Loading organ coordinates=BP47 [AGRendererImplBp3d_init] Loading organ coordinates=FMA10014 [AGRendererImplBp3d_init] Loading organ coordinates=FMA10037 ・・・ [AGRendererImplBp3d_init] Loading organ coordinates=FMA9945 [AGRendererImplBp3d_init] Loading organ coordinates=FMA9968 [AGRendererImplBp3d_init] Loading organ coordinates=FMA9991 [AGRendererImplBp3d_init] Loading marker coordinates=CONE [AGRendererImplBp3d_init] Loading marker coordinates=coneshape_0.3_10 [AGRendererImplBp3d_init] Loading marker coordinates=coneshape_0.3_12 ・・・ [AGRendererImplBp3d_init] Loading marker coordinates=PIN_LONG [AGRendererImplBp3d_init] Loading marker coordinates=shade_0 [AGRendererImplBp3d_init] Loading marker coordinates=sphere10 [AGRendererImplBp3d_profile] Start. [AGRendererImplBp3d_profile] Debug. NetBIOS=BITS-ANATOMO2 [AGRendererImplBp3d_profile] Debug. DnsDomain= [AGRendererImplBp3d_profile] Debug. PhysicalNetBIOS=BITS-ANATOMO2 [AGRendererImplBp3d_profile] Debug. PhysicalDnsDomain= [AGRendererImplBp3d_profile] End. OK. [AgrendererImpl::AgRendererImpl] JNI Profile Information ProcessID = 1604, ThreadID = 1720 GL Vendor = NVIDIA Corporation GL Renderer = GeForce GTX 285/PCI/SSE2 GL Version = 3.3.0 Renderer DrawMode = AG_OGLVER_15 Renderer BufferMode = AG_OGLBUFMODE_PBO [AgrendererImpl::AgRendererImpl] Loading bp3d coordinates done. Time=229302 ms [AgrendererImpl::AgRendererImpl] Loading bp3d coordinates done. jniErrorCode=0
 * レンダラ起動時（レンダラがBodyPartsDB＝*.treeファイルおよび*.objファイルを読み込む時）の出力ログは下記のようになっています.
 * 以下、各ステップの説明となります.
 * 起動時のバージョン等の情報出力
 * treeファイルの読込ログ
 * objファイルの読込ログ
 * マーカー（ピン）のポリゴンデータ読込ログ
 * ネットワーク情報、プログラム情報、起動にかかった時間、エラーコードなどの情報

=現行システムにおけるバージョン間のパーツ対応付け=
 * 現行（2012年5月現在）のBodyParts3Dシステムでは、描画に利用するデータセットのバージョンを明示的に選択することができる.
 * 既にパレットにパーツが登録されていてもバージョン変更は可能であるが、バージョンに関わらずユーザが選択したパーツのFMA IDをレンダリングサーバに渡すことで、対応するFMA IDのポリゴンデータが存在するパーツのみが描画される. （対応するポリゴンデータが無いパーツは描画されない）
 * 上記の方法だけでは、ID系列が合致しないデータセット（具体的にはSPL、Talairach. いずれも未公開）に関しては、対応付けができないため、別途FMAIDとの対応ファイルを準備しておき、IDが変換できた場合には、FMA IDを、IDの変換ができなかった場合にはパーツの英語名称をレンダリングサーバに渡します. （SPL対応表、Talairach対応表）

=アイコンの作成= 新アイコンの作成
 * アイコンは一つの概念がツリー別にconventional, is a, part of の３種類のアイコンを与えられています. （アイコンＵＲＬで区別できます）
 * アイコンはそれぞれのルートから到達できる概念にのみ与えられます. （ルートノードのアイコンに含まれる画像だけ）
 * ですからlevator aniは　conventional ではアイコンがあっても　is a ではありません. （muto-okubo)