NorMIT-nav  2023.01.05-dev+develop.0da12
An IGT application
cx::AirwaysFilter Class Reference

#include <cxAirwaysFilterService.h>

Inheritance diagram for cx::AirwaysFilter:
cx::FilterImpl cx::Filter

Public Member Functions

 AirwaysFilter (VisServicesPtr services)
 
virtual ~AirwaysFilter ()
 
virtual QString getType () const
 
virtual QString getName () const
 
virtual QString getHelp () const
 
bool preProcess ()
 
virtual bool execute ()
 
virtual bool postProcess ()
 
void setAirwaySegmentation (bool airwaySegmentation)
 
void setColoringAirways (bool coloringAirways)
 
void setVesselSegmentation (bool vesselSegmentation)
 
- Public Member Functions inherited from cx::FilterImpl
virtual ~FilterImpl ()
 
virtual QString getUid () const
 
virtual void initialize (QDomElement root, QString uid="")
 
virtual std::vector< PropertyPtrgetOptions ()
 
virtual std::vector< SelectDataStringPropertyBasePtrgetInputTypes ()
 
virtual std::vector< SelectDataStringPropertyBasePtrgetOutputTypes ()
 
virtual bool hasPresets ()
 
virtual PresetsPtr getPresets ()
 
virtual QDomElement generatePresetFromCurrentlySetOptions (QString name)
 
virtual void setActive (bool on)
 
- Public Member Functions inherited from cx::Filter
 Filter ()
 
virtual ~Filter ()
 

Protected Member Functions

void segmentAirways (fast::ImageFileImporter::pointer importerPtr)
 
bool extractAirways (fast::AirwaySegmentation::pointer airwaySegmentationPtr)
 
void segmentLungs (fast::ImageFileImporter::pointer importerPtr)
 
void segmentVessels (fast::ImageFileImporter::pointer importerPtr)
 
bool extractBloodVessels (fast::LungSegmentation::pointer lungSegmentationPtr)
 
bool extractLungs (fast::LungSegmentation::pointer lungSegmentationPtr)
 
bool postProcessAirways ()
 
bool postProcessLungs ()
 
bool postProcessVessels ()
 
virtual void createOptions ()
 
virtual void createInputTypes ()
 
virtual void createOutputTypes ()
 
- Protected Member Functions inherited from cx::FilterImpl
 FilterImpl (VisServicesPtr services)
 
ImagePtr getCopiedInputImage (int index=0)
 
void updateThresholdFromImageChange (QString uid, DoublePropertyPtr threshold)
 
void updateThresholdPairFromImageChange (QString uid, DoublePairPropertyPtr threshold)
 
PatientModelServicePtr patientService ()
 

Additional Inherited Members

- Public Slots inherited from cx::FilterImpl
virtual void requestSetPresetSlot (QString name)
 
- Public Slots inherited from cx::Filter
virtual void requestSetPresetSlot (QString name)=0
 
- Signals inherited from cx::Filter
void changed ()
 
- Protected Attributes inherited from cx::FilterImpl
std::vector< SelectDataStringPropertyBasePtrmInputTypes
 
std::vector< SelectDataStringPropertyBasePtrmOutputTypes
 
std::vector< PropertyPtrmOptionsAdapters
 
QDomElement mOptions
 
std::vector< DataPtrmCopiedInput
 
QDomElement mCopiedOptions
 
bool mActive
 
VisServicesPtr mServices
 

Detailed Description

Filter for airway segmentation and centerline extraction of a CT volume.

Algorithm written by Erik Smistad.

2020-01-15: Added segmentation of blood vessels and lungs. Erlend Fagertun hofstad

Definition at line 48 of file cxAirwaysFilterService.h.

Constructor & Destructor Documentation

◆ AirwaysFilter()

cx::AirwaysFilter::AirwaysFilter ( VisServicesPtr  services)

Definition at line 52 of file cxAirwaysFilterService.cpp.

◆ ~AirwaysFilter()

cx::AirwaysFilter::~AirwaysFilter ( )
virtual

Definition at line 63 of file cxAirwaysFilterService.cpp.

Member Function Documentation

◆ createInputTypes()

void cx::AirwaysFilter::createInputTypes ( )
protectedvirtual

Implements cx::FilterImpl.

Definition at line 669 of file cxAirwaysFilterService.cpp.

◆ createOptions()

void cx::AirwaysFilter::createOptions ( )
protectedvirtual

Implements cx::FilterImpl.

Definition at line 657 of file cxAirwaysFilterService.cpp.

◆ createOutputTypes()

void cx::AirwaysFilter::createOutputTypes ( )
protectedvirtual

Implements cx::FilterImpl.

Definition at line 679 of file cxAirwaysFilterService.cpp.

◆ execute()

bool cx::AirwaysFilter::execute ( )
virtual

Execute filter with the given inputs and produce an output. This method is threadable - can be executed in a secondary thread. Assumes preprocess has been called.

Returns
success.

Implements cx::Filter.

Definition at line 156 of file cxAirwaysFilterService.cpp.

◆ extractAirways()

bool cx::AirwaysFilter::extractAirways ( fast::AirwaySegmentation::pointer  airwaySegmentationPtr)
protected

Definition at line 248 of file cxAirwaysFilterService.cpp.

◆ extractBloodVessels()

bool cx::AirwaysFilter::extractBloodVessels ( fast::LungSegmentation::pointer  lungSegmentationPtr)
protected

Definition at line 334 of file cxAirwaysFilterService.cpp.

◆ extractLungs()

bool cx::AirwaysFilter::extractLungs ( fast::LungSegmentation::pointer  lungSegmentationPtr)
protected

Definition at line 389 of file cxAirwaysFilterService.cpp.

◆ getHelp()

QString cx::AirwaysFilter::getHelp ( ) const
virtual

Return a help text describing algorithm usage.

Implements cx::Filter.

Definition at line 76 of file cxAirwaysFilterService.cpp.

◆ getName()

QString cx::AirwaysFilter::getName ( ) const
virtual

Return a descriptive name for this algorithm.

Implements cx::Filter.

Definition at line 66 of file cxAirwaysFilterService.cpp.

◆ getType()

QString cx::AirwaysFilter::getType ( ) const
virtual

Return the type of this algorithm. Need to match id string in user documentation

Implements cx::Filter.

Definition at line 71 of file cxAirwaysFilterService.cpp.

◆ postProcess()

bool cx::AirwaysFilter::postProcess ( )
virtual

Perform postprocessing tasks and set result from calculation into the output adapters.

Must be called from the main thread. Assumes execute() has been called.

Returns
success.

Implements cx::Filter.

Definition at line 426 of file cxAirwaysFilterService.cpp.

◆ postProcessAirways()

bool cx::AirwaysFilter::postProcessAirways ( )
protected

because the segmented image is 0..1

Definition at line 452 of file cxAirwaysFilterService.cpp.

◆ postProcessLungs()

bool cx::AirwaysFilter::postProcessLungs ( )
protected

because the segmented image is 0..1

Definition at line 500 of file cxAirwaysFilterService.cpp.

◆ postProcessVessels()

bool cx::AirwaysFilter::postProcessVessels ( )
protected

because the segmented image is 0..1

Definition at line 538 of file cxAirwaysFilterService.cpp.

◆ preProcess()

bool cx::AirwaysFilter::preProcess ( )
virtual

Perform main thread preprocessing. Copies input data from options and the input adapters into thread-safe storage. Assumes getOptions(), getInputTypes(), getOutputTypes() has been called (this initializes options)

Returns
success.

Reimplemented from cx::FilterImpl.

Definition at line 123 of file cxAirwaysFilterService.cpp.

◆ segmentAirways()

void cx::AirwaysFilter::segmentAirways ( fast::ImageFileImporter::pointer  importerPtr)
protected

Definition at line 229 of file cxAirwaysFilterService.cpp.

◆ segmentLungs()

void cx::AirwaysFilter::segmentLungs ( fast::ImageFileImporter::pointer  importerPtr)
protected

Definition at line 300 of file cxAirwaysFilterService.cpp.

◆ segmentVessels()

void cx::AirwaysFilter::segmentVessels ( fast::ImageFileImporter::pointer  importerPtr)
protected

Definition at line 317 of file cxAirwaysFilterService.cpp.

◆ setAirwaySegmentation()

void cx::AirwaysFilter::setAirwaySegmentation ( bool  airwaySegmentation)

Definition at line 705 of file cxAirwaysFilterService.cpp.

◆ setColoringAirways()

void cx::AirwaysFilter::setColoringAirways ( bool  coloringAirways)

Definition at line 710 of file cxAirwaysFilterService.cpp.

◆ setVesselSegmentation()

void cx::AirwaysFilter::setVesselSegmentation ( bool  vesselSegmentation)

Definition at line 715 of file cxAirwaysFilterService.cpp.


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