Skip to main content
`Ctrl`+`K`

# `statistics`: Statistics

A module for performing basic statistical analysis (min, max, mean, std) on large data where numpy is not very efficient.

class Statistics(size=None, dtype=None, template=None, ctx=None, devicetype='all', platformid=None, deviceid=None, block_size=None, profile=False)

  Bases: `OpenclProcessing`

  A class for doing statistical analysis using OpenCL

  Parameters:

    - size (List[int]) – Shape of input data to treat

    - dtype (numpy.dtype) – Input data type

    - template (numpy.ndarray) – Data template to extract size & dtype

    - ctx – Actual working context, left to None for automatic initialization from device type or platformid/deviceid

    - devicetype (str) – Type of device, can be “CPU”, “GPU”, “ACC” or “ALL”

    - platformid (int) – Platform identifier as given by clinfo

    - deviceid (int) – Device identifier as given by clinfo

    - block_size (int) – Preferred workgroup size, may vary depending on the outcome of the compilation

    - profile (bool) – Switch on profiling to be able to profile at the kernel level, store profiling elements (makes code slightly slower)

  kernel_files = ['preprocess.cl']
  mapping = {<class 'numpy.int16'>: 's16_to_float', <class 'numpy.int32'>: 's32_to_float', <class 'numpy.int8'>: 's8_to_float', <class 'numpy.uint16'>: 'u16_to_float', <class 'numpy.uint32'>: 'u32_to_float', <class 'numpy.uint8'>: 'u8_to_float'}
  buffers = [('raw', 1, <class 'numpy.float32'>, 4), ('converted', 1, <class 'numpy.float32'>, 1)]
  set_kernel_arguments()

    Parametrize all kernel arguments

  compile_kernels()

    Compile the kernel

  send_buffer(data, dest)

    Send a numpy array to the device, including the cast on the device if possible

    Parameters:

      - data (numpy.ndarray) – numpy array with data

      - dest – name of the buffer as registered in the class

  process(data, comp=True)

    Actually calculate the statics on the data

    Parameters:

      - data (numpy.ndarray) – numpy array with the image

      - comp – use Kahan compensated arithmetics for the calculation

    Returns:

      Statistics named tuple

    Return type:

      StatResults