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:名字「宏」沒有定義 。
有什麼建議嗎?謝謝!
編輯: 重新啓動斐濟再次似乎已使這個問題消失。
那是不是*進口ij.macro.Interpreter不同「 –
看一看這個文檔:http://www.ster.kuleuven.ac.be/~rik/ hdp/import-tutorial/ch01s02.html。 – Marcel
太好了,謝謝! –