neuralib.imglib.array.ImageArrayWrapper

class neuralib.imglib.array.ImageArrayWrapper[source]

Bases: ndarray

Subclass of numpy.ndarray that wraps an image and provides chainable image processing methods

__init__()

Methods

__init__()

all([axis, out, keepdims, where])

Returns True if all elements evaluate to True.

any([axis, out, keepdims, where])

Returns True if any of the elements of a evaluate to True.

argmax([axis, out, keepdims])

Return indices of the maximum values along the given axis.

argmin([axis, out, keepdims])

Return indices of the minimum values along the given axis.

argpartition(kth[, axis, kind, order])

Returns the indices that would partition this array.

argsort([axis, kind, order, stable])

Returns the indices that would sort this array.

astype(dtype[, order, casting, subok, copy])

Copy of the array, cast to a specified type.

binarize(thresh[, maxval])

Convert the image to a binary image using a fixed threshold.

byteswap([inplace])

Swap the bytes of the array elements

canny_filter([threshold_1, threshold_2])

Apply the Canny edge detection algorithm to the grayscale version of the image.

choose(choices[, out, mode])

Use an index array to construct a new array from a set of choices.

clip([min, max, out])

Return an array whose values are limited to [min, max].

compress(condition[, axis, out])

Return selected slices of this array along given axis.

conj()

Complex-conjugate all elements.

conjugate()

Return the complex conjugate, element-wise.

copy([order])

Return a copy of the array.

cumprod([axis, dtype, out])

Return the cumulative product of the elements along the given axis.

cumsum([axis, dtype, out])

Return the cumulative sum of the elements along the given axis.

denoise([h, temp_win_size, search_win_size])

Apply Non-local Means Denoising to the image.

diagonal([offset, axis1, axis2])

Return specified diagonals.

dot(other, /[, out])

Refer to numpy.dot() for full documentation.

dump(file)

Dump a pickle of the array to the specified file.

dumps()

Returns the pickle of the array as a string.

enhance_contrast()

Enhance the contrast of the image using histogram equalization

fill(value)

Fill the array with a scalar value.

flatten([order])

Return a copy of the array collapsed into one dimension.

fliplr()

flip the image array left to right (horizontal flip)

flipud()

flip the image array upside down (vertical)

gaussian_blur(ksize, sigma_x, sigma_y, **kwargs)

Apply a Gaussian blur to the image.

getfield(dtype[, offset])

Returns a field of the given array as a certain type.

item(*args)

Copy an element of an array to a standard Python scalar and return it.

local_maxima(channel, **kwargs)

Compute the local maxima of the image on a specified color channel.

max([axis, out, keepdims, initial, where])

Return the maximum along a given axis.

mean([axis, dtype, out, keepdims, where])

Returns the average of the array elements along given axis.

min([axis, out, keepdims, initial, where])

Return the minimum along a given axis.

nonzero()

Return the indices of the elements that are non-zero.

partition(kth[, axis, kind, order])

Partially sorts the elements in the array in such a way that the value of the element in k-th position is in the position it would be in a sorted array.

prod([axis, dtype, out, keepdims, initial, ...])

Return the product of the array elements over the given axis

put(indices, values[, mode])

Set a.flat[n] = values[n] for all n in indices.

ravel([order])

Return a flattened array.

repeat(repeats[, axis])

Repeat elements of an array.

reshape()

Returns an array containing the same data with a new shape.

resize()

Change shape and size of array in-place.

round([decimals, out])

Return a with each element rounded to the given number of decimals.

searchsorted(v[, side, sorter])

Find indices where elements of v should be inserted in a to maintain order.

select_channel(channel)

extract a single color channel from an RGB or RGBA image

setfield(val, dtype[, offset])

Put a value into a specified place in a field defined by a data-type.

setflags([write, align, uic])

Set array flags WRITEABLE, ALIGNED, WRITEBACKIFCOPY, respectively.

sort([axis, kind, order, stable])

Sort an array in-place.

squeeze([axis])

Remove axes of length one from a.

std([axis, dtype, out, ddof, keepdims, ...])

Returns the standard deviation of the array elements along given axis.

sum([axis, dtype, out, keepdims, initial, where])

Return the sum of the array elements over the given axis.

swapaxes(axis1, axis2, /)

Return a view of the array with axis1 and axis2 interchanged.

take(indices[, axis, out, mode])

Return an array formed from the elements of a at the given indices.

to_device(device, /, *[, stream])

For Array API compatibility.

to_gray()

convert the image array to grayscale

tobytes([order])

Construct Python bytes containing the raw data bytes in the array.

tofile(fid, /[, sep, format])

Write array to a file as text or binary (default).

tolist()

Return the array as an a.ndim-levels deep nested list of Python scalars.

trace([offset, axis1, axis2, dtype, out])

Return the sum along diagonals of the array.

transpose(*axes)

Returns a view of the array with axes transposed.

