よく聞かれる質問(FAQ)

商用利用は可能ですか?

商用利用に関するご相談に関しては,まず開発者までご連絡ください.
psiclone を商用利用する場合には,関連特許の権利者である日本科学技術振興機構による許諾が必須です.

関連する特許の一覧についてはトップページを参照してください.

Geometry オブジェクトに追加したはずのエッジが draw_geometry で可視化しても見えない.

デフォルトでは辺の長さに応じて黒から白までの色を各辺に割り当てています.
そのため,最も長い辺が白くなり,白背景の場合は見えなくなります.例えば

draw_geometry(geom, edge_color="k")

とすれば,すべての辺が黒色で描画されます.

背景と同色の辺が出ない設定にしましょう.

add_node のオプションの geotype とは?

境界上にあるノードには,geotype として何番目の境界かを表す整数値を指定してください.

  • 境界でない内部のノードには Geotype.INTERNAL (0)
  • 外側境界には Geotype.EXTERNAL (1)
  • その他の境界には Geotype.OTHERS (2) 以上

の整数値を割り振ってください.

add_node のオプションの order とは?

境界上にあるノードには,その境界の向き(反時計回り円順序)に対応する整数値または浮動小数点数値を指定してください.

threshold はどのように決定すればよいか?

threshold が小さいとより多くの細かな辺が生じます.データによってはレーブグラフが必要以上に細かくなり過ぎます.

ノイズが極めて多いデータの場合,計算に時間がかかったり,COT 表現が長過ぎて重要な情報が読み取れないなどの問題が生じます.
逆に,threshold が大きすぎるとレーブグラフが単純化され過ぎるかもしれません.現状で threshold に定番の決定方法は無いので,計算結果の様子を見つつ,目的に応じて調整してください.

Jupyter Notebook で計算してみたけど処理が重くてフリーズする

ターミナルで

jupyter nbconvert --to python hoge.ipynb

を実行することで,hoge.ipynbをhoge.pyに変換できます.その後,同じディレクトリで

python -i hoge.py

を実行しましょう.

assertion error が出て計算に失敗する

構造不安定と呼ばれる,COT 表現への変換が難しいパターンがあります. 入力データ空間のノイズや threshold 値の指定の仕方など複合的な要因によって,構造不安定になってしまっている場合があります.

psiclone では,入力スカラーデータが十分に滑らかで構造安定な流線関数であることを仮定しています. データの解像度が十分であれば多くの場合は構造安定となることが期待されますが,構造不安定なデータでは assertion error が生じることがあります.

入力データ空間 Geometry の設定がまずいためこれが誘発されやすい状況に陥っていたり,threshold の指定が大き過ぎるためノイズ除去の影響で同様の状況に陥るケースもあります.

遭遇するエラーの種類によっては事前の工夫 (適切な threshold の選択など) で回避できる場合もありますが,全ての構造不安定なデータを取り除くことは一般には難しいです. そのため,エラーが出るケースを単に try catch で無視してしまうのが簡単です.