本文整理汇总了Python中ilastik.core.jobMachine.GLOBAL_WM类的典型用法代码示例。如果您正苦于以下问题:Python GLOBAL_WM类的具体用法?Python GLOBAL_WM怎么用?Python GLOBAL_WM使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了GLOBAL_WM类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: begin
def begin(self):
#
# We monkey-patch javabridge.start_vm here in order to
# set up the ImageJ event bus (actually
# org.bushe.swing.event.ThreadSafeEventService) to not start
# its cleanup thread which semi-buggy hangs around forever
# and prevents Java from exiting.
#
def patch_start_vm(*args, **kwargs):
jvm_args = list(args[0]) + [
"-Dloci.bioformats.loaded=true",
"-Djava.util.prefs.PreferencesFactory="+
"org.cellprofiler.headlesspreferences"+
".HeadlessPreferencesFactory"]
#
# Find the ij1patcher
#
if hasattr(sys, 'frozen') and sys.platform == 'win32':
root = os.path.dirname(sys.argv[0])
else:
root = os.path.dirname(__file__)
jardir = os.path.join(root, "imagej", "jars")
patchers = sorted([
x for x in os.listdir(jardir)
if x.startswith("ij1-patcher") and x.endswith(".jar")])
if len(patchers) > 0:
jvm_args.append(
"-javaagent:%s=init" % os.path.join(jardir, patchers[-1]))
result = start_vm(jvm_args, *args[1:], **kwargs)
if javabridge.get_env() is not None:
try:
event_service_cls = javabridge.JClassWrapper(
"org.bushe.swing.event.ThreadSafeEventService")
event_service_cls.CLEANUP_PERIOD_MS_DEFAULT = None
except:
pass
return result
patch_start_vm.func_globals["start_vm"] = javabridge.start_vm
javabridge.start_vm = patch_start_vm
if "CP_EXAMPLEIMAGES" in os.environ:
self.temp_exampleimages = None
else:
self.temp_exampleimages = tempfile.mkdtemp(prefix="cpexampleimages")
if "CP_TEMPIMAGES" in os.environ:
self.temp_images = None
else:
self.temp_images = tempfile.mkdtemp(prefix="cptempimages")
#
# Set up matplotlib for WXAgg if in frozen mode
# otherwise it looks for TK which isn't there
#
if hasattr(sys, 'frozen'):
import matplotlib
matplotlib.use("WXAgg")
try:
from ilastik.core.jobMachine import GLOBAL_WM
GLOBAL_WM.set_thread_count(1)
except:
pass
示例2: finalize
def finalize(self, result):
try:
javabridge.deactivate_awt()
import imagej.imagej2
if imagej.imagej2.the_imagej_context is not None:
script = """
new java.lang.Runnable () {
run: function() {
ctx.getContext().dispose();
}
}"""
runnable = javabridge.run_script(
script, dict(ctx=imagej.imagej2.the_imagej_context))
javabridge.execute_runnable_in_main_thread(runnable, True)
imagej.imagej2.the_imagej_context = None
javabridge.static_call("java/lang/System", "gc", "()V")
except:
pass
try:
from ilastik.core.jobMachine import GLOBAL_WM
GLOBAL_WM.stopWorkers()
except:
logging.root.warn("Failed to stop Ilastik")
try:
from cellprofiler.utilities.zmqrequest import join_to_the_boundary
join_to_the_boundary()
except:
logging.root.warn("Failed to stop zmq boundary")
示例3: finalize
def finalize(self, result):
try:
if self.temp_images is not None:
import shutil
shutil.rmtree(self.temp_images)
if self.temp_exampleimages is not None:
import shutil
shutil.rmtree(self.temp_exampleimages)
except:
pass
from cellprofiler.utilities.cpjvm import cp_stop_vm
try:
import wx
app = wx.GetApp()
if app is not None:
app.ExitMainLoop()
app.MainLoop()
cp_stop_vm(kill=False)
except:
logging.root.warn("Failed to shut down AWT", exc_info=1)
try:
from ilastik.core.jobMachine import GLOBAL_WM
GLOBAL_WM.stopWorkers()
except:
logging.root.warn("Failed to stop Ilastik")
try:
from cellprofiler.utilities.zmqrequest import join_to_the_boundary
join_to_the_boundary()
except:
logging.root.warn("Failed to stop zmq boundary")
示例4: tearDownClass
def tearDownClass(cls):
try:
from ilastik.core.jobMachine import GLOBAL_WM
GLOBAL_WM.stopWorkers()
except:
pass
cls.notify_pub_socket.close()
示例5: teardown_package
def teardown_package():
'''Shut down the Ilastik threads if they are up'''
try:
from ilastik.core.jobMachine import GLOBAL_WM
GLOBAL_WM.stopWorkers()
except:
pass
示例6: main
def main():
#
# For Windows build with Ilastik, look for site-packages
# in order to find Ilastik sources.
#
if hasattr(sys, 'frozen') and sys.platform == "win32":
root = os.path.split(sys.argv[0])[0]
if len(root) == 0:
root = os.curdir
root = os.path.abspath(root)
site_packages = os.path.join(root, 'site-packages').encode('utf-8')
if os.path.exists(site_packages) and os.path.isdir(site_packages):
import site
site.addsitedir(site_packages)
#
# For OS/X set up the UI elements that users expect from
# an app.
#
if sys.platform == "darwin":
from cellprofiler.icons import get_builtin_images_path
icon_path = os.path.join(get_builtin_images_path(), "CellProfilerIcon.png")
os.environ["APP_NAME_%d" % os.getpid()] = "CellProfilerWorker"
os.environ["APP_ICON_%d" % os.getpid()] = icon_path
J.javabridge.mac_run_loop_init()
# Importing bioformats starts the JVM
import bioformats
# Start the deadman switch thread.
start_daemon_thread(target=exit_on_stdin_close,
name="exit_on_stdin_close")
with stdin_monitor_lock:
while not stdin_monitor_started:
stdin_monitor_cv.wait()
with AnalysisWorker(work_announce_address) as worker:
worker_thread = threading.Thread(target = worker.run,
name="WorkerThread")
worker_thread.setDaemon(True)
worker_thread.start()
print "Entering run loop"
enter_run_loop()
print "Exiting run loop"
worker_thread.join()
#
# Shutdown - need to handle some global cleanup here
#
try:
from ilastik.core.jobMachine import GLOBAL_WM
GLOBAL_WM.stopWorkers()
except:
logger.warn("Failed to stop Ilastik")
try:
J.kill_vm()
except:
logger.warn("Failed to stop the Java VM")
示例7: shutdown_cellprofiler
def shutdown_cellprofiler():
'''Oh sadness and so many threads that won't die...
'''
try:
import javabridge
javabridge.kill_vm()
except:
pass
try:
from ilastik.core.jobMachine import GLOBAL_WM
GLOBAL_WM.stopWorkers()
except:
pass
示例8: stop_cellprofiler
def stop_cellprofiler():
try:
from ilastik.core.jobMachine import GLOBAL_WM
GLOBAL_WM.stopWorkers()
except:
logging.root.warn("Failed to stop Ilastik")
try:
from cellprofiler.utilities.zmqrequest import join_to_the_boundary
join_to_the_boundary()
except:
logging.root.warn("Failed to stop zmq boundary", exc_info=1)
try:
from cellprofiler.utilities.cpjvm import cp_stop_vm
cp_stop_vm()
except:
logging.root.warn("Failed to stop the JVM", exc_info=1)
示例9: main
def main():
# XXX - move all this to a class
#
# For OS/X set up the UI elements that users expect from
# an app.
#
if sys.platform == "darwin":
from cellprofiler.icons import get_builtin_images_path
icon_path = os.path.join(get_builtin_images_path(), "CellProfilerIcon.png")
os.environ["APP_NAME_%d" % os.getpid()] = "CellProfilerWorker"
os.environ["APP_ICON_%d" % os.getpid()] = icon_path
J.javabridge.mac_run_loop_init()
# Importing bioformats starts the JVM
import bioformats
# Start the deadman switch thread.
start_daemon_thread(target=exit_on_stdin_close,
name="exit_on_stdin_close")
with stdin_monitor_lock:
while not stdin_monitor_started:
stdin_monitor_cv.wait()
with AnalysisWorker(work_announce_address) as worker:
worker_thread = threading.Thread(target = worker.run,
name="WorkerThread")
worker_thread.setDaemon(True)
worker_thread.start()
print "Entering run loop"
enter_run_loop()
print "Exiting run loop"
worker_thread.join()
#
# Shutdown - need to handle some global cleanup here
#
try:
from ilastik.core.jobMachine import GLOBAL_WM
GLOBAL_WM.stopWorkers()
except:
logger.warn("Failed to stop Ilastik")
try:
J.kill_vm()
except:
logger.warn("Failed to stop the Java VM")
示例10: main
def main():
# XXX - move all this to a class
parser = optparse.OptionParser()
parser.add_option("--work-announce",
dest="work_announce_address",
help="ZMQ port where work announcements are published",
default=None)
parser.add_option("--log-level",
dest="log_level",
help="Logging level for logger: DEBUG, INFO, WARNING, ERROR",
default=logging.INFO)
options, args = parser.parse_args()
logging.root.setLevel(options.log_level)
if not options.work_announce_address:
parser.print_help()
sys.exit(1)
# Start the deadman switch thread.
notify_started_cv = threading.Condition()
start_daemon_thread(target=exit_on_stdin_close,
name="exit_on_stdin_close",
args = (notify_started_cv, ))
with notify_started_cv:
notify_started_cv.wait()
try:
with AnalysisWorker(options.work_announce_address) as worker:
worker.run()
except CancelledException:
logger.debug("Exiting after cancellation")
finally:
#
# Shutdown - need to handle some global cleanup here
#
try:
from ilastik.core.jobMachine import GLOBAL_WM
GLOBAL_WM.stopWorkers()
except:
logger.warn("Failed to stop Ilastik")
try:
J.kill_vm()
except:
logger.warn("Failed to stop the Java VM")
示例11: begin
def begin(self):
#
# We monkey-patch javabridge.start_vm here in order to
# set up the ImageJ event bus (actually
# org.bushe.swing.event.ThreadSafeEventService) to not start
# its cleanup thread which semi-buggy hangs around forever
# and prevents Java from exiting.
#
def patch_start_vm(*args, **kwargs):
result = start_vm(*args, **kwargs)
if javabridge.get_env() is not None:
try:
event_service_cls = javabridge.JClassWrapper(
"org.bushe.swing.event.ThreadSafeEventService")
event_service_cls.CLEANUP_PERIOD_MS_DEFAULT = None
except:
pass
return result
patch_start_vm.func_globals["start_vm"] = javabridge.start_vm
javabridge.start_vm = patch_start_vm
if "CP_EXAMPLEIMAGES" in os.environ:
self.temp_exampleimages = None
else:
self.temp_exampleimages = tempfile.mkdtemp(prefix="cpexampleimages")
if "CP_TEMPIMAGES" in os.environ:
self.temp_images = None
else:
self.temp_images = tempfile.mkdtemp(prefix="cptempimages")
#
# Set up matplotlib for WXAgg if in frozen mode
# otherwise it looks for TK which isn't there
#
if hasattr(sys, 'frozen'):
import matplotlib
matplotlib.use("WXAgg")
try:
from ilastik.core.jobMachine import GLOBAL_WM
GLOBAL_WM.set_thread_count(1)
except:
pass
示例12: main
def main():
#
# For Windows build with Ilastik, look for site-packages
# in order to find Ilastik sources.
#
if hasattr(sys, 'frozen') and sys.platform == "win32":
root = os.path.split(sys.argv[0])[0]
if len(root) == 0:
root = os.curdir
root = os.path.abspath(root)
site_packages = os.path.join(root, 'site-packages').encode('utf-8')
if os.path.exists(site_packages) and os.path.isdir(site_packages):
import site
site.addsitedir(site_packages)
#
# For OS/X set up the UI elements that users expect from
# an app.
#
if sys.platform == "darwin":
from cellprofiler.icons import get_builtin_images_path
icon_path = os.path.join(get_builtin_images_path(), "CellProfilerIcon.png")
os.environ["APP_NAME_%d" % os.getpid()] = "CellProfilerWorker"
os.environ["APP_ICON_%d" % os.getpid()] = icon_path
# Start the JVM
from cellprofiler.utilities.cpjvm import cp_start_vm
cp_start_vm()
deadman_start_socket = the_zmq_context.socket(zmq.PAIR)
deadman_start_socket.bind(DEADMAN_START_ADDR)
# Start the deadman switch thread.
start_daemon_thread(target=exit_on_stdin_close,
name="exit_on_stdin_close")
deadman_start_socket.recv()
deadman_start_socket.close()
from cellprofiler.knime_bridge import KnimeBridgeServer
with AnalysisWorker(work_announce_address) as worker:
worker_thread = threading.Thread(target = worker.run,
name="WorkerThread")
worker_thread.setDaemon(True)
worker_thread.start()
with KnimeBridgeServer(the_zmq_context,
knime_bridge_address,
NOTIFY_ADDR, NOTIFY_STOP):
enter_run_loop()
worker_thread.join()
#
# Shutdown - need to handle some global cleanup here
#
try:
from ilastik.core.jobMachine import GLOBAL_WM
GLOBAL_WM.stopWorkers()
except:
logger.warn("Failed to stop Ilastik")
try:
from imagej.imagej2 import allow_quit
allow_quit()
except:
logger.warn("Failed to signal ImageJ to stop")
try:
J.kill_vm()
except:
logger.warn("Failed to stop the Java VM")
示例13: run_pipeline_headless
if options.run_pipeline:
App.frame.pipeline_controller.do_analyze_images()
App.MainLoop()
return
elif options.run_pipeline:
run_pipeline_headless(options, args)
except Exception, e:
logging.root.fatal("Uncaught exception in CellProfiler.py", exc_info=True)
raise
finally:
if __name__ == "__main__":
try:
from ilastik.core.jobMachine import GLOBAL_WM
GLOBAL_WM.stopWorkers()
except:
logging.root.warn("Failed to stop Ilastik")
try:
from cellprofiler.utilities.zmqrequest import join_to_the_boundary
join_to_the_boundary()
except:
logging.root.warn("Failed to stop zmq boundary")
try:
from cellprofiler.utilities.jutil import kill_vm
kill_vm()
except:
logging.root.warn("Failed to stop the JVM")
os._exit(0)
def parse_args(args):
示例14: run_pipeline_headless
def run_pipeline_headless(options, args):
'''Run a CellProfiler pipeline in headless mode'''
#
# Start Ilastik's workers
#
try:
from ilastik.core.jobMachine import GLOBAL_WM
GLOBAL_WM.set_thread_count(1)
except:
logging.root.warn("Failed to stop Ilastik")
if sys.platform == 'darwin':
if options.start_awt:
import bioformats
from javabridge import activate_awt
activate_awt()
if not options.first_image_set is None:
if not options.first_image_set.isdigit():
raise ValueError("The --first-image-set option takes a numeric argument")
else:
image_set_start = int(options.first_image_set)
else:
image_set_start = None
image_set_numbers = None
if not options.last_image_set is None:
if not options.last_image_set.isdigit():
raise ValueError("The --last-image-set option takes a numeric argument")
else:
image_set_end = int(options.last_image_set)
if image_set_start is None:
image_set_numbers = np.arange(1, image_set_end+1)
else:
image_set_numbers = np.arange(image_set_start, image_set_end+1)
else:
image_set_end = None
if ((options.pipeline_filename is not None) and
(not options.pipeline_filename.lower().startswith('http'))):
options.pipeline_filename = os.path.expanduser(options.pipeline_filename)
from cellprofiler.pipeline import Pipeline, EXIT_STATUS, M_PIPELINE
import cellprofiler.measurements as cpmeas
import cellprofiler.preferences as cpprefs
pipeline = Pipeline()
initial_measurements = None
try:
if h5py.is_hdf5(options.pipeline_filename):
initial_measurements = cpmeas.load_measurements(
options.pipeline_filename,
image_numbers=image_set_numbers)
except:
logging.root.info("Failed to load measurements from pipeline")
if initial_measurements is not None:
pipeline_text = \
initial_measurements.get_experiment_measurement(
M_PIPELINE)
pipeline_text = pipeline_text.encode('us-ascii')
pipeline.load(StringIO(pipeline_text))
if not pipeline.in_batch_mode():
#
# Need file list in order to call prepare_run
#
from cellprofiler.utilities.hdf5_dict import HDF5FileList
with h5py.File(options.pipeline_filename, "r") as src:
if HDF5FileList.has_file_list(src):
HDF5FileList.copy(
src, initial_measurements.hdf5_dict.hdf5_file)
else:
pipeline.load(options.pipeline_filename)
if options.groups is not None:
kvs = [x.split('=') for x in options.groups.split(',')]
groups = dict(kvs)
else:
groups = None
file_list = cpprefs.get_image_set_file()
if file_list is not None:
pipeline.read_file_list(file_list)
#
# Fixup CreateBatchFiles with any command-line input or output directories
#
if pipeline.in_batch_mode():
create_batch_files = [
m for m in pipeline.modules()
if m.is_create_batch_module()]
if len(create_batch_files) > 0:
create_batch_files = create_batch_files[0]
if options.output_directory is not None:
create_batch_files.custom_output_directory.value = \
options.output_directory
if options.image_directory is not None:
create_batch_files.default_image_directory.value = \
options.image_directory
use_hdf5 = len(args) > 0 and not args[0].lower().endswith(".mat")
measurements = pipeline.run(
image_set_start=image_set_start,
image_set_end=image_set_end,
grouping=groups,
measurements_filename = None if not use_hdf5 else args[0],
#.........这里部分代码省略.........
示例15: main
def main():
# XXX - move all this to a class
parser = optparse.OptionParser()
parser.add_option("--work-announce",
dest="work_announce_address",
help="ZMQ port where work announcements are published",
default=None)
parser.add_option("--log-level",
dest="log_level",
help="Logging level for logger: DEBUG, INFO, WARNING, ERROR",
default=logging.INFO)
options, args = parser.parse_args()
logging.root.setLevel(options.log_level)
if not options.work_announce_address:
parser.print_help()
sys.exit(1)
#
# For OS/X set up the UI elements that users expect from
# an app.
#
if sys.platform == "darwin":
from cellprofiler.icons import get_builtin_images_path
icon_path = os.path.join(get_builtin_images_path(), "CellProfilerIcon.png")
os.environ["APP_NAME_%d" % os.getpid()] = "CellProfilerWorker"
os.environ["APP_ICON_%d" % os.getpid()] = icon_path
J.javabridge.mac_run_loop_init()
# Importing bioformats starts the JVM
import bioformats
# Start the deadman switch thread.
start_daemon_thread(target=exit_on_stdin_close,
name="exit_on_stdin_close")
with stdin_monitor_lock:
while not stdin_monitor_started:
stdin_monitor_cv.wait()
with AnalysisWorker(options.work_announce_address) as worker:
worker_thread = threading.Thread(target = worker.run,
name="WorkerThread")
worker_thread.setDaemon(True)
worker_thread.start()
print "Entering run loop"
enter_run_loop()
print "Exiting run loop"
worker_thread.join()
#
# Shutdown - need to handle some global cleanup here
#
try:
from ilastik.core.jobMachine import GLOBAL_WM
GLOBAL_WM.stopWorkers()
except:
logger.warn("Failed to stop Ilastik")
try:
J.kill_vm()
except:
logger.warn("Failed to stop the Java VM")