FSLのJHU-labels.xml から、sed を使って領域名だけを抽出する方法

FSLのJHU-labels.xml から、sed を使って領域名だけを抽出する方法

FSLには Johns Hopkins University の白質アトラスがついてきます。
そのアトラスの領域名を抽出したいと思いました。

Short answer

cat JHU-labels.xml |\
sed -e 's@<label.*">@@' \
    -e 's@</label>@@' \
    -e 's@ @_@g' -e 's@__@@' |\
sed -n 17,66p

で、以下のようになります。

Middle_cerebellar_peduncle
Pontine_crossing_tract_(a_part_of_MCP)
Genu_of_corpus_callosum
Body_of_corpus_callosum
Splenium_of_corpus_callosum
...

もし、アトラスの番号を振りたかったら以下のようにします。

cat JHU-labels.xml |\
sed -e 's@<label.*">@@' \
    -e 's@</label>@@' \
    -e 's@ @_@g' \
    -e 's@__@@' |\
sed -n 17,66p |\
nl -n rz |
sed -E 's@0{4}@@'

この結果は以下になります。

01  Middle_cerebellar_peduncle
02  Pontine_crossing_tract_(a_part_of_MCP)
03  Genu_of_corpus_callosum
04  Body_of_corpus_callosum
05  Splenium_of_corpus_callosum
...

続きを読む

Ubuntu 22.04でのClaude Codeセットアップガイド【2026年2月版】

Claude Code を自分のUbuntuにセットアップしたいと思いました。Claude CodeなのでClaudeチャットにセットアップのドキュメントを準備するようにお願いしたところ、結構わかりやすく準備してくれたので、少し手を入れながら公開します。以下、Claudeが生成した文章です。私はFreeSurferの関係でまだ Ubuntu 22.04 を使っているので、Ubuntu 22.04用となります。なお、Claude Codeのセットアップは実際に手を動かして問題がありませんでした。

2026年2月1日補足 Claude Code は現在、ネイティブインストールに正式対応しました。過去に、npm でインストールした方は、

claude install

で簡単にネイティブに移行できます。

続きを読む

Ubuntuを使用する際、IPv6 環境やポート22 が閉じている場合に SSH でGitHub/GitLabを操作するための対処法

Ubuntuを使用する際、IPv6 環境やポート22 が閉じている場合に SSH でGitHub/GitLabを操作するための対処法

私は GitHub と GitLab をどちらも使っています。
ほぼ同時期に以下のことが起き、GitHub/GitLab との通信ができなくなりました。

  • ある場所のネットワークがIPv6に切り替わった。
  • 勤務先のひとつのネットワークが更新され、ポート22が閉じられた。

それぞれ調べて、以下のことがわかりました。

続きを読む

Lin4Neuroの Ubuntu 20.04版 から Ubuntu 22.04版 へのアップグレード

Lin4Neuroは現在、Ubuntu 22.04版がメインとなっています。
FreeSurferがまだUbuntu 24.04に対応していないためです。

しばらく前からLin4Neuroを使っている方は、Ubuntu 20.04版をお使いの可能性があります。
これをUbuntu 22.04版に更新する方法を説明します。

続きを読む

Ubuntuで apt-key が廃止になった今、理解しておいた方がいいこと

Ubuntuでサードパーティーのソフトウェアをインストールする際、過去には、apt-key コマンドでパッケージの電子署名用のOpenPGP公開鍵を扱っていました。

しかし、現在、apt-keyは廃止となりました。

私の中で混乱があったのでポイントをまとめました。

続きを読む

Windowsで、openai-whisperを使って文字起こしを行う方法 step-by-step

Windowsで、openai-whisperを使って文字起こしを行う方法 step-by-step

OpenAI は whisper という文字起こしができるソフトウェアを提供しています。
オープンソース版を使えば、料金がかかることなく使うことができ、音声データをクラウドにあげる必要なく文字起こしができるのですが、Windowsでのセットアップはやや厄介です。
このため、Windowsでのセットアップの方法を解説していきます。また、公開されているサンプルデータを使って、実際に文字起こしにもトライしてみます。

追記: このページへのアクセスが多いことと、個人的にうまくいったという報告とうまくいかなかったという報告を受けましたので、より確実な方法としてPythonの仮想環境の説明を加筆しました。

続きを読む

Lin4Neuroのハードウェアに関するアンケート

私はこれまで脳画像解析に特化したLinux, Lin4Neuroの開発をしてきました。
WindowsやmacOSの方が気軽に触れられるように仮想環境で使えるようにしてきましたが、
脳画像解析ソフトがGPUを必要としてきたり、Dockerの環境が増えてきたりと、いろいろ変化がある中、
実機にLinuxが入っている環境を充実させる必要があると感じています。

そこでアンケートをさせていただけたらと思います。

このアンケートの結果は後日公開します。匿名で3分程度で終わるアンケートなので、皆様のご意見をお聞かせいただけますでしょうか。
今後の開発の参考にいたします。

どうぞよろしくお願いします。2025年2月末に一度集計したいと思います。

以下のリンクからご協力ください。

(アンケートは終了しました。ご協力いただきありがとうございました)

https://forms.gle/RnH66Zvud6dXHSBW8

Bashのシェルスクリプトのshebang行は #!/usr/bin/env bash の方がいいかもしれない

シェルスクリプトを記載する時、bashで実行されることを意識する際、冒頭のシェバン (shebang) 行に

#!/bin/bash

と記載することが多いです。

Linuxではこれで全く問題ないのですが、近年の macOS の状況を見ていると、これはちょっと考え直した方がいいかなと思ってきました。

簡潔に言うと、

#!/usr/bin/env bash

とするのが汎用性の高い運用になると思います。

続きを読む

mkdir -p のあまり知られていない機能

mkdir -pmkdir --parents であり、必要に応じて親ディレクトリを作成する便利なオプションです。

しかし、ふと、man を見たらもうひとつの機能があることに気づきました。それは「ディレクトリが存在していてもエラーを返さない」というものです。

私はこれまでいつもスクリプトでディレクトリを作成する際は、

[[ -d some_directory ]] || mkdir some_directory

としていました。

しかし、実は、これは

mkdir -p some_directory

で終わってしまうということですね。

小さなことですが、勉強になったので、備忘録として記録しておきます。