def showGui(par, title):
    """Updated version discriminates between string and numeric outputs to treat them accordingly"""
    numflags = {}

    gd = NonBlockingGenericDialog(title)
    s_keys = sorted(par.keys())
    for nm in s_keys:
        if isinstance(par[nm], (int, float, long)):
            gd.addNumericField(nm, par[nm], 1)
            numflags[nm] = True
        else:
            gd.addStringField(nm, par[nm])
            numflags[nm] = False
    gd.setOKLabel("Go on!")
    gd.setCancelLabel("Recompute..")
    gd.centerDialog(False)
    gd.setLocation(50, 100)
    gd.showDialog()

    if gd.wasCanceled():
        rep = True
    else:
        rep = False

    for nm in s_keys:
        if numflags[nm]:
            par[nm] = gd.getNextNumber()
        else:
            par[nm] = gd.getNextString().encode("ascii", "replace")
    return par, rep
Exemple #2
0
def displayInfoDialog(text, title = 'Info'):
	global infoDialog
	infoDialog = NonBlockingGenericDialog(title)
	infoDialog.addMessage(text)
	infoDialog.setLocation(0,0)
	infoDialog.setSize(400,800)
	infoDialog.show()
	return infoDialog
def measure_gd(src_folder,file_names):
	from javax.swing import JButton
	gd = NonBlockingGenericDialog("Loci to compartment")
	gd.setResizable(True)
	gd.pack()
	gd.addMessage("Draw a freehand ROI aound loci and closest \n compartment(e.g. speckle) and press 0 on keyboard.")
	gd.addMessage("To load next image press Next Image button.")
	next_imp_bt = JButton('Next Image', actionPerformed=load_next_image)
	gd.add(next_imp_bt)
	gd.setLocation(10,10)
	gd.setAlwaysOnTop(True)
	gd.hideCancelButton()
	gd.showDialog()  
	#  
	if gd.wasOKed():  
		IJ.log( "Measurement done! You're welcome!")
def measure_gd():
    # Dialouge box for measurements.
    # It
    from javax.swing import JButton
    gd = NonBlockingGenericDialog("Loci to compartment")
    gd.setResizable(True)
    gd.pack()
    gd.addMessage(
        "Draw a freehand ROI around the loci and closest \ncompartment(e.g. speckle) and press 0 on keyboard."
    )
    next_imp_bt = JButton('Analyze active image',
                          actionPerformed=analyze_image)
    gd.add(next_imp_bt)
    gd.setLocation(10, 10)
    gd.setAlwaysOnTop(True)
    gd.hideCancelButton()
    gd.showDialog()
    #
    if gd.wasOKed():
        IJ.log("Measurement done! Happy FISHing")
	im = IJ.getImage()
	if im.getNChannels() == 1:
		LUTarray = [LUT.createLutFromColor(Color.WHITE)]
	elif im.getNChannels() == 2:
		LUTarray = [LUT.createLutFromColor(Color.RED),LUT.createLutFromColor(Color.WHITE)]
	elif im.getNChannels() == 3:
		LUTarray = [LUT.createLutFromColor(Color.GREEN),LUT.createLutFromColor(Color.RED),LUT.createLutFromColor(Color.WHITE)]
	elif im.getNChannels() == 4:
		LUTarray = [LUT.createLutFromColor(Color.BLUE),LUT.createLutFromColor(Color.RED),LUT.createLutFromColor(Color.GREEN),LUT.createLutFromColor(Color.WHITE)]
	elif im.getNChannels() == 5:
		LUTarray = [LUT.createLutFromColor(Color.BLUE),LUT.createLutFromColor(Color.RED),LUT.createLutFromColor(Color.GREEN),LUT.createLutFromColor(Color.YELLOW),LUT.createLutFromColor(Color.WHITE)]
	else:
		LUTarray = []

	nbgd = NonBlockingGenericDialog("Pick freehand ROI")
	nbgd.setLocation(0,0)
	nbgd.addMessage("OK to run, cancel to exit")
	nbgd.showDialog()
	isContinue = nbgd.wasOKed()
	while isContinue:
		roi = im.getRoi()
		if (roi is not None):
			float_poly = roi.getFloatPolygon()
			containing_tiles_superlist = []
			for i in range(float_poly.npoints):
				containing_tiles_superlist.append(find_containing_tiles([float_poly.xpoints[i],float_poly.ypoints[i],0],coords_vals,scale_info[1],scale_info[2]))
			upscaled_coords = upscale_coords(coords,scale_info[0])
			containing_tiles_dict = rearrange_tile_list(containing_tiles_superlist)
			copy_fullsize_tiles(["tile_"+key for key in containing_tiles_dict.keys()],parentLSMFilePath+"_tiles/",parentLSMFilePath+"_tiles/subtiles/",".ome.tif")
			subupcoords_vals = normalize_coords_in_list(get_list_from_dict(["tile_"+key for key in containing_tiles_dict.keys()],upscaled_coords))
			hadStitched = False