generic_decorators: Created to provide common decorators and expand on functools.
generic_decorators: Added the functions update_wrapper, and wraps. These expand on the equivalent functions in functools by adding the __wrapped__ attribute to show what the previously unwrapped function looked like.
generic_decorators: Added the function static_variables, which modifies the given callable to have the static variables and values specified.
generic_decorators: Added the decorator metaclass, which applies a metaclass to a class given after it has already been defined. Stores a __wrapped__ attribute on the wrapped class to refer back to the previously unwrapped class.
generic_decorators: Added the decorator metaclasses, which applies the given metaclasses to a class.
generic_decorators: Added the decorator class_static_variables, which uses a metaclass to add static variables to a class provided.
generic_decorators: Added class_decorate_all_methods, which will decorate all class methods of a given class with the given decorators.
generic_decorators: Added class_decorate_methods, which decorates selected methods that are specifed. If the method does not exist, it fails silently.
debugging_tools: Changed to use tools from generic_decorators make code shorter and more flexible.
debugging_tools: Added the decorator log_class, which will decorate all methods of a class using log_call and the arguments provided.
advanced_image_processing: Replaced decorators in classes using debugging_tools.log_call in favor of debugging_tools.log_class.
nanshe_viewer: Replaced decorators in classes using debugging_tools.log_call in favor of debugging_tools.log_class.
HDF5_recorder: Replaced decorators in classes using debugging_tools.log_call in favor of debugging_tools.log_class.
neuron_matplotlib_viewer: Replaced decorators in classes using debugging_tools.log_call in favor of debugging_tools.log_class.
HDF5_recorder: Updated the EmptyArrayRecorder to use __setitem__ instead of __call__. Also, added support for handling creation of a sublogger.
HDF5_recorder: Updated the HDF5ArrayRecorder to use __setitem__ instead of __call__. Also, added support for handling creation of a sublogger.
HDF5_recorder: Removed the function create_subgroup_HDF5_array_recorder as the same functionality can now be achieved by the recorders themselves.
HDF5_recorder: Updated generate_HDF5_array_recorder to use a more general set of arguments like different recorders. Also, loosens restrictions on what can be passed to the new recorder on instantiation.
HDF5_recorder: Created the ArrayRecorder, HDF5EnumeratedArrayRecorder, this uses an enumeration system to allow storing separate results with the same sort of name. Also, added code to HDF5EnumeratedArrayRecorder to set an attribute for each group key to specify whether it is a logger or data. Allows persistence across different Python sessions or different logger instances.
HDF5_recorder: Created the decorator static_subgrouping_array_recorders. It must be supplied arguments, which are either names for the recorders that will default to EmptyArrayRecorder instances or names with an explicit assignment of the type of recorder.
HDF5_recorder: Added the convenience decorator, static_array_debug_recorder, which adds one recorder with the name array_debug_recorder that is an instance of EmptyArrayRecorder.
HDF5_recorder: Created the function class_static_subgrouping_array_recorders, which has the same idea as the function static_subgrouping_array_recorders; except, it is designed for classes. It ensures that before an instance of a class is constructed a group will be created for that class and all function calls will be stored within it.
HDF5_recorder: Added the convenience decorator, class_static_array_debug_recorder, which adds one recorder with the name array_debug_recorder that is an instance of EmptyArrayRecorder using the decorator class_static_subgrouping_array_recorders.