Handler class to start processes in an IPython notebook in a convenient way.
From this whole framework you should not need to create any instances by yourself but rather use the
given ipython handler for this.
Usage
-----
Create a handler object in the beginning of your NB and use the two methods `process`
and `process_parameter_space` to turn a path or a path creator function into a Basf2Calculation.
Do not create calculations on you own.
from tracking.validation.ipython_handler import handler
path = ...
calculation = handler.process(path)
Definition at line 14 of file ipython_handler.py.
def process_parameter_space |
( |
|
self, |
|
|
|
kwargs_creator_function, |
|
|
** |
parameter_lists |
|
) |
| |
|
inherited |
Create a list of calculations by combining all parameters with all parameters you provide and
feeding the tuple into the parameter_creator_function.
If the kwargs_creator_function has a parameter named queue, the function feeds the corresponding
created queue into the parameter_creator_function.
The parameter_creator_function must return a dictionary for every combination of parameters it gets,
which will be used to construct a process out of it.
See ipython_handler_basf2/ipython_handler for an example.
Please note that a list of calculations acts the same as a single calculation you would get from
the process function. You can handle 10 calculations the same way you would handle a single one.
The kwargs_creator_function can transform the incoming parameters into different ones. To make this
more clear, the resulting dictionary created by the kwargs_creator_function is called kwargs.
These are the ones, that will be used to create a calculation process, so they must be compatible to the
calculation you chose (namely compatible with the append function of the _calculation_type).
Arguments:
kwargs_creator_function: A function with as many input parameters
as parameters you provide. If the function has an additional
queue parameter it is fed with the corresponding queue for this
calculation.
parameter_lists: As many lists as you want. Every list is one
parameter. If you do not want a specific parameter
constellation to occur, you can return None in your
parameter_creator_function for this combination.
Usage::
def kwargs_creator_function(par_1, par_2, par_3, queue):
kwargs = {... f(par_1) ... g(par_2) ... h(par_3)}
queue.put(..., ...)
return kwargs
calculations = handler.process_parameter_space(kwargs_creator_function,
par_1=[1, 2, 3], par_2=["x", "y", "z"], par_3=[3, 4, 5])
The calculations will be created with the kwargs arguments.
Definition at line 65 of file ipython_handler.py.