var([axis, dtype, out, ddof, keepdims, ...])

Returns the variance of the array elements, along given axis.

view([dtype][, type])

New view of array with the same data.

view_2d([flipud])

Convert a multi-channel image to a 2D representation.

Attributes

T

View of the transposed array.

base

Base object if memory is from some other object.

ctypes

An object to simplify the interaction of the array with the ctypes module.

data

Python buffer object pointing to the start of the array's data.

device

dtype

Data-type of the array's elements.

flags

Information about the memory layout of the array.

flat

A 1-D iterator over the array.

height

image height

imag

The imaginary part of the array.

itemsize

Length of one array element in bytes.

mT

View of the matrix transposed array.

nbytes

Total bytes consumed by the elements of the array.

ndim

Number of array dimensions.

real

The real part of the array.

shape

Tuple of array dimensions.

size

Number of elements in the array.

strides

Tuple of bytes to step in each dimension when traversing an array.

width

image width

static __new__(cls, dat, *, mode=None, alpha=False)[source]
Parameters:
  • dat (ndarray | str | Path | PathLike[str]) – Image data as a NumPy array or a file path

  • mode (Literal['RGB', 'RGBA', 'gray'] | None) – Color mode {‘RGB’, ‘RGBA’, ‘gray’}. Optional if dat is ndarray.

  • alpha (bool) – If True and loading from file, convert to RGBA

Return type:

Self

property height: int

image height

property width: int

image width

to_gray()[source]

convert the image array to grayscale

Return type:

ImageArrayWrapper

flipud()[source]

flip the image array upside down (vertical)

Return type:

ImageArrayWrapper

fliplr()[source]

flip the image array left to right (horizontal flip)

Return type:

ImageArrayWrapper

select_channel(channel)[source]

extract a single color channel from an RGB or RGBA image

Parameters:

channel (Literal['r', 'g', 'b', 'red', 'green', 'blue']) – one of ‘r’/’red’, ‘g’/’green’, or ‘b’/’blue’.

Return type:

ImageArrayWrapper

view_2d(flipud=False)[source]

Convert a multi-channel image to a 2D representation.

  • For a 4-channel image, the array is reinterpreted as a 2D array of 32-bit integers.

  • For a 3-channel image, the result is a grayscale image obtained by applying luminance conversion.

Parameters:

flipud (bool) – reverse the order of elements along axis 0 (up/down)

Return type:

ImageArrayWrapper

gaussian_blur(ksize, sigma_x, sigma_y, **kwargs)[source]

Apply a Gaussian blur to the image.

Parameters:
  • ksize (Sequence[int]) – Kernel size (e.g., (5, 5)). The width and height should be odd numbers.

  • sigma_x (float) – Standard deviation in the X direction.

  • sigma_y (float) – Standard deviation in the Y direction.

  • kwargs – Additional keyword arguments for cv2.GaussianBlur().

Return type:

ImageArrayWrapper

canny_filter(threshold_1=30, threshold_2=150, **kwargs)[source]

Apply the Canny edge detection algorithm to the grayscale version of the image.

Parameters:
  • threshold_1 (float) – The first threshold for the hysteresis procedure.

  • threshold_2 (float) – The second threshold for the hysteresis procedure.

  • kwargs – Additional keyword arguments for cv2.Canny().

Return type:

ImageArrayWrapper

binarize(thresh, maxval=255, **kwargs)[source]

Convert the image to a binary image using a fixed threshold.

Parameters:
  • thresh (float) – Threshold value. Pixels above this value are set to maxval; otherwise, 0.

  • maxval (float) – The value to use for pixels above the threshold.

  • kwargs – Additional keyword arguments for cv2.threshold().

Return type:

ImageArrayWrapper

denoise(h=10, temp_win_size=7, search_win_size=21, **kwargs)[source]

Apply Non-local Means Denoising to the image.

  • For grayscale images, cv2.fastNlMeansDenoising is used.

  • For color images, cv2.fastNlMeansDenoisingColored is used.

Parameters:
  • h (int) – Filtering parameter controlling the degree of smoothing.

  • temp_win_size (int) – Template window size in pixels.

  • search_win_size (int) – Search window size in pixels.

  • kwargs – Additional keyword arguments for the cv2 denoising function.

Return type:

ImageArrayWrapper

enhance_contrast()[source]

Enhance the contrast of the image using histogram equalization

Return type:

ImageArrayWrapper

local_maxima(channel, **kwargs)[source]

Compute the local maxima of the image on a specified color channel.

The specified channel is first extracted (and returned as a grayscale image), then the skimage local_maxima function is applied. :param channel: one of ‘r’/’red’, ‘g’/’green’, or ‘b’/’blue’. :param kwargs: additional keyword arguments for skimage.morphology.local_maxima().

Parameters:

channel (Literal['r', 'g', 'b', 'red', 'green', 'blue'])

Return type:

ImageArrayWrapper