Запустите BackgroundSubtracter в jython-скрипте для Фиджи - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь создать скрипт Imagej / Fiji для анализа микроскопических изображений. В качестве части конвейера я хочу использовать вращающийся шарик BackgroundSubtracter, поставляемый на Фиджи. Согласно Imagej API , это должно выглядеть примерно так:

rollingBallBackground(ImageProcessor ip,
                              double radius,
                              boolean createBackground,
                              boolean lightBackground,
                              boolean useParaboloid,
                              boolean doPresmooth,
                              boolean correctCorners)

Однако, если я попытаюсь запустить это на одном канале трехканального изображения:

from ij import IJ, ImagePlus
from ij import WindowManager as wm
from ij.plugin import ChannelSplitter
from ij.plugin.filter import BackgroundSubtracter

imp = wm.getCurrentImage()
c1, c2, c3 = ChannelSplitter.split(imp)
c1.show() # This works
c1 = c1.getProcessor()
threshold = BackgroundSubtracter.rollingBallBackground(c1,
                                                      50.,
                                                      False,
                                                      False,
                                                      True,
                                                      False,
                                                      False)

Я получаю сообщение об ошибке:

Ошибка типа: RollingBallBackground (): ожидается 8 аргументов; получил 7

Если я добавлю еще один аргумент, скажем, еще один «Ложь» или «1», я получу эту ошибку:

TypeError: RollingBallBackground (): self arg не может быть приведен к ij.plugin.filter.BackgroundSubtracter

Что я делаю не так?

...