def __init__(self, path=None, array=None, xy_array=None): self._modified = False self.scale = 1 self._path = None self._format = None n_args = len([a for a in [path, array, xy_array] if a is not None]) if n_args != 1: msg = "Must provide a single keyword arg (path, array, xy_array)." ValueError(msg) elif path is not None: if not is_url(path): path = os.path.abspath(path) self._path = path with file_or_url_context(path) as context: self.array = img_as_ubyte(io.imread(context)) self._format = imghdr.what(context) elif array is not None: self.array = array elif xy_array is not None: self.xy_array = xy_array # Force RGBA internally (use max alpha) if self.array.shape[-1] == 3: self.array = np.insert(self.array, 3, values=255, axis=2)
def __init__(self, path=None, array=None, xy_array=None): self._modified = False self.scale = 1 self._path = None self._format = None n_args = len([a for a in [path, array, xy_array] if a is not None]) if n_args != 1: msg = "Must provide a single keyword arg (path, array, xy_array)." ValueError(msg) elif path is not None: if not is_url(path): path = os.path.abspath(path) self._path = path with file_or_url_context(path) as context: self.array = io.imread(context) self._format = imghdr.what(context) elif array is not None: self.array = array elif xy_array is not None: self.xy_array = xy_array