2016-09-15 45 views
0

我试图从一个宏传递参数到宏中运行的插件,但插件返回错误,当我尝试检索传递的字符串参数。我相信这意味着我需要导入一个类,但是我试过的所有东西都没有奏效。下面的代码:斐济Jython:Macro.getOptions()返回错误“'宏'未定义”

from ij import IJ, ImagePlus, WindowManager, ImageStack 
from ij.process import FloatProcessor, ImageProcessor, ByteProcessor 
from ij.gui import ProgressBar, PointRoi 
from ij.measure import ResultsTable 

import ij 
import ij.macro.Interpreter 

import java.util.ArrayList as ArrayList 

#stackOpen = IJ.openImage("/home/srammie/Pictures/Chain_Demo1/chainStack1.tif") 
imageOpen = WindowManager.getCurrentImage() 
imageOpenTitle = imageOpen.getTitle() 
imageOpenTitle = imageOpenTitle.split("-") 
amplitude = imageOpenTitle[0] 
#imageOpen = IJ.openImage("/home/srammie/Pictures/chain_slap_eval1/summaryImage1.tif") 
summaryImage = imageOpen.getProcessor() 
print amplitude + " image being analyzed!" 

dupImageOpen = imageOpen.createImagePlus() 
dupSummaryImage = imageOpen.getProcessor().duplicate() 
dupSummaryImageTitle = amplitude + "_resultsImage" 
dupImageOpen.setProcessor(dupSummaryImageTitle, dupSummaryImage) 

lowerBoundArray = ArrayList() 
lowerBoundArrayRight = ArrayList() 
lowerBoundArrayLeft = ArrayList() 
upperBoundArray = ArrayList() 
upperBoundArrayRight = ArrayList() 
upperBoundArrayLeft = ArrayList() 
deltaArray = ArrayList() 
deltaArrayRight = ArrayList() 
deltaArrayLeft = ArrayList() 
largestDelta = 0 
smallestDelta = 100 

#print "Break" 
pRoi = ArrayList() 

arguments = Macro.getOptions() 
arg = arguments.split(" ") 
for i in range(0, len(arg)-1): 
    argString = arg[i].split("=") 
    pRoi.add(argString[1]) 

这个脚本是工作对我来说是第一次创建,但在重新启动斐济后,脚本开始返回错误

NameError:名字“宏”没有定义

有什么建议吗?谢谢!

编辑: 重新启动斐济再次似乎已使这个问题消失。

回答

1

您没有导入宏类。我改变了进口:

from ij import IJ, ImagePlus, WindowManager, ImageStack, Macro 
from ij.process import FloatProcessor, ImageProcessor, ByteProcessor 
from ij.gui import ProgressBar, PointRoi 
from ij.measure import ResultsTable 
from ij.macro import Interpreter 
from java.util import ArrayList 
+0

那是不是*进口ij.macro.Interpreter不同“ –

+0

看一看这个文档:http://www.ster.kuleuven.ac.be/~rik/ hdp/import-tutorial/ch01s02.html。 – Marcel

+0

太好了,谢谢! –