GooseEYE 0.9.1
Loading...
Searching...
No Matches
GooseEYE.h File Reference
#include "config.h"
#include "detail.hpp"
#include "version.h"
#include <prrng.h>
#include <xtensor/xstrided_view.hpp>
#include "Ensemble.hpp"
#include "Ensemble_C2.hpp"
#include "Ensemble_L.hpp"
#include "Ensemble_S2.hpp"
#include "Ensemble_W2.hpp"
#include "Ensemble_W2c.hpp"
#include "Ensemble_heightheight.hpp"
#include "Ensemble_mean.hpp"
#include "GooseEYE.hpp"

Go to the source code of this file.

Classes

class  GooseEYE::ClusterLabeller< Dimension, Periodicity >
 (Incrementally) Label clusters (0 as background, 1..n as labels). More...
 
class  GooseEYE::Ensemble
 Compute ensemble averaged statistics, by repetitively calling the member-function of a certain statistical measure with different data. More...
 

Namespaces

namespace  GooseEYE
 Toolbox to compute statistics.
 
namespace  GooseEYE::kernel
 Collect kernels.
 

Enumerations

enum class  GooseEYE::path_mode { GooseEYE::Bresenham , GooseEYE::actual , GooseEYE::full }
 Different methods to compute a pixel-path. More...
 

Functions

array_type::array< int > GooseEYE::kernel::nearest (size_t ndim)
 Return kernel with nearest neighbours.
 
array_type::tensor< int, 2 > GooseEYE::path (const array_type::tensor< int, 1 > &x0, const array_type::tensor< int, 1 > &x1, path_mode mode=path_mode::Bresenham)
 Compute a path between two pixels.
 
array_type::array< int > GooseEYE::dummy_circles (const std::vector< size_t > &shape, const array_type::tensor< int, 1 > &row, const array_type::tensor< int, 1 > &col, const array_type::tensor< int, 1 > &r, bool periodic=true)
 Dummy image with circles.
 
array_type::array< int > GooseEYE::dummy_circles (const std::vector< size_t > &shape, bool periodic=true, uint64_t seed=0)
 Dummy image with circles.
 
template<class T , class S , std::enable_if_t< std::is_integral< typename T::value_type >::value &&std::is_integral< typename S::value_type >::value, int > = 0>
GooseEYE::dilate (const T &f, const S &kernel, const array_type::tensor< size_t, 1 > &iterations, bool periodic=true)
 Dilate image.
 
template<class T , std::enable_if_t< std::is_integral< typename T::value_type >::value, int > = 0>
GooseEYE::dilate (const T &f, const array_type::tensor< size_t, 1 > &iterations, bool periodic=true)
 Dilate image.
 
template<class T , class S , std::enable_if_t< std::is_integral< typename T::value_type >::value &&std::is_integral< typename S::value_type >::value, int > = 0>
GooseEYE::dilate (const T &f, const S &kernel, size_t iterations=1, bool periodic=true)
 Dilate image.
 
template<class T , std::enable_if_t< std::is_integral< typename T::value_type >::value, int > = 0>
GooseEYE::dilate (const T &f, size_t iterations=1, bool periodic=true)
 Dilate image.
 
template<class T >
array_type::tensor< typename T::value_type, 2 > GooseEYE::labels_map (const T &a, const T &b)
 Get a map to relabel from a to b.
 
template<class L , class A >
L GooseEYE::labels_rename (const L &labels, const A &rename)
 Rename labels.
 
template<class T >
GooseEYE::labels_prune (const T &labels)
 Prune labels: renumber labels to lowest possible label starting from 1.
 
template<class L , class A >
L GooseEYE::labels_reorder (const L &labels, const A &order)
 Reorder labels.
 
template<class T >
array_type::tensor< typename T::value_type, 2 > GooseEYE::labels_sizes (const T &labels)
 Size per label.
 
template<class T , class N >
array_type::tensor< typename T::value_type, 1 > GooseEYE::labels_sizes (const T &labels, const N &names)
 Size per label.
 
