Python における離散画像の入出力

2.xならPIL、3.xならPillowを使う。

# for 2.x
import numpy
import Image

#PILで画像読み込み→numpyのndarrayオブジェクトに変換
ImgPIL = Image.open("hoge.jpg")
Img = numpy.asarray(ImgPIL)
Img.flags.writeable = True

〜〜〜
numpyのndarrayに対する何らかの処理
〜〜〜

#ndarrayをPILのオブジェクトに変換し、saveメソッドでファイル出力
ImgPIL = Image.fromarray(numpy.uint8(Img))
ImgPIL.save("hogehoge.jpg")


(蛇足メモ)
Pillowもさして変わらないだろうと勝手に思うことにしている(現状では)。クロッピングやリサイズ(補間方法選択可)くらいならPILでいいかなと思う。simpleITKでいろいろ変換しようと思ったが公式ドキュメントがみつからなかった(あるの?)。一応、pythonのhelp関数を使えば外部使用は確認できた。

# e.g.
help(sitk.ResampleImageFilter)

上記を実行した場合、ResampleImageFilterのClassの説明とメンバ関数の説明が表示される。ただ、クラスの実際の利用方法はこれだけ読んでもよくわからないし、例も記載されていない。
SimpleITK Notebook(http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/)というものにはいろいろ書いてあるっぽいので、ここを見ればよいのだろうか・・・。