Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
@action
def dump(self, *args, dst=None, fmt=None, components=None, **kwargs):
""" Save data to another array or a file.
Parameters
----------
dst :
a destination (e.g. an array or a file name)
fmt : str
a destination format, one of None, 'blosc', 'csv', 'hdf5', 'feather'
components : None or str or tuple of str
components to load
*args :
other parameters are passed to format-specific writers
@action
def load(self, *args, src=None, fmt=None, dst=None, **kwargs):
""" Load data.
.. note:: if `fmt='images'` than ``components`` must be a single component (str).
.. note:: All parameters must be named only.
Parameters
----------
src : str, None
Path to the folder with data. If src is None then path is determined from the index.
fmt : {'image', 'blosc', 'csv', 'hdf5', 'feather'}
Format of the file to download.
dst : str, sequence
components to download.
"""
if fmt == 'image':
@action
def save(self, *args, **kwargs):
""" Save batch data to a file (an alias for dump method)"""
return self.dump(*args, **kwargs)
@action(use_lock='__dump_table_lock')
def _dump_table(self, dst, fmt='feather', components=None, *args, **kwargs):
""" Save batch data to table formats
Args:
dst: str - a path to dump into
fmt: str - format: feather, hdf5, csv
components: str or tuple - one or several component names
"""
filename = dst
components = tuple(components or self.components)
data_dict = {}
for comp in components:
comp_data = self.get(component=comp)
if isinstance(comp_data, pd.DataFrame):
data_dict.update(comp_data.to_dict('series'))
@action
def save(self, *args, **kwargs):
""" Save batch data to a file (an alias for dump method)"""
return self.dump(*args, **kwargs)
@action
def add_components(self, components, init=None):
""" Add new components
Parameters
----------
components : str or list
new component names
init : array-like
initial component data
"""
if isinstance(components, str):
components = (components,)
init = (init,)
elif isinstance(components, (tuple, list)):
components = tuple(components)
if init is None:
@action
@inbatch_parallel(init='indices', post='_assemble')
def apply_transform(self, ix, func, *args, src=None, dst=None, p=None, use_self=False, **kwargs):
""" Apply a function to each item in the batch
Parameters
----------
func : callable
a function to apply to each item from the source
src : str, sequence, list of str
the source to get data from, can be:
- None
- str - a component name, e.g. 'images' or 'masks'
- sequence - a numpy-array, list, etc
- list of str - get data from several components
@action
def dump(self, *args, dst=None, fmt=None, components="images", **kwargs):
""" Dump data.
.. note:: If `fmt='images'` than ``dst`` must be a single component (str).
.. note:: All parameters must be named only.
Parameters
----------
dst : str, None
Path to the folder where to dump. If dst is None then path is determined from the index.
fmt : {'image', 'blosc', 'csv', 'hdf5', 'feather'}
Format of the file to save.
components : str, sequence
Components to save.
ext: str
def _decorator(cls):
for method_name, method in cls.__dict__.copy().items():
if method_name.startswith(prefix) and method_name.endswith(suffix) and\
not method_name.startswith('__') and not method_name.endswith('__'):
def _wrapper():
#pylint: disable=cell-var-from-loop
wrapped_method = method
@wraps(wrapped_method)
def _func(self, *args, src='images', target='for', **kwargs):
return getattr(cls, wrapper)(self, wrapped_method, src=src,
use_self=True, target=target, *args, **kwargs)
return _func
name_slice = slice(len(prefix), -len(suffix))
wrapped_method_name = method_name[name_slice]
setattr(cls, wrapped_method_name, action(_wrapper()))
return cls
return _decorator
@action
@inbatch_parallel(init='indices', post='_assemble_patches')
def split_to_patches(self, ix, patch_shape, stride=1, drop_last=False, src='images', dst=None):
""" Splits image to patches.
Small images with the same shape (``patch_shape``) are cropped from the original one with stride ``stride``.
Parameters
----------
patch_shape : int, sequence
Patch's shape in the from (rows, columns). If int is given then patches have square shape.
stride : int, square
Step of the moving window from which patches are cropped. If int is given then the window has square shape.
drop_last : bool
Whether to drop patches whose window covers area out of the image.
If False is passed then these patches are cropped from the edge of an image. See more in tutorials.
src : str