tak0kadaの何でもノート

発声練習、生存確認用。

医学関連は 医学ノート

x軸を共有したグラフ、複数のy軸を持つグラフを描く

  • plt.add_axes()を用いた方法よりgridspecを用いた方法の方がレイアウトに気を使わず簡単にグラフを描けた。plt.setp(ax0.get_xticklabels(), visible=False)plt.subplots_adjust(hspace=.0)が一方の軸を非表示にして、さらに2つのグラフをくっつけて描くのに重要である。
  • y軸を複数描くにはtwinx()を用いる
続きを読む

cymemというCython用のメモリ管理ライブラリ

現実逃避にyoutubeを見ていたところ情報業界にまでyoutuberが登場していた(C Programming for Machine Learning (LIVE) - YouTube)。真面目に見ていると中身がペラペラな感じは否めないが話すのは上手であり、ライブコーディング中にバグが取れなくなって詰んでいるのはご愛嬌であった(sizeOfとtypoしていることに気付いていない)。

cythonは以前pythonとRで実装していた研究用のプログラムが遅すぎて辛かったときにお世話になった。プログラム中に出てくるcymemというライブラリが気になったのでメモ。cythonは実質Cなのでmallocしたらfreeしないといけない面倒があるがcymemはRAII(Resource Acquisition Is Initialization)の思想で実装されておりfreeしなくてよいというおしゃれライブラリである。

その他のメモ

「Inside the C++ Object Model」を読んだ

C++ Primerの著者の一人である S. Lippmanの著書。C++コンパイラの前身?であるcfrontはC++→Cのトランスパイラとして実装されており、cfront2くらいの頃の変換規則を解説しており、多重継承を含む多態性をどのように実装したかに重点が置かれている。研究室に来ていた留学生に勧められてこの本を手に取ったが、C++ Primerと重なる部分が多く感じられ、自分が他人に勧めるかと聞かれるとあまりおすすめしない(中古の割に高い: amazon)。むしろhttps://shaharmike.com/cpp/vtable-part1/~part4、stackoverflowにあったc++ - What is the VTT for a class? - Stack Overflowという記事、日本語ではメモリ配置とキャスト – wizaman's blogなどの記事が分かり良いと感じた。以下は記載内容を適当に省略しつつ発生させたメモの写し(最新の実装との整合性のチェックなどはしていないし、間違いもあっても構わんやろという立場)

続きを読む

英語の勉強リソース(メモ)

学会に参加したが英語が聞き取れなくて困る。日本語でもついていくのが大変な内容だとなおつらい。通訳がいるありがたい勉強会もあるが、同時通訳は専門家ではないので訳が正しいとも限らない。今後を考えると少なくともリスニングの勉強は避けられなさそうである。以下はオンライン辞書などのメモ(リスニングと関係ないが)。

続きを読む

第一種Fredholm方程式

ちょっと前にGhost cytometryという、フローサイトメトリーので細胞分離に細胞の形態を反映できるようにしたという論文がツイッターで話題になっていた。詳細はさておいて、この論文中では$g(t) = \int\int H(x+vt, y) I(x, y)\,dxdy$という積分方程式を解いて細胞を含む画像I(x,y)を復元するステップがある。この積分は一般的には第一種フレドホルム方程式$g(t)=\int _{a}^{b}K(t,s)f(s)\,ds$と呼ばれている。以前数値積分手法メッシュ上の数値積分で調べたように離散化して行列に書き換えるのが一般的なようで、この論文でも同様にしている。行列の形になったあとは圧縮センシングで頑張るとのこと。自分でデモをしようと思ったが面倒になったのでここまで。(細胞の分離自体は行列計算していると間に合わないので生信号をSVMを使って分類するそう)

参考