navigate Logo

Getting Started

  • Quick Start Guide
  • Software Installation
  • I Want To…

User Guide

  • Supported Hardware
  • Supported File Formats
  • User Interface Walkthrough
  • Setting Up A Microscope
  • Acquiring Data
  • Case Studies

Development

  • Contributing Guidelines
  • Developer Install
  • Software Architecture
  • Feature Container
  • REST-API
  • Plugin Architecture

Troubleshooting & Known Issues

  • Troubleshooting
  • Known Issues

Plugins

  • navigate Plugin Template
  • navigate Confocal Projection
  • navigate at Scale
  • navigate Constant Velocity Acquisition
  • navigate MMCore
  • navigate ilastik Server
  • navigate Photoactivation

Reference

  • Implemented Microscopes
  • Software API
    • navigate.config
    • navigate.controller
    • navigate.log_files
    • navigate.model
      • navigate.model.analysis
      • navigate.model.concurrency
        • navigate.model.concurrency.concurrency_tools
      • navigate.model.data_sources
      • navigate.model.device_startup_functions
      • navigate.model.devices
      • navigate.model.features
      • navigate.model.metadata_sources
      • navigate.model.microscope
      • navigate.model.model
      • navigate.model.plugins_model
      • navigate.model.waveforms
    • navigate.tools
    • navigate.view
navigate
  • Software API
  • navigate.model
  • navigate.model.concurrency
  • navigate.model.concurrency.concurrency_tools
  • navigate.model.concurrency.concurrency_tools.ObjectInSubprocess
  • View page source

navigate.model.concurrency.concurrency_tools.ObjectInSubprocess

class navigate.model.concurrency.concurrency_tools.ObjectInSubprocess(initializer, *initargs, custom_loop=None, close_method_name=None, closeargs=None, closekwargs=None, with_lock=False, **initkwargs)

Bases: object

__init__(initializer, *initargs, custom_loop=None, close_method_name=None, closeargs=None, closekwargs=None, with_lock=False, **initkwargs)

Make an object in a child process, that acts like it isn’t.

As much as possible, we try to make instances of ObjectInSubprocess behave as if they’re an instance of the object living in the parent process. They’re not, of course: they live in a child process. If you have spare cores on your machine, this turns CPU-bound operations (which threading can’t parallelize) into IO-bound operations (which threading CAN parallelize), without too much mental overhead for the coder.

initializer – callable that returns an instance of a Python object initargs, initkwargs – arguments to ‘initializer’ close_method_name – string, optional, name of our object’s method to

be called automatically when the child process exits

closeargs, closekwargs – arguments to ‘close_method’

Methods

__init__(initializer, *initargs[, ...])

Make an object in a child process, that acts like it isn't.

Previous Next

© Copyright 2025, Dean Lab, UT Southwestern Medical Center.