pylablib.devices.utils package
Submodules
pylablib.devices.utils.color module
- pylablib.devices.utils.color.bayer_interpolate(src, off=(0, 0))[source]
Interpolate Bayer-filtered source image.
The algorithm is the straightforward linear nearest neighbor interpolation. The Bayer pattern is assume to be
[RG|GB], and off specifies the red pixel position with respect to the image origin.
pylablib.devices.utils.load_lib module
- pylablib.devices.utils.load_lib.get_os_lib_folder()[source]
Get default Windows DLL folder (
System32orSysWOW64, depending on Python and Windows bitness)
- pylablib.devices.utils.load_lib.get_program_files_folder(subfolder='', arch=None)[source]
Get default Windows Program Files folder or a subfolder within it.
If arch is
None, use the current Python architecture to determine the folder; otherwise, it specifies the architecture ("32bit"forProgram Files (x86),"64bit"forProgram Files)
- pylablib.devices.utils.load_lib.get_appdata_folder(subfolder='', kind='roaming')[source]
Get user AppData folder (used to install software only for specific users).
kind can be
"roaming"(returnRoamingAppData folder) or"local"(returnLocalAppData folder).
- pylablib.devices.utils.load_lib.get_environ_folder(var, subfolder='', error_missing=False)[source]
Get subfolder of a folder based on the environment variable.
If the environment variable is missing and
error_missing==True, raise an error; otherwise, returnNone.
- pylablib.devices.utils.load_lib.load_lib(name, locations=('global',), call_conv='cdecl', locally=False, depends=None, depends_required=True, error_message=None, check_order='location', return_location=False)[source]
Load DLL.
- Parameters:
name – name or path of the library (can also be a list or a tuple with several names, which are tried in that order).
locations – list or tuple of locations to search for a library; the function tries locations in order and returns the first successfully loaded library a location is a string which can be a path to the containing folder,
"parameter/*"(the remaining part is a subpath inside"devices/dlls"library parameters; if this parameter is defined, it names folder or file for the dll), or"global"(load path as is; also searches in the standard OS specified locations determined byPATHvariable, e.g.,System32folder).depends – if specified, it is a list of dependency libraries which need to be loaded first before the main DLL; they are assumed to be in the same location as the main file
depends_required – if
False, ignore errors during dependency loadslocally (bool) – if
True, prepend path to the DLL containing folder to the environmentPATHfolders; this is usually required, if the loaded DLL imports other DLLs in the same foldercall_conv (str) – DLL call convention; can be either
"cdecl"(corresponds toctypes.cdll) or"stdcall"(corresponds toctypes.windll)error_message (str) – error message to add in addition to the default error message shown when the DLL is not found
check_order (str) – determines the order in which possible combinations of names and locations are looped over; can be
"location"(loop over locations, and for each location loop over names),"name"(loop over names, and for each name loop over locations), or a list of tuples[(loc,name)]specifying order of checking (in the latter case, name and location arguments are ignored, except for generating error message).return_location (bool) – if
True, return a tuple(dll, location, folder)instead of a single dll.
- class pylablib.devices.utils.load_lib.TLibraryOpenResult(init_result, open_result, opid)
Bases:
tuple- init_result
- open_result
- opid
- class pylablib.devices.utils.load_lib.TLibraryCloseResult(close_result, uninit_result)
Bases:
tuple- close_result
- uninit_result
- class pylablib.devices.utils.load_lib.LibraryController(lib)[source]
Bases:
objectSimple wrapper to control libraries which require initialization when a new device is opened or shutdown when all devices are closed.
- Parameters:
lib – controlled library
- open()[source]
Mark device opening.
Return tuple
(init_result, open_result, opid)with the results of the initialization and the opening, and the opening ID which should afterwards be used for closing. If library is already initialized, setinit_result=None
pylablib.devices.utils.pixel_format module
- pylablib.devices.utils.pixel_format.convert_uint12(raw_data, mode='little_endian', width=None)[source]
Convert packed 12bit data (3 bytes per 2 pixels) into unpacked 16bit data (2 bytes per pixel).
raw_data is a 2D numpy array with the raw frame data of dimensions
(nrows, stride), wherestrideis the size of one row in bytes. mode is the packing mode; can be"little_endian"(end-to-end little-endian packing),"big_endian"(end-to-end big-endian packing), or"andor"(Andor camera-specific mode). width is the size of the resulting row in pixels; if it is 0 orNone, assumed to be maximal possible size.