ImageJ でスケールバーを入れる方法
ImageJ ではスケールバーを画像に埋め込むことができます。 そのためにはまず、スケールの数値をImageJに教える必要があります。
スケール数値の入力
Analyze > Set Scale
Distance in pixels : 画像のpixelサイズ、または任意のピクセル数を入れます。
Known distance : 上で記入したpixelあたりの長さを入れます。
Unit of length : Known distance の単位を入れます。
Global : チェックを入れると開くすべての画像に対して上記の設定が適用されます。
たとえばこんな感じです。
Distance in pixels : 1024
Known distance : 64
Unit of length : μm
画像のpixel数と実サイズの情報は meta data などに格納されています。tifなどで取り出している場合、meta data が付随していない場合もあります。その場合は元の顕微鏡オリジナルの拡張子をもったファイルを顕微鏡のソフトウェアで開いて確認してください。
次に、スケールバーを実際に入れます。
スケールバーの入れ方
Analyze > Tools > Scale Bar
- Width in ~ : Scale Bar の スケールを入れます。
- Height in pixels : Scale Bar の太さです。
- Font size : Scale Bar に数値を付ける場合はフォントサイズを入れます。論文などのFigureには数値は画像には入れないことが多いです。
- Color : 色を選べます。注意点としては、多色画像の場合、画像のタイプが RGB でなくては 任意の色にすることはできません。8 bit などにしているとそのチャンネルの色しか入れることができません。
- Back ground : Scale Bar 領域の背景を塗りつぶせます。
- Location : Scale Bar の位置を選べます。4隅、またはselectionを作っておけばその位置に入れることができます。
- Bold Text : 太字にできます。
- Hide Text : 数値を消します。
- Serif Font : セリフフォントにできます。
- Overlay : チェックを入れると RGB 画像以外でも好きな色で Scale Bar を入れることができます。ただし埋め込みではなくなるので、その後の処理によってはScale Bar がいなくなったりします。
- Label all slices : 8 bit などでチャンネルるごとにslice が分かれている場合や、複数画像 slice、stack tiff などになっている場合、この項目が現れます。チェックを入れるとすべてのsliceに同じScale Bar が埋め込まれます。
以上です。
python の multiprocessing.Process が jupyter notebook で動かなかった
ちなみに別環境では動いていたのだが、以下の環境では動かなった
Windows10 python3.6.7
エラー内容
def worker(x): for i in range(x): i = i + 1 from multiprocessing import Process p1 = Process(target=worker, args=(10000000,)) p2 = Process(target=worker, args=(10000000,)) p1.start() p2.start() p1.join() p2.join()
出力
AttributeError: Can't get attribute 'worker' on <module '__main__' (built-in)>
対応策
調べたところ呼び出す関数は別の.pyにすることで解決するらしい workers.pyに
def worker(x): for i in range(x): i = i + 1
notebookで
from workers import worker from multiprocessing import Process p1 = Process(target=worker, args=(10000000,)) p2 = Process(target=worker, args=(10000000,)) p1.start() p2.start() p1.join() p2.join()
これでよかった
しかし全てをnotebookで扱った方が便利な時もあるのでなんとかしたい。。。