tak0kadaの何でもノート

発声練習、生存確認用。

医学関連は 医学ノート

dicomファイルをまとめて変換するスクリプト

病院で学術用途で匿名化された画像ファイルの出力を依頼すると、 /run/media/tak0kada/dvd/DICOM |--00000000 | |--00000000 | |--00000001 |--00000001 ... |--_DCM_INF | |--00000000 | | |--_DCM_IDX.txt | | |--overlay.txt ... というディレクトリ構成…

Rでのダックタイピング

R

先日参加した1細胞RNAseq解析勉強会は基本的なRプログラミングとシーケンサーから少し前処理したあとのリード数データの取り扱いについての講義であった。司会の先生が格好良くライブコーディングを披露されていたのでそれを観察していたのだが、一般的なオ…

研修ローテーションをプログラムで決める

初期研修医が8人いる某病院にて、彼(女)らが色々な診療科を回る順番を決めることになった。珍しいことに、そのうちの1人がプログラムで決めると言い張ったためパソコンによる厳正なマッチングが行われた。以下はプログラム片とコメント。

vimプラグイン作り方

Pythonでvim pluginを書く - Qiita Vimプラグインが出来るまで - ぼっち勉強会 Big Sky :: モテる男のVim script短期集中講座

chrootなど

chroot schroot: root権限なしでも使えるchroot fakeroot: debianのパッケージをビルドするときに使われる

Antergosのインストール後にやることリスト

何でもaptで入る訳ではなくてpacmanとyaourtを使い分けないといけないようなのでパッケージ名だけではなくコマンドごと記録した。pacmanの使い方はarch wikiを参照する。

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

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

electron-packagerの使い方

devdocsのスタンドアロンなアプリが欲しいと思い探したところ、electronを利用したものとしてragingwind/devdogsとegoist/devdocs-appを見つけた。electronはnodejsとchromiumを使用しているのでjavascriptを書くだけでデスクトップアプリケーションを作成で…

npmの使い方

npm = Node Package Manager npm install package: ローカルにインストール npm install –save package: package.jsonのdependencyに追記される 開発する場合に必要な知識っぽい npm uninstall 違いが分からないもの npm remove npm unlink sudo npm install…

lilytermでショートカットに複数キーを割り当てる

lilytermは設定が簡単で、default.confを少しいじるだけで良くて気に入っている。デフォルトの例だとcopy_clipboard = Ctrl Deleteのような2キーによる設定しかないので3キー使うことが出来ないかと思いきやcopy_clipboard = Ctrl+Shift Cのようにすれば設定…

libnssを静的リンクできなかった

ubuntu15.10からantergosに移行したわけだが、先日書いたプログラムがlibboostの特定のバージョンに依存していたため動かなくなってしまった。今後は–staticにしたかったわけだが、最終的にはlibnssへの依存のためできなかった。とはいえ今後のためにメモ。

バイオイメージング動画

かなり綺麗な顕微鏡画像が見られる。 研究内容|自治医科大学 分子病態研究部 バイオイメージング静止画・動画集|自治医科大学 分子病態研究部

テンプレートで任意の多次元の配列を出力する

任意の次元の配列をprintする関数が欲しくなったが、単純にベタ書きする方法だと次元が決まっている場合しか対応できないのでテンプレートの再帰を用いたプログラムを書いてみた。

boost::asioメモ

boost::asioを使ったhttps通信 http://pragmaticjoe.blogspot.jp/2015/02/boostasio-https-client.html GitHub - alexandruc/SimpleHttpsClient: A simple HTTPS client based on Boost Asio.

pythonのクラス

メモ(podhmoさんのツイート) pythonのクラス関係のこと知りたいならtypeobject.cを読むのおすすめです。PyBaseObject_Typeがobject、PyType_Typeがtypeということがわかるとある程度普通に読めます。— po (@podhmo) 2017年2月27日

Windows向けにクロスコンパイル

極めてつまらないプログラムを書いた。Windowsユーザの弟も利用すると考えたので少しだけ工夫をした。 参考 https://arrayfire.com/cross-compile-to-windows-from-linux/ C言語 マクロ コンパイル 判定 OS コンパイラ - 山口屋~活動日誌~ mingw-w64があれ…

C++での時間の取り扱い

C++で日時を取り扱うプログラムを書いている。Cスタイル、C++スタイルの両方が存在しているほか、相互に変換するための関数、計測精度ごとに複数の関数が存在するなど非常にややこしい。以下は簡単なまとめとして、具体的にインクルードすべきヘッダ、型に関…

KLダイバージェンス、JSダイバージェンス

# Kallback-Leiblerダイバージェンス def kld(p, q): p = np.array(p) q = np.array(q) return np.sum(p * np.log(p/q)) # Jensen-Shannonダイバージェンス def jsd(p, q): p = np.array(p) q = np.array(q) m = 0.5 * (p + q) return 0.5 * (kld(p, m) + kl…

OCR (OSS、ウェブサービス)

レシートの読み込みやスキャンした配布物のテキスト化に使えそう。種類は色々あるが個人用途としては安価に見える。性能が満足できるものがあるかまた調べたい。

PaaSいろいろ

常時運用しているサーバーを持っているわけではないのでPaaSというものが便利そうに見える。 PaaS(Platform as a Service): OS、データベースなどが最初から提供されているものらしい 参考: 第4回 プラットフォームを作るPaaSを理解する――PaaSとIaaS,SaaSの…

LINE Messaging API

部活で使っているLINEグループの会話履歴を取るのに便利そう。 LINE Developers - Messaging API - Overview Messaging APIのご紹介 | LINE Business Center LINE API Reference LINEの新しいMessaging APIを試してみた - やらなイカ?

jarファイルの逆コンパイル

jar xvf test.jar jad -o -r -sjava -dsrc **/*.class jadはhttp://varaneckas.com/jad/からダウンロードする。扱いやすそうなのでstatically linkedなファイルを選択した。 日本語は\uから始まる文字列になっているのでpythonならline.encode().decode('uni…

pythonのデコレータ(setter, getter, property, staticmethod, classmethod)

nd2readerのソースコードを見ていたら@staticmethodが散見された。文法を知らなかったので調べた。

正規表現

正規表現についてのメモ(随時更新)

Rでビット演算

R

Rでビット演算をしてみたい。2進数表記にはR.utilsを使うと良さそう。

GIMPのプラグイン

卒業アルバムのために少し写真を編集するのにGIMPを使った。GIMPはプラグインが色々あって画像処理のプログラムを自分で書けなくても利用することが出来る。以下プラグイン名のみメモ。

合成関数

(完全に老化が進行している...)

C++での可視化

C++のコードから簡単にmatplotlibを使ってグラフを作成する方法 - MyEnigma CinderでiPadアプリを実装してみた | Preferred Research でらうま倶楽部 : cinder を含む記事 VTK - The Visualization Toolkit VTK/Tutorials - KitwarePublic

球面調和関数関連の論文

調べたものの読み切れないのでリストを放出する。良さそうな論文はリンク先に有用そうな実装情報があったりする。(読んでいないと明記されているものは全く読んでいないが、それ以外もきちんと読んだわけではないことに注意)

vispyで.objファイルをプロットする

OpenGLを使わずに.obj形式のメッシュの可視化を自由にしたい。vispyを試してみたところ、簡単だがOpenGLなしでは自由な表現が出来なかった。開発中で実装が充実している最中なので今後もっと使いやすくなるかも。以下メモ。