ImageJの画像の型はImagePlusのgetTypeメソッドで取得できます。その種類は、 現状では、GRAY8, GRAY16, GRAY32, COLOR_RGB, 及び COLOR_256です。GRAY8はグレースケール(もしくは色チャンネル単独)で8bit (0-255の値を取る)、GRAY16はグレースケール(もしくは色チャンネル単独)で16bit (0-65535の値を取る)、GRAY32は浮動小数点を使った32bitの値で諧調を表現します。COLOR_256は、いわゆるインデックスカラーで、gifと同じように色を256色で表現します。COLOR_RGBはRGB3チャンネルでフルカラーを表現します。要注意なのはこのCOLOR_RGBの場合、8bit x 3チャンネルになることです。なぜならRGB各8bitの値を単独の24bitの整数値に割り付けて表現するからです*1
Color画像が単独のImageProcessor (ColorProcessor) として扱われている
とはいえ、ImageJの現行バージョンは16bit x 3 (または32bit x 3) のカラーの画像も扱えます。但し 8bit カラーの扱いと異なってきます。どのように扱っているかというと、画像の型が、GRAY8, GRAY16, GRAY32, COLOR_RGB, 及び COLOR_256の場合は、あるImagePlusオブジェクトが単独の画像を扱うのであれば、その中に1枚のImageProcessorしか含まれません。しかし16bitカラーの場合は、1枚のImageProcessorで表現することができず、必ずR, G, B, 3枚のImageProcessorがスタックとして含まれています(つまり、ImageProcessorは32bitが限界ということだと思います)。つまりGRAY16bit x 3枚で表現しているのです。それでもImageJ上では単独のカラー画像として表示できます。
これはおそらく元々はOSの32bitの制約 (現在は64bitまで拡張されているOSが増えていますが) から ImageProcessorの最大サイズが32bitに制限されているためと思われます。
ところで、他のアプリケーションと画像をやり取りするときに問題が起こります。この3枚のImageProcessorを含んだImagePlusオブジェクトを、他のアプリケーションで読ませるためにRGB画像ファイルとして出力しようとすると、多くの場合8bitカラー画像としてしか出力できません。但し、TIFFファイルであればImagePlusをそのまま出力できます。ところが、16bit x 3のImageProcessorを含んだImagePlusをTIFFとして出力した場合、R, G, B画像が別々のページとなった3ページのマルチページTIFFとして出力します。これだと多くの画像ソフトで正しく読み込めず、マルチページTIFFに対応しない画像ソフトでは、R画像のみのモノクロ画像に、マルチページ対応の画像ソフトではモノクロ 3ページの画像になってしまいます。GIMP (2.10.24以降)でも、読み込めることは読み込めますが、RGBそれぞれのチャンネルをそれぞれレイヤーもしくは別々の画像ファイルとして読み込みます。従って、GIMP上で正しく表示させるには、さらにチャンネル合成が必要になります。つまり16bit x 3スタックとして扱われている画像は、SaveAsTiff メソッドで保存しても常に SaveAsTiffStack メソッドで保存したのと同じ扱いになる (複数ページのTiffファイル扱い)、ということかと思います。基本的にはSaveAsTiffメソッドの仕様が変わらないと、16bitや32bit RGB TIFFファイルとして保存はできないものと思います。
ただ、16bitの無圧縮TIFFファイルを読み込んで、加工せずにそのまま名前を付けて保存しなおした場合は、16bitのまま保存が可能です。ひょっとしてどこかに抜け道があるかもしれませんが、まだ探せていません。
JavaのAPIを使えば抜け道があるのかもしれませんが...
ですので、4月に不均等黄変ネガ写真補正ツール簡易版を出したときは、16bit画像のチャンネル合成はGIMP上のプラグインで合成するようにしました。
とりあえず、ImageJによって、R, G, BチャンネルがマルチページのTIFFとして保存されたファイルをどの画像ソフトでも正しく扱えるRGBカラー画像フォーマットに変換するには、GIMPを使うのが良いと思います。上でも触れたようにGIMP (但し2.10.24以降) で読み込み、上図のダイアログが出たところでページの展開方法に[レイヤー]を選択して読み込みます。
すると一番下がR, 次がG, 一番上がBのレイヤーとして読み込みますので、読み込んだところで、メニューから[色]→[色要素]→[チャンネル合成]を選択します(下図)。
読み込んだら、一番下のレイヤー(背景)をR, 二番目のレイヤー(1ページ)をG, 一番上のレイヤー(2ページ)をB と指定してチャンネル合成を掛けると(デフォルトの順番と反対になる。下図参照)、合成されたRGBカラー画像になります。
----------------
この記事には以下に補足記事があります(2021.12)。
*1:以下を参照。