本文整理汇总了Python中ij.measure.ResultsTable.save方法的典型用法代码示例。如果您正苦于以下问题:Python ResultsTable.save方法的具体用法?Python ResultsTable.save怎么用?Python ResultsTable.save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ij.measure.ResultsTable
的用法示例。
在下文中一共展示了ResultsTable.save方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ResultsTable
# 需要导入模块: from ij.measure import ResultsTable [as 别名]
# 或者: from ij.measure.ResultsTable import save [as 别名]
resultsTable.incrementCounter()
resultsTable.addValue("Threshold", localBackground)
resultsTable.addValue("Seed radius", seedRadius)
resultsTable.addValue("GXY", gaussXY)
resultsTable.addValue("GZ", gaussZ)
resultsTable.addValue("TOTAL", results[i]['all'])
resultsTable.addValue("0-250", results[i]['0'])
resultsTable.addValue("251-500", results[i]['250'])
resultsTable.addValue("501-750", results[i]['500'])
resultsTable.addValue("751-1000", results[i]['750'])
resultsTable.addValue("1001-1500", results[i]['1000'])
resultsTable.addValue(">1501", results[i]['1500'])
resultsTable.addValue("Skipped", results[i]['edge'])
resultsTable.save(options['outputDir'] + options['outputFile'])
else:
parametersTable = ResultsTable()
parametersTable.showRowNumbers(False)
parameters = makeParameters(options)
for i in range(0, len(parameters)):
parametersTable.incrementCounter()
parametersTable.addValue("Threshold", parameters[i]['localBackground'])
parametersTable.addValue("Seed radius", parameters[i]['seedRadius'])
parametersTable.addValue("GXY", parameters[i]['gaussXY'])
parametersTable.addValue("GZ", parameters[i]['gaussZ'])
parametersTable.save(options['paramsOut'])
示例2: process
# 需要导入模块: from ij.measure import ResultsTable [as 别名]
# 或者: from ij.measure.ResultsTable import save [as 别名]
def process(self,imp):
# extract nucleus channel, 8-bit and twice binned
imp.setC(self.nucleusChannel)
ip = imp.getChannelProcessor().duplicate()
ip = ip.convertToByteProcessor()
ip = ip.bin(4)
nucleus = ImagePlus("nucleus_channel", ip)
# threshold image and separate clumped nuclei
IJ.run(nucleus, "Auto Threshold", "method=Otsu white setthreshold show");
IJ.run(nucleus, "Make Binary", "thresholded remaining black");
IJ.run(nucleus, "Watershed", "");
directory = imp.getTitle()
directory = directory.replace(" ", "_")\
.replace(",", "_")\
.replace("#", "_series")\
.replace("...", "")\
.replace(".","_")
directory = os.path.join(self.exportDir, directory)
sliceDirectory = os.path.join(directory, "slices")
print directory
print sliceDirectory
if not os.path.exists(sliceDirectory):
os.makedirs(sliceDirectory)
# Create a table to store the results
table = ResultsTable()
# Create a hidden ROI manager, to store a ROI for each blob or cell
#roim = RoiManager(True)
# remove small particles and border particles
pa = ParticleAnalyzer(\
ParticleAnalyzer.ADD_TO_MANAGER | ParticleAnalyzer.EXCLUDE_EDGE_PARTICLES,\
Measurements.CENTER_OF_MASS,\
table,\
self.minArea, self.maxArea,\
0.0,1.0)
if pa.analyze(nucleus):
print "All ok, number of particles: ", table.size()
else:
print "There was a problem in analyzing", imp, nucleus
table.save(os.path.join(directory, "rt.csv"))
# read the center of mass coordinates
cmx = table.getColumn(0)
cmy = table.getColumn(1)
if self.debug:
imp.show()
i=0
for i in range(0, min(self.nCells,table.size())):
# ROI around the cell
cmx = table.getValue("XM",i)
cmy = table.getValue("YM",i)
x = 4 * cmx - (self.boxSize - 1) / 2
y = 4 * cmy - (self.boxSize - 1) / 2
if (x < self.edge or y < self.edge or x > imp.getWidth() - self.edge or y > imp.getHeight() - self.edge):
continue
roi = Roi(x,y,self.boxSize,self.boxSize)
imp.setRoi(roi, False)
cellStack = ImageStack(self.boxSize, self.boxSize)
for z in range(1, imp.getNSlices() + 1):
imp.setSlice(z)
for c in range(1, imp.getNChannels() + 1):
imp.setC(c)
# copy ROI to stack
imp.copy()
impSlice = imp.getClipboard()
cellStack.addSlice(impSlice.getProcessor())
if self.slices:
sliceTitle = "cell_%s_z%s_c%s" % (str(i).zfill(4), str(z).zfill(3), str(c))
print sliceTitle
IJ.saveAsTiff(impSlice, os.path.join(sliceDirectory, sliceTitle))
impSlice.close()
title = "cell_" + str(i).zfill(4)
cell = ImagePlus(title, cellStack)
# save ROI image
IJ.saveAsTiff(cell, os.path.join(directory, title))
cell.close()
if self.debug:
imp.updateAndDraw()
wait = Wait("particle done")
wait.show()
示例3: main
# 需要导入模块: from ij.measure import ResultsTable [as 别名]
# 或者: from ij.measure.ResultsTable import save [as 别名]
def main():
rt = RT.open2(table_file.getAbsolutePath())
if not rt: return
log(" --- --- --- ")
log("Loaded %s" % table_file.getAbsolutePath())
log("Loading column lists...")
# Get column indices from imported file
headings = getColumnHeadings(rt)
id_col = getColumnIndex(headings, "TID")
t_col = getColumnIndex(headings, "t [")
d2p_col = getColumnIndex(headings, "D2P [")
angle_col = getColumnIndex(headings, u'\u03B1 [deg]')
delta_col = getColumnIndex(headings, u'\u0394\u03B1 [deg]')
if angle_col == RT.COLUMN_NOT_FOUND:
log("Failed to detect index for angle column. Re-trying...")
angle_col = getColumnIndex(headings, u'? [deg]')
if delta_col == RT.COLUMN_NOT_FOUND:
log("Failed to detect index for delta angle column. Re-trying...")
delta_col = getColumnIndex(headings, u'?? [deg]')
log("Last column index is %s" % rt.getLastColumn())
if RT.COLUMN_NOT_FOUND in (id_col, d2p_col, delta_col, angle_col):
uiservice.showDialog("Error: Some key columns were not found!", "Invalid Table?")
return
log("Settings: BOUT_WINDOW= %s, MIN_D2P= %s, DEF_FRAME_INTERVAL= %s"
% (BOUT_WINDOW, '{0:.4f}'.format(MIN_D2P), DEF_FRAME_INTERVAL))
# Store all data on dedicated lists
track_id_rows = rt.getColumnAsDoubles(id_col)
d2p_rows = rt.getColumnAsDoubles(d2p_col)
angle_rows = rt.getColumnAsDoubles(angle_col)
delta_rows = rt.getColumnAsDoubles(delta_col)
t_rows = rt.getColumnAsDoubles(t_col)
# Assess n of data points and extract unique path ids
n_rows = len(track_id_rows)
row_indices = range(n_rows)
track_ids = set(track_id_rows)
n_tracks = len(track_ids)
log("Table has %g rows" % n_rows)
log("Table has %g tracks" % n_tracks)
log("Parsing tracks...")
for track_id in track_ids:
for row, next_row in zip(row_indices, row_indices[1:]):
if track_id_rows[row] != track_id:
continue
if not isNumber(angle_rows[row]):
rt.setValue("FLAG", row, "NA")
continue
lower_bound = max(0, row - BOUT_WINDOW + 1)
upper_bound = min(n_rows-1, row + BOUT_WINDOW)
win_d2p = []
for _ in range(lower_bound, upper_bound):
win_d2p.append(d2p_rows[row])
if sum(win_d2p) <= MIN_D2P * len(win_d2p):
rt.setValue("FLAG", row, 0)
else:
current_angle = angle_rows[row]
next_angle = angle_rows[next_row]
current_delta = delta_rows[row]
flag = -1 if current_angle < 0 else 1
delta_change = (abs(current_delta) > 90)
same_sign = ((current_angle<0) == (next_angle<0))
if delta_change and not same_sign:
flag *= -1
rt.setValue("FLAG", row, flag)
if next_row == n_rows - 1:
rt.setValue("FLAG", next_row, flag)
if rt.save(table_file.getAbsolutePath()):
log("Processed table successfully saved (file overwritten)")
else:
log("Could not override input file. Displaying it...")
rt.show(table_file.name)
log("Creating onset table...")
onset_rt = RT()
onset_rt.showRowNumbers(False)
frame_int = DEF_FRAME_INTERVAL
if "table" in frame_rate_detection:
frame_int = getFrameIntervalFromTable(row_indices, track_id_rows, t_rows)
elif "image" in frame_rate_detection:
frame_int = getFrameIntervalFromImage(image_file.getAbsolutePath())
else:
log("Using default frame rate")
#.........这里部分代码省略.........