Minkowski

class Minkowski
#include <Minkowski.h>

The Minkowski class is constructed to analyze the geometric properties of structures based on the Minkowski functionals.

Public Functions

inline double A()
void ComputeScalar(const DoubleArray &Field, const double isovalue)

Compute scalar minkowski functionals.

Construct an isosurface and return the geometric invariants based on the triangulated list

Parameters
  • isovalue – - threshold value to use to determine iso-surface

  • Field – - DoubleArray containing the field to threshold

inline double H()
int MeasureConnectedPathway()

Compute scalar minkowski functionals for connected part of a structure step 1. compute connected components and extract largest region by volume step 2. compute the distance to the connected part of the structure step 3. construct dcel to represent the isosurface step 4. compute the scalar Minkowski functionals THIS ALGORITHM ASSUMES THAT id() is populated with phase id to distinguish objects 0 - labels the object 1 - labels everything else

int MeasureConnectedPathway(double factor, const DoubleArray &Phi)
void MeasureObject()

Compute scalar minkowski functionals step 1. compute the distance to an object step 2. construct dcel to represent the isosurface step 3. compute the scalar Minkowski functionals THIS ALGORITHM ASSUMES THAT id() is populated with phase id to distinguish objects 0 - labels the object 1 - labels everything else.

void MeasureObject(double factor, const DoubleArray &Phi)
inline Minkowski()

Null constructor.

Minkowski(std::shared_ptr<Domain> Dm)

Constructor based on an existing Domain.

Parameters

Dm – - Domain structure

void PrintAll()

print the scalar invariants

inline double V()
inline double X()
~Minkowski()

Public Members

double Ai
double Ai_global
Array<double> distance
std::shared_ptr<Domain> Dm
Array<char> id
double Ji
double Ji_global
Array<int> label
int n_connected_components
int Nx
int Ny
int Nz
double Vi
double Vi_global
double Xi
double Xi_global

Private Members

double isovalue
int kfinish
int kstart
FILE *LOGFILE
double Volume