いったん分かりだすとペースが早くなり、ここにメモを書くのがもどかしくなって、メモをせずにどんどん進めてしまった。要点だけ。
cctbx.xfel はスポット検出に distl.spotfinder, 指数付けに labelit を用いている。これらは画像ファイルへのアクセスに iotbx.detectors フレームワークに基づいている。これは古い仕組みであり、multipanel 検出器に対応していない。そのため、二次元配列にパネルを再構築する必要がある。二次元に再構築したものを NPy 形式と呼ぶようだ。cxi.imag2pickle は、SMV や CBF などの画像ファイルを NPy 形式に変換するコードである。
DIALS の dxtbx.format に基づく仕組みは、multipanel に対応している。過去との互換性のため、get_detectorbase() メソッドによって iotbx.detectorbase を継承したクラスを返すこともできる。