camacq package¶
Control microscope through client server program.
Subpackages¶
Submodules¶
camacq.bootstrap module¶
Configure and set up control center.
-
async
camacq.bootstrap.
setup_dict
(center, config)¶ Set up control center from config dict.
- Parameters
config (dict) – The config dict.
- Returns
Return the Center instance.
- Return type
Center instance
-
async
camacq.bootstrap.
setup_file
(config_file, cmd_args)¶ Set up control center from config file and command line args.
- Parameters
config_file (str) – The path to the configuration YAML file.
cmd_args (dict) – The dict with the command line arguments.
- Returns
Return the Center instance.
- Return type
Center instance
camacq.config module¶
Handle the config file.
-
camacq.config.
create_default_config
(config_dir)¶ Create a default config file in given configuration directory.
- Parameters
config_dir (pathlib.Path) – The path to the configuration directory.
- Returns
Return path to new configuration file if success, None if failed.
- Return type
pathlib.Path
-
camacq.config.
ensure_config_exists
(config_dir)¶ Ensure configuration file exists in the configuration directory.
Create a default configuration file if needed.
- Parameters
config_dir (pathlib.Path) – The path to the configuration directory.
- Returns
Return path to the configuration file.
- Return type
pathlib.Path
-
camacq.config.
find_config_file
(config_dir)¶ Find the configuration file in the configuration directory.
- Parameters
config_dir (pathlib.Path) – The path to the configuration directory.
- Returns
Return path to the configuration file if found, None if not found.
- Return type
pathlib.Path
-
camacq.config.
get_default_config_dir
()¶ Get the default configuration directory based on OS.
- Returns
Return the path to the configuration directory.
- Return type
str
-
camacq.config.
load_config_file
(path)¶ Parse a YAML configuration file.
- Parameters
path (pathlib.Path) – The path to the configuration YAML file.
- Returns
Return a dict with the configuration contents.
- Return type
dict
camacq.const module¶
Store common constants.
camacq.control module¶
Control the microscope.
-
class
camacq.control.
Action
(action_type, action_id, func, schema)¶ Bases:
object
Represent an action.
-
class
camacq.control.
ActionType
¶ Bases:
camacq.util.dotdict
Represent an action type.
-
clear
() → None. Remove all items from D.¶
-
copy
() → a shallow copy of D¶
-
fromkeys
()¶ Create a new dictionary with keys from iterable and values set to value.
-
get
()¶ Return the value for key if key is in the dictionary, else default.
-
items
() → a set-like object providing a view on D's items¶
-
keys
() → a set-like object providing a view on D's keys¶
-
pop
(k[, d]) → v, remove specified key and return the corresponding value.¶ If key is not found, d is returned if given, otherwise KeyError is raised
-
popitem
() → (k, v), remove and return some (key, value) pair as a¶ 2-tuple; but raise KeyError if D is empty.
-
setdefault
()¶ Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
-
update
([E, ]**F) → None. Update D from dict/iterable E and F.¶ If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
-
values
() → an object providing a view on D's values¶
-
-
class
camacq.control.
ActionsRegistry
(center)¶ Bases:
object
Manage all registered actions.
-
property
actions
¶ Return dict of ActionTypes with all registered actions.
- Type
dict
-
async
call
(action_type, action_id, **kwargs)¶ Call an action with optional kwargs.
- Parameters
action_type (str) – The name of the module where the action is registered.
action_id (str) – The id of the action to call.
**kwargs – Arbitrary keyword arguments. These will be passed to the action function when an action is called.
-
register
(action_type, action_id, action_func, schema)¶ Register an action.
Register actions per module.
- Parameters
action_type (str) – The name of the action_type to register the action under.
action_id (str) – The id of the action to register.
action_func (voluptuous schema) – The function that should be called for the action.
action_func – The voluptuous schema that should validate the parameters of the action call.
-
property
-
class
camacq.control.
CamAcqStartEvent
(data=None)¶ Bases:
camacq.event.Event
An event fired when camacq has started.
-
data
¶
-
event_type
= 'camacq_start_event'¶
-
-
class
camacq.control.
CamAcqStopEvent
(data=None)¶ Bases:
camacq.event.Event
An event fired when camacq is about to stop.
-
data
¶
-
event_type
= 'camacq_stop_event'¶
-
property
exit_code
¶ Return the plate instance of the event.
- Type
int
-
-
class
camacq.control.
Center
(loop=None)¶ Bases:
object
Represent a control center for the microscope.
- Parameters
loop (asyncio.EventLoop) – The event loop.
-
loop
¶ Return the event loop.
- Type
asyncio.EventLoop
-
bus
¶ Return the EventBus instance.
- Type
EventBus instance
-
samples
¶ Return the Samples instance that holds all the Sample instances.
- Type
Samples instance
-
actions
¶ Return the ActionsRegistry instance.
- Type
ActionsRegistry instance
-
data
¶ Return dict that stores data from other modules than control.
- Type
dict
-
add_executor_job
(func, *args)¶ Schedule a function to be run in the thread pool.
Return a task.
-
create_task
(coro)¶ Schedule a coroutine on the event loop.
Return a task.
-
async
end
(code)¶ Prepare app for exit.
- Parameters
code (int) – Exit code to return when the app exits.
-
async
start
()¶ Start the app.
-
async
wait_for
()¶ Wait for all pending tasks.
-
camacq.control.
loop_exception_handler
(loop, context)¶ Handle exceptions inside the event loop.
camacq.event module¶
Hold events.
-
class
camacq.event.
Event
(data=None)¶ Bases:
object
A base event.
- Parameters
data (dict) – The data of the event.
-
data
¶ Return the data of the event.
- Type
dict
-
data
-
event_type
= 'base_event'¶
-
class
camacq.event.
EventBus
(center)¶ Bases:
object
Representation of an eventbus.
- Parameters
center (Center instance) – The Center instance.
-
property
event_types
¶ Return all registered event types.
- Type
list
-
async
notify
(event)¶ Notify handlers that an event has fired.
- Parameters
event (Event instance) – An instance of Event or an instance of subclass of Event.
-
register
(event_type, handler)¶ Register event handler and return a function to remove it.
An event can be a message from the microscope API or an internal event.
- Parameters
event_type (str) – A string representing the type of event.
handler (callable) – A coroutine function that should accept two parameters, center and event. The first parameter is the Center instance, the second parameter is the Event instance that has fired.
- Returns
Return a function to remove the registered handler.
- Return type
callable
-
camacq.event.
match_event
(event, **event_data)¶ Return True if event attributes match event_data.
camacq.exceptions module¶
Provide exceptions.
-
exception
camacq.exceptions.
CamAcqError
¶ Bases:
Exception
Represent the base camacq exception.
-
args
¶
-
with_traceback
()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
exception
camacq.exceptions.
MissingActionError
(action_id)¶ Bases:
camacq.exceptions.CamAcqError
Represent a missing action error.
-
args
¶
-
with_traceback
()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
exception
camacq.exceptions.
MissingActionTypeError
(action_type)¶ Bases:
camacq.exceptions.CamAcqError
Represent a missing action type error.
-
args
¶
-
with_traceback
()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
exception
camacq.exceptions.
SampleError
¶ Bases:
camacq.exceptions.CamAcqError
Represent a sample error.
-
args
¶
-
with_traceback
()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
exception
camacq.exceptions.
TemplateError
(exc)¶ Bases:
camacq.exceptions.CamAcqError
Represent a template error.
-
args
¶
-
with_traceback
()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
camacq.image module¶
Handle images.
-
class
camacq.image.
ImageData
(path=None, data=None, metadata=None)¶ Bases:
object
Represent the data of an image with path, data, metadata and histogram.
- Parameters
path (str) – Path to the image.
data (numpy array) – A numpy array with the image data.
metadata (dict) – The meta data of the image as a JSON dict.
-
path
¶ The path to the image.
- Type
str
-
property
data
¶ Return the data of the image.
- Setter
Set the data of the image.
- Type
numpy array
-
property
histogram
¶ Calculate and return image histogram.
- Type
numpy array
-
property
metadata
¶ Return metadata of image.
- Setter
Set the meta data of the image.
- Type
str
-
save
(path=None, data=None, metadata=None)¶ Save image with image data and optional meta data.
- Parameters
path (str) – The path to the image.
data (numpy array) – A numpy array with the image data.
metadata (dict) – The meta data of the image as a JSON dict.
-
camacq.image.
make_proj
(images)¶ Make a dict of max projections from a dict of channels and paths.
Each channel will make one max projection.
- Parameters
images (dict) – Dict of paths and channel ids.
- Returns
Return a dict of channels that map ImageData objects. Each image object have a max projection as data.
- Return type
dict
-
camacq.image.
read_image
(path)¶ Read a tif image and return the data.
- Parameters
path (str) – The path to the image.
- Returns
Return a numpy array with image data.
- Return type
numpy array
-
camacq.image.
save_image
(path, data, description=None)¶ Save a tif image with image data and meta data.
- Parameters
path (str) – The path to the image.
data (numpy array) – A numpy array with the image data.
description (str) – The description string of the image.
camacq.log module¶
Handle logging.
-
camacq.log.
check_path
(path)¶ Check that path to config exists and is writable for logging.
- Parameters
path (pathlib.Path) – The path to the log file or log directory.
- Returns
Return True if path exists and is writable.
- Return type
bool
-
camacq.log.
enable_log
(config)¶ Enable logging.
- Parameters
config (dict) – The dict with the configuration.
camacq.util module¶
Host utils that are not aware of the implementation of camacq.
-
class
camacq.util.
dotdict
¶ Bases:
dict
Access to dictionary attributes with dot notation.
-
clear
() → None. Remove all items from D.¶
-
copy
() → a shallow copy of D¶
-
fromkeys
()¶ Create a new dictionary with keys from iterable and values set to value.
-
get
()¶ Return the value for key if key is in the dictionary, else default.
-
items
() → a set-like object providing a view on D's items¶
-
keys
() → a set-like object providing a view on D's keys¶
-
pop
(k[, d]) → v, remove specified key and return the corresponding value.¶ If key is not found, d is returned if given, otherwise KeyError is raised
-
popitem
() → (k, v), remove and return some (key, value) pair as a¶ 2-tuple; but raise KeyError if D is empty.
-
setdefault
()¶ Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
-
update
([E, ]**F) → None. Update D from dict/iterable E and F.¶ If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
-
values
() → an object providing a view on D's values¶
-