print(xsize,ysize) for im in stitchedFiles: if not "hoechst" in im.lower(): IJ.open(inputDir1+im) imp = IJ.getImage() imp.setTitle(im.split('_')[0]) IJ.run("Images to Stack", "name=Stack title=[] use") imp = IJ.getImage() #IJ.run("Multiply...", "value=2.2") IJ.beep() gd = GenericDialog("Clockwise Rotation?") gd.addChoice("How Many Degrees",["0","90","180",'270'],"0") gd.showDialog() rotation = gd.getChoices().get(0).getSelectedItem() #in while loop while True: IJ.run("Stack to Images") IJ.run("Images to Stack", "name=Stack title=[] use") imp = IJ.getImage() myWait = ij.gui.WaitForUserDialog('Select Region to Load Full Res') myWait.show() region=IJ.getString("What to call region?", "") print(region) width=imp.getWidth() height=imp.getHeight() roi=imp.getRoi() xmin=roi.bounds.getMinX()/width
'''Display help for any CMTK tool''' from ij.gui import GenericDialog from java.awt.event import ItemListener import cmtkgui import os class ToolListener(ItemListener): def itemStateChanged(self, isc): toolc=choicef.getSelectedItem() helptext=cmtkgui.run_tool_stdout(toolc,'--help') print helptext ta.setText(helptext) gd = GenericDialog('Help for CMTK Tool') tools=os.listdir(cmtkgui.bin_dir()) gd.addChoice('CMTK tool',tools,tools[0]) choicef=gd.getChoices().get(0) choicef.addItemListener(ToolListener()) gd.addTextAreas('',None,50,80) ta=gd.getTextArea1() ta.setEditable(False) gd.showDialog() # gd.addMessage('Currently installed CMTK version: '+cmtkgui.installed_version())
def analysis_parameters_gui(rerun_analysis=False, params=None): """GUI for setting analysis parameters at the start of a run. TODO: more effectively separate model and view""" if params is None: params = Parameters(load_last_params = True); dialog = GenericDialog("Analysis parameters"); controls = []; if rerun_analysis: params.setUseSingleChannel(False); params.togglePerformUserQC(False); params.setDoInnerOuterComparison(False); controls.append(MyControlDefinition(u'Curvature length parameter (\u00b5m): ', MyControlDefinition.Numeric, round(params.curvature_length_um, 2), params.setCurvatureLengthUm)); controls.append(MyControlDefinition(u'Width of region for intensity analysis (\u00b5m): ', MyControlDefinition.Numeric, round(params.intensity_profile_width_um, 2), params.setIntensityProfileWidthUm)) controls.append(MyControlDefinition("Threshold method: ", MyControlDefinition.Choice, params.threshold_method, params.setThresholdMethod, choices=params.listThresholdMethods(), enabled=(not rerun_analysis))); controls.append(MyControlDefinition("Curvature overlay LUT: ", MyControlDefinition.Choice, params.curvature_overlay_lut_string, params.setCurvatureOverlayLUT, choices=IJ.getLuts())); controls.append(MyControlDefinition("Curvature kymograph LUT: ", MyControlDefinition.Choice, params.curvature_kymograph_lut_string, params.setCurvatureKymographLUT, choices=IJ.getLuts())); controls.append(MyControlDefinition("Labelled species kymograph LUT: ", MyControlDefinition.Choice, params.actin_kymograph_lut_string, params.setActinKymographLUT, choices=IJ.getLuts())); controls.append(MyControlDefinition("Labelled species for intensity analysis: ", MyControlDefinition.String, params.labeled_species, params.setLabeledSpecies)); controls.append(MyControlDefinition("Use intensity channel for segmentation too?", MyControlDefinition.Checkbox, params.use_single_channel, params.setUseSingleChannel, enabled=(not rerun_analysis))); controls.append(MyControlDefinition("Metadata source: ", MyControlDefinition.RadioButtonGroup, params.metadata_source, params.setMetadataSource, choices=["Image metadata", "Acquisition metadata"])); controls.append(MyControlDefinition("Constrain anchors close to manual selections?", MyControlDefinition.Checkbox, params.constrain_anchors, params.toggleConstrainAnchors, enabled=(not rerun_analysis))); controls.append(MyControlDefinition("Filter out negative curvatures", MyControlDefinition.Checkbox, params.filter_negative_curvatures, params.setFilterNegativeCurvatures)); controls.append(MyControlDefinition("Account for photobleaching?", MyControlDefinition.Checkbox, params.photobleaching_correction, params.togglePhotobleachingCorrection)); controls.append(MyControlDefinition("Perform quality control of membrane edges?", MyControlDefinition.Checkbox, params.perform_user_qc, params.togglePerformUserQC, enabled=(not rerun_analysis))); controls.append(MyControlDefinition("Perform quality control of background regions?", MyControlDefinition.Checkbox, params.qc_background_rois, params.toggleBackgroundQc)); controls.append(MyControlDefinition("Perform spatial cropping?", MyControlDefinition.Checkbox, params.perform_spatial_crop, params.toggleSpatialCrop, enabled=(not rerun_analysis))); controls.append(MyControlDefinition("Perform time cropping?", MyControlDefinition.Checkbox, params.perform_time_crop, params.toggleTimeCrop, enabled=(not rerun_analysis))); controls.append(MyControlDefinition("Close images on completion?", MyControlDefinition.Checkbox, params.close_on_completion, params.toggleCloseOnCompletion)); controls.append(MyControlDefinition("Compare inner and outer curvature regions?", MyControlDefinition.Checkbox, params.inner_outer_comparison, params.setDoInnerOuterComparison, enabled=(not rerun_analysis))); for control in controls: control.addControl(dialog); dialog.showDialog(); if dialog.wasCanceled(): raise KeyboardInterrupt("Run canceled"); numeric_controls = [c for c in controls if c.control_type==MyControlDefinition.Numeric]; for nc, nf in zip(numeric_controls, dialog.getNumericFields()): nc.setter(float(nf.getText())); string_controls = [c for c in controls if c.control_type==MyControlDefinition.String]; for sc, sf in zip(string_controls, dialog.getStringFields()): sc.setter(sf.getText()); choice_controls = [c for c in controls if c.control_type==MyControlDefinition.Choice]; for cc, cf in zip(choice_controls, dialog.getChoices()): cc.setter(cf.getSelectedItem()); checkbox_controls = [c for c in controls if c.control_type==MyControlDefinition.Checkbox]; for cbc, cbf in zip(checkbox_controls, dialog.getCheckboxes()): cbc.setter(cbf.getState()); radiobuttongroup_controls = [c for c in controls if c.control_type==MyControlDefinition.RadioButtonGroup]; for rbc in radiobuttongroup_controls: rbc.setter(rbc.checkboxes[[cb.getState() for cb in rbc.checkboxes].index(True)].getLabel()); params.persistParameters(); return params;
'''Display help for any CMTK tool''' from ij.gui import GenericDialog from java.awt.event import ItemListener from java.lang.System import getProperty sys.path.append(getProperty("fiji.dir") + "/plugins/CMTK_Registration") import cmtkgui import os class ToolListener(ItemListener): def itemStateChanged(self, isc): toolc=choicef.getSelectedItem() helptext=cmtkgui.run_tool_stdout(toolc,'--help') print helptext ta.setText(helptext) gd = GenericDialog('Help for CMTK Tool') tools=os.listdir(cmtkgui.bin_dir()) gd.addChoice('CMTK tool',tools,tools[0]) choicef=gd.getChoices().get(0) choicef.addItemListener(ToolListener()) gd.addTextAreas('',None,50,80) ta=gd.getTextArea1() ta.setEditable(False) gd.showDialog() # gd.addMessage('Currently installed CMTK version: '+cmtkgui.installed_version())