template<class T >
array_type::array< int > GooseEYE::clusters (const T &f, bool periodic=true)
 Compute clusters.
 
array_type::tensor< double, 1 > GooseEYE::center (const array_type::tensor< double, 1 > &shape, const array_type::tensor< double, 2 > &positions, bool periodic=true)
 Return the geometric center of a list of positions.
 
array_type::tensor< double, 1 > GooseEYE::center_of_mass (const array_type::tensor< double, 1 > &shape, const array_type::tensor< double, 2 > &positions, const array_type::tensor< double, 1 > &weights, bool periodic=true)
 Return the geometric center of a list of positions.
 
template<class T , class N >
array_type::tensor< double, 2 > GooseEYE::labels_centers (const T &labels, const N &names, bool periodic=true)
 Get the position of the center of each label.
 
template<class T , class W , class N >
array_type::tensor< double, 2 > GooseEYE::labels_centers_of_mass (const T &labels, const W &weights, const N &names, bool periodic=true)
 Get the position of the center of each label.
 
auto GooseEYE::distance (const std::vector< size_t > &roi)
 Get the relative distance of each pixel in the 'region-of-interest' to its center.
 
auto GooseEYE::distance (const std::vector< size_t > &roi, size_t axis)
 Get the relative distance of each pixel in the 'region-of-interest' to its center.
 
auto GooseEYE::distance (const std::vector< size_t > &roi, const std::vector< double > &h)
 Get the relative distance of each pixel in the 'region-of-interest' to its center.
 
auto GooseEYE::distance (const std::vector< size_t > &roi, const std::vector< double > &h, size_t axis)
 Get the relative distance of each pixel in the 'region-of-interest' to its center.
 
template<class T >
auto GooseEYE::S2 (const std::vector< size_t > &roi, const T &f, const T &g, bool periodic=true)
 2-point correlation: P(f(i) * g(i + di)).
 
template<class T , class M >
auto GooseEYE::S2 (const std::vector< size_t > &roi, const T &f, const T &g, const M &fmask, const M &gmask, bool periodic=true)
 2-point correlation: P(f(i) * g(i + di)).
 
template<class T >
auto GooseEYE::C2 (const std::vector< size_t > &roi, const T &f, const T &g, bool periodic=true)
 2-point cluster function: P(f(i) == g(i + di)).
 
template<class T , class M >
auto GooseEYE::C2 (const std::vector< size_t > &roi, const T &f, const T &g, const M &fmask, const M &gmask, bool periodic=true)
 2-point cluster function: P(f(i) == g(i + di)).
 
template<class T >
auto GooseEYE::W2 (const std::vector< size_t > &roi, const T &w, const T &f, bool periodic=true)
 Weighted 2-point correlation.
 
template<class T , class M >
auto GooseEYE::W2 (const std::vector< size_t > &roi, const T &w, const T &f, const M &fmask, bool periodic=true)
 Weighted 2-point correlation.
 
template<class C , class T >
auto GooseEYE::W2c (const std::vector< size_t > &roi, const C &clusters, const C &centers, const T &f, path_mode mode=path_mode::Bresenham, bool periodic=true)
 Collapsed weighted 2-point correlation.
 
template<class C , class T , class M >
auto GooseEYE::W2c (const std::vector< size_t > &roi, const C &clusters, const C &centers, const T &f, const M &fmask, path_mode mode=path_mode::Bresenham, bool periodic=true)
 Collapsed weighted 2-point correlation.
 
template<class T >
auto GooseEYE::heightheight (const std::vector< size_t > &roi, const T &f, bool periodic=true)
 Height-height correlation.
 
template<class T , class M >
auto GooseEYE::heightheight (const std::vector< size_t > &roi, const T &f, const M &fmask, bool periodic=true)
 Height-height correlation.
 
template<class T >
auto GooseEYE::L (const std::vector< size_t > &roi, const T &f, bool periodic=true, path_mode mode=path_mode::Bresenham)
 Lineal-path function.
 

Detailed Description

License: This project is released under the GPLv3 License.

Definition in file GooseEYE.h.