Public Member Functions | Protected Member Functions | Friends
morphio::Section Class Reference

#include <section.h>

Inheritance diagram for morphio::Section:
morphio::SectionBase< Section >

Public Member Functions

depth_iterator depth_begin () const
 Depth first iterator.
depth_iterator depth_end () const
breadth_iterator breadth_begin () const
 Breadth first iterator.
breadth_iterator breadth_end () const
upstream_iterator upstream_begin () const
 Upstream iterator.
upstream_iterator upstream_end () const
range< const Point > points () const
range< const floatType > diameters () const
range< const floatType > perimeters () const
SectionType type () const
 Return the morphological type of this section (dendrite, axon, ...)
bool isHeterogeneous (bool downstream=true) const
bool hasSameShape (const Section &other) const noexcept
 Return true if the both sections have the same points, diameters and perimeters.
- Public Member Functions inherited from morphio::SectionBase< Section >
bool operator== (const SectionBase &other) const noexcept
bool operator!= (const SectionBase &other) const noexcept
bool isRoot () const
Section parent () const
std::vector< Sectionchildren () const
uint32_t id () const noexcept
range< const typename TProperty::Type > get () const

Protected Member Functions

 Section (uint32_t id, const std::shared_ptr< Property::Properties > &properties)
- Protected Member Functions inherited from morphio::SectionBase< Section >
 SectionBase (uint32_t id, const std::shared_ptr< Property::Properties > &properties)
range< const typename Property::Type > get () const


class mut::Section
class SectionBase< Section >
Section Morphology::section (uint32_t) const

Additional Inherited Members

- Protected Attributes inherited from morphio::SectionBase< Section >
uint32_t id_
SectionRange range_
std::shared_ptr< Property::Propertiesproperties_

Detailed Description

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.

Member Function Documentation

◆ diameters()

range<const floatType> morphio::Section::diameters ( ) const

◆ isHeterogeneous()

bool morphio::Section::isHeterogeneous ( bool  downstream = true) const

Return true if the sections of the tree downstream (downstream = true) or upstream (donwstream = false) have the same section type as the current section.

◆ perimeters()

range<const floatType> morphio::Section::perimeters ( ) const

◆ points()

range<const Point> morphio::Section::points ( ) const