Classes | Typedefs | Enumerations | Functions | Variables
morphio Namespace Reference

Classes

class  breadth_iterator_t
 
class  depth_iterator_t
 
class  EndoplasmicReticulum
 
class  GlialCell
 
class  IDSequenceError
 
class  MissingParentError
 
class  Mitochondria
 
class  MitoSection
 
class  MorphioError
 
class  Morphology
 
class  MultipleTrees
 
class  NotImplementedError
 
class  RawDataError
 
class  Section
 
class  SectionBase
 
class  SectionBuilderError
 
class  Soma
 
class  SomaError
 
class  UnknownFileType
 
class  upstream_iterator_t
 
class  WriterError
 

Typedefs

using mito_upstream_iterator = upstream_iterator_t< MitoSection >
 
using mito_breadth_iterator = morphio::breadth_iterator_t< MitoSection, Mitochondria >
 
using mito_depth_iterator = morphio::depth_iterator_t< MitoSection, Mitochondria >
 
using breadth_iterator = breadth_iterator_t< Section, Morphology >
 
using depth_iterator = depth_iterator_t< Section, Morphology >
 
using upstream_iterator = upstream_iterator_t< Section >
 
using SectionRange = std::pair< size_t, size_t >
 
using MorphologyVersion = std::tuple< std::string, uint32_t, uint32_t >
 
template<typename T >
using range = gsl::span< T >
 
using floatType = float
 
using Point = std::array< morphio::floatType, 3 >
 
using Points = std::vector< Point >
 

Enumerations

enum  SomaClasses { SOMA_CONTOUR, SOMA_CYLINDER }
 

Functions

void set_maximum_warnings (int n_warnings)
 
void set_raise_warnings (bool is_raise)
 
void set_ignored_warning (Warning warning, bool ignore=true)
 
void set_ignored_warning (const std::vector< Warning > &warning, bool ignore=true)
 
void printError (Warning warning, const std::string &msg)
 
bool diff (const Morphology &left, const Morphology &right, morphio::enums::LogLevel verbose=morphio::enums::LogLevel::INFO)
 
bool diff (const Section &left, const Section &right, morphio::enums::LogLevel verbose=morphio::enums::LogLevel::INFO)
 
Point operator+ (const Point &left, const Point &right)
 
Point operator- (const Point &left, const Point &right)
 
Point operator+= (Point &left, const Point &right)
 
Point operator-= (Point &left, const Point &right)
 
Point operator/= (Point &left, const floatType factor)
 
Points operator+ (const Points &points, const Point &right)
 
Points operator- (const Points &points, const Point &right)
 
Points operator+= (Points &points, const Point &right)
 
Points operator-= (Points &points, const Point &right)
 
template<typename T >
Point operator* (const Point &from, T factor)
 
template<typename T >
Point operator* (T factor, const Point &from)
 
template<typename T >
Point operator/ (const Point &from, T factor)
 
template<typename T >
Point centerOfGravity (const T &points)
 
template<typename T >
floatType maxDistanceToCenterOfGravity (const T &points)
 
template Point centerOfGravity (const Points &)
 
template floatType maxDistanceToCenterOfGravity (const Points &)
 
std::string dumpPoint (const Point &point)
 
std::string dumpPoints (const Points &point)
 
char my_tolower (char ch)
 
floatType distance (const Point &left, const Point &right)
 
std::ostream & operator<< (std::ostream &os, const morphio::Point &point)
 
std::ostream & operator<< (std::ostream &os, const Points &points)
 
std::string getVersionString ()
 
int getMajor ()
 
int getMinor ()
 
int getPatch ()
 

Variables

constexpr floatType epsilon = 1e-6f
 
constexpr floatType PI = static_cast<floatType>(M_PI)
 

Detailed Description

The property namespace is the core of MorphIO as it is where all the internal data are stored.

The higher level container structure is Property::Properties.

It contains low-lever structure that stores information at various levels:

Blue Brain File IO classes

Typedef Documentation

◆ upstream_iterator

A class to represent a morphological section.

A Section is an unbranched piece of a morphological skeleton. This class provides functions to query information about the sample points that compose the section and functions to obtain the parent and children sections.

The cell soma is also considered a section, but some functions have special meaning for it.

Sections cannot be directly created, but are returned by several morphio::Morphology and morphio::Section methods.

This is a lightweight object with STL container style thread safety. It is also safe to use a section after the morphology from where it comes has been deallocated. The morphological data will be kept as long as there is a Section referring to it.

Function Documentation

◆ diff() [1/2]

bool morphio::diff ( const Morphology left,
const Morphology right,
morphio::enums::LogLevel  verbose = morphio::enums::LogLevel::INFO 
)

Perform a diff on 2 morphologies, returns True if items differ

◆ diff() [2/2]

bool morphio::diff ( const Section left,
const Section right,
morphio::enums::LogLevel  verbose = morphio::enums::LogLevel::INFO 
)

Perform a diff on 2 sections, returns True if items differ

◆ distance()

floatType morphio::distance ( const Point &  left,
const Point &  right 
)

Euclidian distance between two points

◆ set_maximum_warnings()

void morphio::set_maximum_warnings ( int  n_warnings)

Set the maximum number of warnings to be printed on screen