本文整理汇总了Python中ij.gui.GenericDialog类的典型用法代码示例。如果您正苦于以下问题:Python GenericDialog类的具体用法?Python GenericDialog怎么用?Python GenericDialog使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了GenericDialog类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getSettings
def getSettings(img):
"""This function assesses (by returning a boolean value) if the filter can
be applied to the image passed as argument. Will ask the user for new values
if current parameters are undefined."""
global xradius, yradius, zradius
canProceed = True
if not img:
IJ.error("No images open.")
canProceed = False
# Get new values if at least one of the parameters is 'null'
if canProceed and None in (xradius, yradius, zradius):
gd = GenericDialog("Median Filter")
gd.addNumericField("X radius:", 2.0, 1)
gd.addNumericField("Y radius:", 2.0, 1)
gd.addNumericField("Z radius:", 2.0, 1)
gd.showDialog()
if gd.wasCanceled():
canProceed = False
else:
xradius = gd.getNextNumber()
yradius = gd.getNextNumber()
zradius = gd.getNextNumber()
return canProceed
示例2: run
def run():
''' If someone tries to run this file by itself, warn them of their error. Unfortunately, since I was too lazy to make Microscope_Calibrations a full plugin (rather than a script), this accompanying settings file will show up in the Scripts menu.'''
from ij.gui import GenericDialog
gd = GenericDialog("Microscope_Calibrations_user_settings.py")
gd.addMessage("This file is only for adding functionality to the plugin 'Microscope Measurement Tools'.\nNothing is done when this settings file is run by itself." )
gd.showDialog()
示例3: run
def run():
''' If someone tries to run this file by itself, warn them of their error. Unfortunately, since I was too lazy to make Microscope_Calibrations a full plugin (rather than a script), this accompanying settings file will show up in the Scripts menu.'''
from ij.gui import GenericDialog
gd = GenericDialog("Microscope_Calibrations_user_settings.py")
gd.addMessage("This file is only for setting the microscope calibrations and settings for the plugins 'Microscope Measurement Tools'.\nNothing is done when this settings file is run by itself.\nPlease open this file in a text editor instead, to edit the calibrations.\n \n" + \
"The file should reside in a path like the following\n" + \
"Fiji.app/plugins/Scripts/Analyze/Microscope Measurement Tools/Microscope_Calibrations_user_settings.py\n " + "\n" + \
"Changes to the settings file are not automatically picked up by Fiji. The workaround is to\n 1) Quit Fiji.\n 2) Delete the '$py.class' file 'Microscope_Calibrations_user_settings$py.class'\n 3) Open Fiji. Make sure the new settings show up in 'Choose Microscope Calibration'." )
gd.showDialog()
开发者ID:demisjohn,项目名称:Microscope-Measurement-Tools,代码行数:11,代码来源:Microscope_Calibrations_user_settings.py
示例4: optionsDialog
def optionsDialog():
gd = GenericDialog('bPrairie2tif options')
# label, value, digits
gd.addNumericField('Median Filter Pixel Size (0 for no filtering)', globalOptions['medianFilter'], 0)
gd.addCheckbox('Convert to 8 bit', globalOptions['convertToEightBit'])
gd.showDialog()
if gd.wasCanceled():
return None
globalOptions['medianFilter'] = gd.getNextNumber()
globalOptions['convertToEightBit'] = gd.getNextBoolean()
return 1
示例5: getChannels
def getChannels():
gd = GenericDialog( "Select stack's channels" )
# print gd.getModalityType()
# gd.setModal( False )
# print gd.getModalityType()
color = ["red", "green", "blue"]
gd.addChoice("Channel for mask", color, color[2])
gd.addChoice("Channel for particles", color, color[1])
gd.showDialog()
maskChannel = gd.getNextChoice()
partChannel = gd.getNextChoice()
if gd.wasCanceled():
sys.exit()
return maskChannel, partChannel
示例6: _dialog
def _dialog(self,comment):
gd = GenericDialog(comment)
gd.enableYesNoCancel()
gd.showDialog()
if gd.wasCanceled():
print "user cancelled dialog"
sys.exit(1)
option = gd.wasOKed()
return option
示例7: get_results_filename
def get_results_filename():
'''Prompt the user to suggest name of the output file.'''
dialog = GenericDialog('Output results file')
dialog.addStringField('Choose name without extension:', 'results')
dialog.showDialog()
name = dialog.getNextString()
if dialog.wasCanceled():
return None
#TODO Check if file exists before and try again?
return name + '.csv'
示例8: Resize
def Resize(imp):
gd = GenericDialog("Image size")
scales = ["1024","2048","4096"]
gd.addChoice("Choose image size",scales,scales[1])
gd.showDialog()
scale_choice = gd.getNextChoice()
IJ.run(imp,"Scale...", "x=- y=- z=1.0 width="+scale_choice+" height="+scale_choice+" interpolation=Bilinear average process create title=Scaled")
scaled_imp = WindowManager.getImage("Scaled")
return scaled_imp
示例9: create_selection_dialog
def create_selection_dialog(image_titles, defaults, title='Select images for processing'):
gd = GenericDialog(title)
# The build in function enumerate() returns two values:
# The index and the value stored in the tuple/list.
for index, default in enumerate(defaults):
# for each loop we add a new choice element to the dialog.
gd.addChoice('Image_'+ str(index + 1), image_titles, image_titles[default])
gd.showDialog()
if gd.wasCanceled():
return None
# This function returns a list.
# _ is used as a placeholder for values we don't use.
# The for loop is used to call gd.getNextChoiceIndex() len(defaults) times.
return [gd.getNextChoiceIndex() for _ in defaults]
示例10: get_config_file
def get_config_file(folder):
'''Returns the config file name.'''
# Get list of files in the selected directory.
files = os.listdir(folder)
# Check if a config file is present in folder.
if default_config in files:
dialog = GenericDialog('Default config file found!')
dialog.addMessage('Use this file for the analysis?\n \n%s' % os.path.join(folder, default_config))
dialog.enableYesNoCancel()
dialog.showDialog()
if dialog.wasCanceled():
return None
elif dialog.wasOKed():
return default_config
else:
open_dialog = OpenDialog('Select a config file', folder, default_config)
return open_dialog.getFileName()
else:
# Ask user to select a config file.
open_dialog = OpenDialog('Select a config file', folder, default_config)
return open_dialog.getFileName()
示例11: create_selection_dialog
def create_selection_dialog(image_titles, defaults, title='Select images for processing'):
"""
Show a dialog to select the images to process and return a list of the selected ones (index).
:param image_titles: A list of image titles presented for selection.
:param defaults: The titles to be selected by default.
The length of this list defines the number of selectable images.
:param title: the title of the dialog (default 'Select images for processing').
"""
dialog = GenericDialog(title)
for index, default in enumerate(defaults):
dialog.addChoice('Image_'+ str(index + 1), image_titles, image_titles[default])
dialog.showDialog()
if dialog.wasCanceled():
return None
return [dialog.getNextChoiceIndex() for _ in defaults]
示例12: getOptionsDialog
def getOptionsDialog(self, imp):
thr_methods = ["None", "Default", "Huang", "Intermodes", "IsoData", "Li", "MaxEntropy","Mean", "MinError(I)", "Minimum", "Moments", "Otsu", "Percentile", "RenyiEntropy", "Shanbhag" , "Triangle", "Yen"]
gd = GenericDialog("Please select channels to collocalize")
for i in range(1, imp.getNChannels() + 1):
gd.addChoice("Threshold method for channel %i" % i, thr_methods, "None")
gd.showDialog()
if gd.wasCanceled():
self.exit()
channels = []
for i in range(1, imp.getNChannels() + 1):
method = gd.getNextChoice()
self.methods.append(method)
if method != "None":
channels.append(i)
for x in channels:
for y in channels:
if x < y:
self.pairs.append((x, y))
示例13: open_Octopus_file
def open_Octopus_file():
# set up a file info structure
fi = FileInfo()
fi.fileFormat = fi.RAW
fi.fileType=FileInfo.GRAY16_UNSIGNED
fi.intelByteOrder = True
fi.nImages = 1
op = OpenDialog("Choose Octopus .dth file...", "")
if not op.getDirectory(): return False
# get the file extension
file_extension = re.search('(\.[a-z][a-z][a-z])', op.getFileName()).group(1)
if file_extension != ".dth":
dlg = GenericDialog("Warning")
dlg.addMessage("Please select an octopus .dth file")
dlg.showDialog()
return False
# now strip the filename into a stem and index
file_parse = re.match('([a-zA-z0-9_]*_)([0-9]+)\.dth', op.getFileName())
file_stem = file_parse.group(1)
file_index = int( file_parse.group(2) )
# ok now we need to parse the header info
header = get_Octopus_header(op.getDirectory(), file_stem, file_index)
fi.nImages = len(header['N'])
# check to see whether we have a bit depth, if not, assume 16-bit
if 'Bit_Depth' in header:
print header['Bit_Depth']
bit_depth = int(header['Bit_Depth'][0])
if bit_depth == 8: fi.fileType = FileInfo.GRAY8
else:
bit_depth = 16
# will assume that all files have the same size
fi.width = int( header['W'][0] )
fi.height = int( header['H'][0] )
file_timestamp = strftime("%a, %d %b %Y %H:%M:%S", gmtime(float(header['Time'][0])) )
# make a new imagestack to store the data
stack = ImageStack(fi.width, fi.height)
# finally, we need to make a list of files to import as sometimes we have
# non contiguous file numbers
try:
files = os.listdir(op.getDirectory())
except IOError:
raise IOError( "No files exist in directory: " + op.getDirectory())
filenums = []
for f in files:
# strip off the stem, and get the number
targetfile = re.match(file_stem+'([0-9]+)\.dth', f)
# only take thosefiles which match the formatting requirements
if targetfile:
filenums.append( int(targetfile.group(1)) )
# sort the file numbers
sorted_filenums = sorted(filenums)
# make a file stats string
file_stats_str = file_stem + '\n' + str(fi.width) +'x' + str(fi.height) + 'x' + \
str(len(sorted_filenums)) +' ('+str(bit_depth)+'-bit)\n' + file_timestamp
# now open a dialog to let the user set options
dlg = GenericDialog("Load Octopus Stream (v"+__version__+")")
dlg.addMessage(file_stats_str)
dlg.addStringField("Title: ", file_stem)
dlg.addNumericField("Start: ", 1, 0);
dlg.addNumericField("End: ", len(sorted_filenums), 0)
dlg.addCheckbox("Open headers", True)
dlg.addCheckbox("Contiguous stream?", False)
dlg.addCheckbox("8-bit unsigned", bit_depth==8)
dlg.showDialog()
# if we cancel the dialog, exit here
if dlg.wasCanceled():
return
# set some params
file_title = dlg.getNextString()
file_start = dlg.getNextNumber()
file_end = dlg.getNextNumber()
DISPLAY_HEADER = bool( dlg.getNextBoolean() )
# check the ranges
if file_start > file_end:
file_start, file_end = file_end, file_start
if file_start < 1:
file_start = 1
if file_end > len(sorted_filenums):
file_end = len(sorted_filenums)
# now set these to the actual file numbers in the stream
#.........这里部分代码省略.........
示例14: make_directory
def make_directory(imgDir):
""" Makes the necessary output directories or overwrites current ones. """
if not path.exists(imgDir) or not path.isdir(imgDir):
print "Not a valid directory"
exit(0)
if not path.exists(imgDir+"/binary"):
mkdir(imgDir+"/binary")
else:
gd = GenericDialog("Confirm Overwrite")
choices = ["Yes", "No"]
gd.addChoice("Overwrite \"binary\" folder?", choices, choices[0])
gd.showDialog()
if gd.wasCanceled():
exit(0)
choice = gd.getNextChoice()
if choice == "No":
exit(0)
shutil.rmtree(imgDir+"/binary")
mkdir(imgDir+"/binary")
if not path.exists(imgDir+"/greyscale"):
mkdir(imgDir+"/greyscale")
else:
gd = GenericDialog("Confirm Overwrite")
choices = ["Yes", "No"]
gd.addChoice("Overwrite \"greyscale\" folder?", choices, choices[0])
gd.showDialog()
if gd.wasCanceled():
exit(0)
choice = gd.getNextChoice()
if choice == "No":
exit(0)
shutil.rmtree(imgDir+"/greyscale")
mkdir(imgDir+"/greyscale")
示例15: get_setup
def get_setup():
'''Returns two ImagePlus objects and a dictionary of properties to copy.'''
dialog = GenericDialog('Copy Properties setup')
dialog.addMessage('Select the source and target image and the properties to copy.')
image_ids = WindowManager.getIDList()
if not image_ids or len(image_ids) < 2:
IJ.showMessage('Two or more images are necessary to use this plugin.')
return [None]*3
image_titles = [WindowManager.getImage(id).getTitle() for id in image_ids]
dialog.addChoice('Source', image_titles, image_titles[0])
dialog.addChoice('Target', image_titles, image_titles[1])
dialog.addCheckbox('Copy Calibration', True)
dialog.addCheckbox('Copy Slice Labels', False)
dialog.showDialog()
if dialog.wasCanceled():
return [None]*3
source = WindowManager.getImage(image_ids[dialog.getNextChoiceIndex()])
target = WindowManager.getImage(image_ids[dialog.getNextChoiceIndex()])
choices = {'cal': dialog.getNextBoolean(),
'labels': dialog.getNextBoolean()
}
return source, target, choices