自分ではまったプログラミングの備忘録です。
mask.setValue(roiColor)
# with which color ROI filled (normally L_max)
ip.setThreshold(lowerV, upperV, ImageProcessor.NO_LUT_UPDATE)
roi = ThresholdToSelection.run(imp)
mask.setRoi(roi)
mask.fill(roi)
閾値を lowerV, upperV で設定しそこで選択された範囲を roi に変換し、mask という名の imageProcessor にそれを貼り付け、roiColor で指定した色で塗りつぶすというコードですが、この閾値に該当するピクセルが存在しない場合、当然 roi が作成されません。この場合、 mask.setRoi(roi) を実行してもエラーにはなりませんが、roi は貼りつかない状況になります。
この時 fill を実行すると、結局 roi がないとういことになります。しかし、これは全体が選択されている、ということになりますので、mask は全体が roiColor に塗りつぶされます。roi がない = 選択範囲がない、ということではないので、注意が必要です。