tak0kadaの何でもノート

発声練習、生存確認用。

医学関連は 医学ノート

かたち

ガウス曲率と平均曲率を計算する

Discrete Differential-Geometry Operators for Triangulated 2-Manifolds | SpringerLinkを実装した。 GitHub - tak0kada/curvature: Implementation of discrete Gaussian and mean curvature defined in Meyer et al., 2003

楕円体のアラインメント

楕円体を回転させて綺麗に並べる。

plyファイルをc++で開く

GitHub - nmwsharp/happly: A C++ header-only parser for the PLY file format. Parse .ply happily!を使えば簡単にデータを取り出せて便利。

お蔵入りしたmeshlabのフィルターたち

meshlabはメッシュデータの可視化と色々の定型的な処理をしてくれる汎用性の高い便利ソフトウェアである。簡単なので色々試してみて、ある程度動作したけれど結局小回りが効かずにお蔵入りしそうなスクリプトを以下に貼っておく。

ボクセルデータからのメッシュ生成

結論: GitHub - mkazhdan/IsoSurfaceExtraction: Isosurface extraction from regular voxel gridsで十分 (3D numpy array).flatten().tofile()と(1D numpy array).tofile()の出力は異なるので注意(python上での演算では区別が付かないがメモリのレイアウト…

点の集合を包含する球

点の集合を包含する球のアルゴリズムを参照した。

三角メッシュ用のライブラリ書いた

GitHub - tak0kada/cnthd: Halfedge data structure for triangular mesh ハーフエッジデータ構造のC++ライブラリ。面の向き付けがバラバラなファイルに対応しようと思っていたがバグを出してしまって(しかもそれほど使わない機能)書き直す時間が惜しいので…

球面調和関数係数で表された物体の回転推定

A Robust Method for Rotation Estimation Using Spherical Harmonics Representation - IEEE Journals & Magazineを実装した。以下はコードを貼り付けたのみ。

Wasserstein距離

https://twitter.com/yoriyuki/status/1126423987444015104を見かけた。Wassersteinとは何か調べると、Wasserstein GAN と Kantorovich-Rubinstein 双対性という記事を見つけた。DeepLearningは理解していないが、線形代数的な話題として捉えられるらしい。 …

球面調和関数係数(3 x n行列)の可視化

3次元空間にひと塊の形(球と同相)があって、その表面上の点の集合を考える。何らかの方法で塊は球面に変形できて、その変形に伴って点の集合は球面上に写される、と考える。その時、元のX、Y、Z座標をそれぞれ球面上の分布($S^{2} \to \mathrm{R}$)と考える…

第一種Fredholm方程式

ちょっと前にGhost cytometryという、フローサイトメトリーので細胞分離に細胞の形態を反映できるようにしたという論文がツイッターで話題になっていた。詳細はさておいて、この論文中では$g(t) = \int\int H(x+vt, y) I(x, y)\,dxdy$という積分方程式を解い…

2値、2次元でのMarching Cubes実装

Polygonising a scalar field (Marching Cubes)、http://users.polytech.unice.fr/~lingrand/MarchingCubes/algo.htmlを見つつ実装した。ただし2つめのページにあるように表面に穴が開く場合がある。

不連続な関数f(θ, Φ)の球面調和関数展開

球面上に分布する不連続な値を球面調和関数展開するコードを書いた。 実装に恐らく誤りがあり、参考にしないほうが良いと思われる

CGALのサンプルを実行する(その3)

http://doc.cgal.org/latest/Point_set_processing_3/index.html#Point_set_processing_3NormalOrientation を少し変更して実行した。

CGALのサンプルを実行する(その2)

前回の記事に続いてCGAL 4.8 - Point Set Processing: User Manualを実行してみる。aptで拾ってきたcgalだとバグがあるようで型エラーが取れなかったのでgithubからダウンロードしたソースコードをビルドして利用した。

CGALのサンプルを実行する

CGAL 4.8 - Poisson Surface Reconstruction: User Manualを実行した。以下概要。

連続な関数f(θ, φ)の球面調和関数展開

球面調和関数の係数を求めるには、$c_{l}^{m} = <f, Y_{l}^{m}>$として内積を取る。数学的にはこれで終わりだが、現実に係数を得るには積分計算のところを数値計算する必要がある。</f,>

球面調和関数とその可視化

球面上のポテンシャルなど極座標表示できるものを関数と表すとする。離散データは容量がかさばるのと特徴をつかみにくいという問題点があるので何らかの方法で連続化して表せると良い。そこで用いられる方法の一つが球面調和関数による展開である(他には球面…

「Imitation, Genetic Lineages, and Time Influenced the Morphological Evolution of the Violin」を読んだ

細胞の形の分析に取り組んでいるわけだが、バイオリンの形に関する分析の論文があったので読んでみた。以下は手法と解釈についてのメモ。数学的に厳密な理解までは手が届いていない。

ボクセルデータのメッシュ化

セグメンテーション済み画像データからのメッシュ化 ボクセルデータからメッシュを作ることになるので調べものをしたところ、[Insight-users] mesh creation from segmented imageを見つけた。このアルゴリズムについてはWikipedia、Marching Cubes 作業メモ…