Volume Cartographer 2.27.0
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
volcart::texturing::ThicknessTexture Class Reference

Generate a Texture using the thickness of the segmented layer. More...

#include <vc/texturing/ThicknessTexture.hpp>

Inheritance diagram for volcart::texturing::ThicknessTexture:
[legend]
Collaboration diagram for volcart::texturing::ThicknessTexture:
[legend]

Public Types

using Pointer = std::shared_ptr< ThicknessTexture >
 
- Public Types inherited from volcart::texturing::TexturingAlgorithm
using Pointer = std::shared_ptr< TexturingAlgorithm >
 
using Texture = std::vector< cv::Mat >
 

Public Member Functions

 ThicknessTexture ()=default
 
 ~ThicknessTexture () override=default
 
 ThicknessTexture (ThicknessTexture &)=default
 
 ThicknessTexture (ThicknessTexture &&)=default
 
auto operator= (const ThicknessTexture &) -> ThicknessTexture &=default
 
auto operator= (ThicknessTexture &&) -> ThicknessTexture &=default
 
void setSamplingInterval (double i)
 Set the sampling interval. More...
 
auto samplingInterval () const -> double
 
void setNormalizeOutput (bool b)
 Normalize the output image. More...
 
auto normalizeOutput () const -> bool
 
void setVolumetricMask (const VolumetricMask::Pointer &m)
 Set the VolumetricMask.
 
auto volumetricMask () const -> VolumetricMask::Pointer
 Get the VolumetricMask.
 
auto compute () -> Texture override
 Compute the result. More...
 
- Public Member Functions inherited from volcart::texturing::TexturingAlgorithm
virtual ~TexturingAlgorithm ()=default
 
void setPerPixelMap (PerPixelMap::Pointer ppm)
 Set the input PerPixelMap.
 
void setVolume (Volume::Pointer vol)
 Set the input Volume.
 
virtual auto compute () -> Texture=0
 Compute the Texture. More...
 
auto getTexture () -> Texture
 Get the generated Texture.
 
auto progressIterations () const -> std::size_t override
 Returns the maximum progress value. More...
 
virtual std::size_t progressIterations () const =0
 

Static Public Member Functions

static auto New () -> Pointer
 

Private Attributes

VolumetricMask::Pointer mask_
 
double interval_ {1.0}
 
bool normalize_ {true}
 

Additional Inherited Members

- Public Attributes inherited from volcart::IterationsProgress
Signal progressStarted
 
Signal< std::size_t > progressUpdated
 
Signal progressComplete
 
- Protected Member Functions inherited from volcart::texturing::TexturingAlgorithm
 TexturingAlgorithm ()=default
 
 TexturingAlgorithm (TexturingAlgorithm &)=default
 
 TexturingAlgorithm (TexturingAlgorithm &&)=default
 
auto operator= (const TexturingAlgorithm &) -> TexturingAlgorithm &=default
 
auto operator= (TexturingAlgorithm &&) -> TexturingAlgorithm &=default
 
- Protected Attributes inherited from volcart::texturing::TexturingAlgorithm
PerPixelMap::Pointer ppm_
 
Volume::Pointer vol_
 
Texture result_
 

Detailed Description

Generate a Texture using the thickness of the segmented layer.

For each point, project bi-directionally along the surface normal until finding the first positive and negative points not in the mask. Thickness is the Euclidean distance between these two points. If setNormalizeOutput is true (default), the returned image will be normalized between [0, 1]. Otherwise, raw distances will be returned.

Returned image is single-channel, 32-bit floating point.

Definition at line 26 of file ThicknessTexture.hpp.

Member Typedef Documentation

◆ Pointer

Pointer type

Definition at line 30 of file ThicknessTexture.hpp.

Constructor & Destructor Documentation

◆ ThicknessTexture() [1/3]

volcart::texturing::ThicknessTexture::ThicknessTexture ( )
default

Default constructor

◆ ~ThicknessTexture()

volcart::texturing::ThicknessTexture::~ThicknessTexture ( )
overridedefault

Default destructor

◆ ThicknessTexture() [2/3]

volcart::texturing::ThicknessTexture::ThicknessTexture ( ThicknessTexture )
default

Default copy constructor

◆ ThicknessTexture() [3/3]

volcart::texturing::ThicknessTexture::ThicknessTexture ( ThicknessTexture &&  )
default

Default move constructor

Member Function Documentation

◆ compute()

auto volcart::texturing::ThicknessTexture::compute ( ) -> Texture
overridevirtual

Compute the result.

Implements volcart::texturing::TexturingAlgorithm.

◆ New()

static auto volcart::texturing::ThicknessTexture::New ( ) -> Pointer
static

Make shared pointer

◆ normalizeOutput()

auto volcart::texturing::ThicknessTexture::normalizeOutput ( ) const -> bool

If true (default), normalize the output image between [0, 1]. Otherwise, return the raw distance values.

◆ operator=() [1/2]

auto volcart::texturing::ThicknessTexture::operator= ( const ThicknessTexture ) -> ThicknessTexture &=default
default

Default copy operator

◆ operator=() [2/2]

auto volcart::texturing::ThicknessTexture::operator= ( ThicknessTexture &&  ) -> ThicknessTexture &=default
default

Default move operator

◆ samplingInterval()

auto volcart::texturing::ThicknessTexture::samplingInterval ( ) const -> double

In Volume units, how frequently to check whether a sample is part of the VolumetricMask. In theory, smaller values return more accurate results at the expense of longer runtimes. However, the VolumetricMask does not support sub-voxel mask precision, so improvements will be minimal for interval values < 1.

◆ setNormalizeOutput()

void volcart::texturing::ThicknessTexture::setNormalizeOutput ( bool  b)

Normalize the output image.

If true (default), normalize the output image between [0, 1]. Otherwise, return the raw distance values.

◆ setSamplingInterval()

void volcart::texturing::ThicknessTexture::setSamplingInterval ( double  i)

Set the sampling interval.

In Volume units, how frequently to check whether a sample is part of the VolumetricMask. In theory, smaller values return more accurate results at the expense of longer runtimes. However, the VolumetricMask does not support sub-voxel mask precision, so improvements will be minimal for interval values < 1.

Member Data Documentation

◆ interval_

double volcart::texturing::ThicknessTexture::interval_ {1.0}
private

Sampling interval

Definition at line 86 of file ThicknessTexture.hpp.

◆ mask_

VolumetricMask::Pointer volcart::texturing::ThicknessTexture::mask_
private

Volumetric mask

Definition at line 84 of file ThicknessTexture.hpp.

◆ normalize_

bool volcart::texturing::ThicknessTexture::normalize_ {true}
private

Normalize output

Definition at line 88 of file ThicknessTexture.hpp.


The documentation for this class was generated from the following file: