|
typedef itk::GradientMagnitudeImageFilter< FLOAT_IMAGE_TYPE, FLOAT_IMAGE_TYPE > | GMagFilterType |
|
typedef itk::GradientImageFilter< FLOAT_IMAGE_TYPE > | GradientFilterType |
|
typedef GradientFilterType::OutputImageType | GradientImageType |
|
typedef GradientImageType::PixelType | GradientPixelType |
|
typedef itk::ImageRegionIterator< GradientImageType > | GradientImageIterator |
|
typedef itk::Image< unsigned short, 3 > | USHORT_IMAGE_TYPE |
|
typedef itk::Image< unsigned int, 3 > | UINT_IMAGE_TYPE |
|
typedef itk::Image< float, 3 > | FLOAT_IMAGE_TYPE |
|
typedef itk::Image< unsigned char, 3 > | UCHAR_IMAGE_TYPE |
|
typedef Core::ITKImageDataT< float > | FLOAT_CONTAINER_TYPE |
|
typedef Core::ITKImageDataT< unsigned int > | UINT_CONTAINER_TYPE |
|
typedef Core::ITKImageDataT< unsigned short > | USHORT_CONTAINER_TYPE |
|
typedef Core::ITKImageDataT< unsigned char > | UCHAR_CONTAINER_TYPE |
|
|
float | getAx (float w, float nx, float ny, float nz, int order_index) |
|
float | getAy (float w, float nx, float ny, float nz, int order_index) |
|
float | getAz (float w, float nx, float ny, float nz, int order_index) |
|
this | get_itk_image_from_layer (this->src_layer_, input_image) |
|
| if (!input_data_block) |
|
dgfilter | SetInput (input_image->get_image()) |
|
dgfilter | SetVariance (1.0) |
|
dgfilter | SetMaximumKernelWidth (8) |
|
dgfilter | SetUseImageSpacingOff () |
|
this | forward_abort_to_filter (dgfilter, this->dst_layer_) |
|
this | observe_itk_progress (dgfilter, this->dst_layer_, 0.0, 0.05) |
|
| catch (...) |
|
| if (this->check_abort()) return |
|
FLOAT_CONTAINER_TYPE::Handle | dg_image (new FLOAT_CONTAINER_TYPE( dgfilter->GetOutput())) |
|
| if (!dg_image) |
|
| for (size_t j=0;j< size;j++) |
|
| for (size_t j=0;j< size;j++) data[j] |
|
| if (this->check_abort()) return |
|
gmag_filter | SetInput (dg_image->get_image()) |
|
this | forward_abort_to_filter (gmag_filter, this->dst_layer_) |
|
this | observe_itk_progress (gmag_filter, this->dst_layer_, 0.1, 0.05) |
|
| catch (...) |
|
| if (this->check_abort()) return |
|
FLOAT_CONTAINER_TYPE::Handle | gmag_image (new FLOAT_CONTAINER_TYPE( gmag_filter->GetOutput())) |
|
| if (!gmag_image) |
|
| if (!gmag_data_block) |
|
| for (size_t j=0;j< size;j++) data[j] |
|
| if (this->check_abort()) return |
|
gradient_filter | SetInput (gmag_image->get_image()) |
|
this | forward_abort_to_filter (gradient_filter, this->dst_layer_) |
|
this | observe_itk_progress (gradient_filter, this->dst_layer_, 0.2, 0.05) |
|
| catch (...) |
|
| if (this->check_abort()) return |
|
GradientImageIterator | grad_iter (gradient_image, gradient_image->GetLargestPossibleRegion()) |
|
| while (!grad_iter.IsAtEnd()) |
|
vnl_matrix< float > | ATA (order, order, 0) |
|
vnl_matrix< float > | uT (order, 1, 0) |
|
| for (size_t z=0;z< size_z;z++) |
|
| if (this->check_abort()) return |
|
this dst_layer_ | update_progress (0.7f) |
|
| if (this->check_abort()) return |
|
this dst_layer_ | update_progress (0.85f) |
|
| if (this->check_abort()) return |
|
| if (this->check_abort()) return |
|
this dst_layer_ | update_progress (0.9f) |
|
| for (size_t z=0;z< size_z;z++) |
|
| for (size_t j=0;j< size;j++) |
|
| catch (...) |
|
| if (this->check_abort()) return |
|
this dst_layer_ | update_progress (0.99f) |
|
| if (this->preserve_data_format_) |
|
virtual std::string | get_filter_name () const |
|
virtual std::string | get_layer_prefix () const |
|
virtual void | raise_abort () override |
|
virtual bool | check_abort () override |
|
void | raise_stop () |
|
bool | check_stop () |
|
virtual void | abort_and_wait () override |
|
void | connect_abort (const LayerHandle &layer) |
|
void | connect_stop (const LayerHandle &layer) |
|
Core::NotifierHandle | get_notifier () |
|
bool | find_layer (const std::string &layer_id, LayerHandle &layer) |
|
bool | lock_for_use (LayerHandle layer) |
|
bool | lock_for_processing (LayerHandle layer) |
|
bool | lock_for_deletion (LayerHandle layer) |
|
bool | create_and_lock_data_layer_from_layer (LayerHandle src_layer, LayerHandle &dst_layer) |
|
bool | create_and_lock_data_layer (const Core::GridTransform &grid_trans, LayerHandle src_layer, LayerHandle &dst_layer) |
|
bool | create_cropped_large_volume_layer (const Core::GridTransform &crop_trans, LayerHandle src_layer, LayerHandle &dst_layer) |
|
bool | create_and_lock_mask_layer_from_layer (LayerHandle src_layer, LayerHandle &dst_layer) |
|
bool | create_and_lock_mask_layer_from_layer (LayerHandle src_layer, LayerHandle &dst_layer, std::string dst_name) |
|
bool | create_and_lock_mask_layer (const Core::GridTransform &grid_trans, LayerHandle src_layer, LayerHandle &dst_layer) |
|
bool | dispatch_unlock_layer (LayerHandle layer) |
|
bool | dispatch_delete_layer (LayerHandle layer) |
|
bool | dispatch_insert_data_volume_into_layer (LayerHandle layer, Core::DataVolumeHandle data, bool update_histogram) |
|
bool | dispatch_insert_mask_volume_into_layer (LayerHandle layer, Core::MaskVolumeHandle mask) |
|
void | create_undo_redo_and_provenance_record (Core::ActionContextHandle context, Core::ActionHandle action, bool split_prov=false) |
|
bool | update_provenance_action_string (Core::ActionHandle action) |
|
void | set_sandbox (SandboxID sandbox) |
|
SandboxID | get_sandbox () |
|
void | report_error (const std::string &error) |
|
Layer::filter_key_type | get_key () const |
|
|
LayerHandle | src_layer_ |
|
LayerHandle | dst_layer_ |
|
int | order_ |
|
double | edge_ |
|
bool | preserve_data_format_ |
|
TYPED_CONTAINER_TYPE::Handle | input_image |
|
Core::DataBlockHandle | input_data_block = Core::ITKDataBlock::New( input_image ) |
|
DGFilterType::Pointer | dgfilter = DGFilterType::New() |
|
| try |
|
Core::DataBlockHandle | dg_data_block = Core::ITKDataBlock::New( dg_image ) |
|
float | data_min = std::numeric_limits<float>::max() |
|
float | data_max = std::numeric_limits<float>::min() |
|
size_t | size = dg_data_block->get_size() |
|
GMagFilterType::Pointer | gmag_filter = GMagFilterType::New() |
|
Core::DataBlockHandle | gmag_data_block = Core::ITKDataBlock::New( gmag_image ) |
|
const float | inv_edge_sqr = 1.0 / ( this->edge_ * this->edge_ ) |
|
GradientFilterType::Pointer | gradient_filter = GradientFilterType::New() |
|
GradientImageType::Pointer | gradient_image = gradient_filter->GetOutput() |
|
size_t | size_x = input_image->get_nx() |
|
size_t | size_y = input_image->get_ny() |
|
size_t | size_z = input_image->get_nz() |
|
float | xscale = static_cast<float>( size_x + size_y + size_z ) / 8.0f |
|
float | yscale = static_cast<float>( size_x + size_y + size_z ) / 8.0f |
|
float | zscale = static_cast<float>( size_x + size_y + size_z ) / 8.0f |
|
float | xcenter = static_cast<float>( size_x ) / 2.0 |
|
float | ycenter = static_cast<float>( size_y ) / 2.0 |
|
float | zcenter = static_cast<float>( size_z ) / 2.0 |
|
float * | W = reinterpret_cast<float*>( gmag_data_block->get_data() ) |
|
float * | res = reinterpret_cast<float*>( dg_data_block->get_data() ) |
|
VALUE_TYPE * | input = reinterpret_cast<VALUE_TYPE*>( input_data_block->get_data() ) |
|
size_t | j = 0 |
|
| gradient_image = 0 |
| Clear memory for image.
|
|
const int | order = order_counts[ this->order_ ] |
|
vnl_matrix< float > | ATA_inv = vnl_matrix_inverse<float>(ATA) |
|
vnl_matrix< float > | alphaM = ATA_inv * uT |
|
vnl_vector< float > | alpha = alphaM.get_column(0) |
|
size_t | i = 0 |
|
float | new_data_min = std::numeric_limits<float>::max() |
|
float | new_data_max = std::numeric_limits<float>::min() |
|
float | factor = ( data_max - data_min ) / ( new_data_max - new_data_min ) |
|
| else |
|
|
static void | Start (RunnableHandle runnable) |
|
template<class T > |
bool | get_itk_image_from_layer (const LayerHandle &layer, typename Core::ITKImageDataT< T >::Handle &image, bool invert=false) |
|
template<class T > |
bool | get_itk_image_from_mask_layer (const LayerHandle &layer, typename Core::ITKImageDataT< T >::Handle &image, double label=1.0) |
|
template<class T > |
bool | insert_itk_image_into_layer (const LayerHandle &layer, typename itk::Image< T, 3 > *itk_image) |
|
template<class T > |
bool | insert_itk_image_pointer_into_layer (const LayerHandle &layer, typename itk::Image< T, 3 >::Pointer itk_image) |
|
template<class T > |
bool | insert_itk_positive_labels_into_mask_layer (const LayerHandle &layer, typename itk::Image< T, 3 > *itk_image, bool invert=false) |
|
template<class T > |
bool | insert_itk_positive_labels_pointer_into_mask_layer (const LayerHandle &layer, typename itk::Image< T, 3 >::Pointer itk_image, bool invert=false) |
|
template<class T > |
bool | insert_itk_label_into_mask_layer (const LayerHandle &layer, typename itk::Image< T, 3 > *itk_image, T label) |
|
template<class T > |
bool | insert_itk_label_pointer_into_mask_layer (const LayerHandle &layer, typename itk::Image< T, 3 >::Pointer itk_image, T label) |
|
template<class T > |
bool | convert_and_insert_itk_image_into_layer (const LayerHandle &layer, typename itk::Image< T, 3 > *itk_image, Core::DataType data_type) |
|
template<class T > |
bool | convert_and_insert_itk_image_pointer_into_layer (const LayerHandle &layer, typename itk::Image< T, 3 >::Pointer itk_image, Core::DataType data_type) |
|
template<class T > |
void | forward_abort_to_filter (T filter_pointer, LayerHandle layer) |
|
template<class T > |
void | observe_itk_progress (T filter_pointer, const LayerHandle &layer, float progress_start=0.0, float progress_amount=1.0) |
|
template<class T > |
void | observe_itk_iterations (T filter_pointer, boost::function< void(itk::Object *) > iteration_fcn) |
|
template<class T > |
void | limit_number_of_itk_threads (T filter_pointer) |
|
virtual void | handle_abort () |
|
virtual void | handle_stop () |
|
virtual void | run_filter ()=0 |
|
virtual void | run () |
|