9 #ifndef CMZN_FIELDIMAGEPROCESSING_HPP__ 10 #define CMZN_FIELDIMAGEPROCESSING_HPP__ 12 #include "opencmiss/zinc/field.hpp" 13 #include "opencmiss/zinc/fieldimageprocessing.h" 14 #include "opencmiss/zinc/fieldmodule.hpp" 20 class FieldImagefilterBinaryDilate :
public Field
34 explicit FieldImagefilterBinaryDilate(cmzn_field_id field_id) : Field(field_id)
37 friend FieldImagefilterBinaryDilate
39 int radius,
double dilate_value);
43 FieldImagefilterBinaryDilate() : Field(0)
47 class FieldImagefilterBinaryErode :
public Field
61 explicit FieldImagefilterBinaryErode(cmzn_field_id field_id) : Field(field_id)
64 friend FieldImagefilterBinaryErode
66 int radius,
double erode_value);
70 FieldImagefilterBinaryErode() : Field(0)
89 Field(reinterpret_cast<cmzn_field_id>(field_imagefilter_binary_threshold_id))
99 return cmzn_field_imagefilter_binary_threshold_get_lower_threshold(
100 reinterpret_cast<cmzn_field_imagefilter_binary_threshold_id>(
id));
111 return cmzn_field_imagefilter_binary_threshold_set_lower_threshold(
112 reinterpret_cast<cmzn_field_imagefilter_binary_threshold_id>(
id),
123 return cmzn_field_imagefilter_binary_threshold_get_upper_threshold(
124 reinterpret_cast<cmzn_field_imagefilter_binary_threshold_id>(
id));
135 return cmzn_field_imagefilter_binary_threshold_set_upper_threshold(
136 reinterpret_cast<cmzn_field_imagefilter_binary_threshold_id>(
id),
158 double variance,
double maximumError,
double upperThreshold,
double lowerThreshold);
184 double lowerThreshold,
double upperThreshold,
double replaceValue,
185 int dimension,
int seedPointsCount,
const double *seedPoints);
212 double timeStep,
double conductance,
int numIterations);
235 Field(reinterpret_cast<cmzn_field_id>(field_imagefilter_discrete_gaussian_id))
246 return cmzn_field_imagefilter_discrete_gaussian_get_variance(
247 reinterpret_cast<cmzn_field_imagefilter_discrete_gaussian_id>(
id));
262 return cmzn_field_imagefilter_discrete_gaussian_set_variance(
263 reinterpret_cast<cmzn_field_imagefilter_discrete_gaussian_id>(
id),
275 return cmzn_field_imagefilter_discrete_gaussian_get_max_kernel_width(
276 reinterpret_cast<cmzn_field_imagefilter_discrete_gaussian_id>(
id));
290 return cmzn_field_imagefilter_discrete_gaussian_set_max_kernel_width(
291 reinterpret_cast<cmzn_field_imagefilter_discrete_gaussian_id>(
id),
311 Field(reinterpret_cast<cmzn_field_id>(field_imagefilter_histogram_id))
326 return cmzn_field_imagefilter_histogram_get_compute_minimum_values(
327 reinterpret_cast<cmzn_field_imagefilter_histogram_id>(
id),
328 valuesCount, valuesOut);
345 return cmzn_field_imagefilter_histogram_set_compute_minimum_values(
346 reinterpret_cast<cmzn_field_imagefilter_histogram_id>(
id),
347 valuesCount, valuesIn);
362 return cmzn_field_imagefilter_histogram_get_compute_maximum_values(
363 reinterpret_cast<cmzn_field_imagefilter_histogram_id>(
id),
364 valuesCount, valuesOut);
381 return cmzn_field_imagefilter_histogram_set_compute_maximum_values(
382 reinterpret_cast<cmzn_field_imagefilter_histogram_id>(
id),
383 valuesCount, valuesIn);
399 return cmzn_field_imagefilter_histogram_get_number_of_bins(
400 reinterpret_cast<cmzn_field_imagefilter_histogram_id>(
id),
401 valuesCount, valuesOut);
421 return cmzn_field_imagefilter_histogram_set_number_of_bins(
422 reinterpret_cast<cmzn_field_imagefilter_histogram_id>(
id),
423 valuesCount, valuesIn);
436 return cmzn_field_imagefilter_histogram_get_marginal_scale(
437 reinterpret_cast<cmzn_field_imagefilter_histogram_id>(
id));
451 return cmzn_field_imagefilter_histogram_set_marginal_scale(
452 reinterpret_cast<cmzn_field_imagefilter_histogram_id>(
id),
502 double outputMin,
double outputMax);
528 int radiusSizesCount,
const int *radiusSizesIn);
554 double min,
double max,
double alpha,
double beta);
578 Field(reinterpret_cast<cmzn_field_id>(field_imagefilter_threshold_id))
587 CONDITION_INVALID = CMZN_FIELD_IMAGEFILTER_THRESHOLD_CONDITION_INVALID,
589 CONDITION_ABOVE = CMZN_FIELD_IMAGEFILTER_THRESHOLD_CONDITION_ABOVE,
591 CONDITION_BELOW = CMZN_FIELD_IMAGEFILTER_THRESHOLD_CONDITION_BELOW,
594 CONDITION_OUTSIDE = CMZN_FIELD_IMAGEFILTER_THRESHOLD_CONDITION_OUTSIDE
605 return static_cast<Condition>(cmzn_field_imagefilter_threshold_get_condition(
606 reinterpret_cast<cmzn_field_imagefilter_threshold_id>(
id)));
619 return cmzn_field_imagefilter_threshold_set_condition(
620 reinterpret_cast<cmzn_field_imagefilter_threshold_id>(
id),
621 static_cast<cmzn_field_imagefilter_threshold_condition>(condition));
631 return cmzn_field_imagefilter_threshold_get_outside_value(
632 reinterpret_cast<cmzn_field_imagefilter_threshold_id>(
id));
643 return cmzn_field_imagefilter_threshold_set_outside_value(
644 reinterpret_cast<cmzn_field_imagefilter_threshold_id>(
id), outsideValue);
654 return cmzn_field_imagefilter_threshold_get_lower_threshold(
655 reinterpret_cast<cmzn_field_imagefilter_threshold_id>(
id));
668 return cmzn_field_imagefilter_threshold_set_lower_threshold(
669 reinterpret_cast<cmzn_field_imagefilter_threshold_id>(
id), lowerValue);
679 return cmzn_field_imagefilter_threshold_get_upper_threshold(
680 reinterpret_cast<cmzn_field_imagefilter_threshold_id>(
id));
693 return cmzn_field_imagefilter_threshold_set_upper_threshold(
694 reinterpret_cast<cmzn_field_imagefilter_threshold_id>(
id), upperValue);
701 int radius,
double dilate_value)
704 cmzn_fieldmodule_create_field_imagefilter_binary_dilate(
id, sourceField.
getId(),
705 radius, dilate_value));
710 int radius,
double erode_value)
713 cmzn_fieldmodule_create_field_imagefilter_binary_erode(
id, sourceField.
getId(),
714 radius, erode_value));
721 cmzn_fieldmodule_create_field_imagefilter_binary_threshold(
id, sourceField.
getId())));
731 double variance,
double maximumError,
double upperThreshold,
double lowerThreshold)
734 cmzn_fieldmodule_create_field_imagefilter_canny_edge_detection(
735 id, sourceField.
getId(),
736 variance, maximumError, upperThreshold, lowerThreshold));
741 double lowerThreshold,
double upperThreshold,
double replaceValue,
742 int dimension,
int seedPointsCount,
const double *seedPoints)
745 cmzn_fieldmodule_create_field_imagefilter_connected_threshold(
id, sourceField.
getId(),
746 lowerThreshold, upperThreshold, replaceValue, seedPointsCount, dimension, seedPoints));
751 double timeStep,
double conductance,
int numIterations)
754 cmzn_fieldmodule_create_field_imagefilter_curvature_anisotropic_diffusion(
id, sourceField.
getId(),
755 timeStep, conductance, numIterations));
762 cmzn_fieldmodule_create_field_imagefilter_discrete_gaussian(
id, sourceField.
getId())));
775 cmzn_fieldmodule_create_field_imagefilter_gradient_magnitude_recursive_gaussian(
id,
776 sourceField.
getId(), sigma));
783 cmzn_fieldmodule_create_field_imagefilter_histogram(
id, sourceField.
getId())));
793 double outputMin,
double outputMax)
796 cmzn_fieldmodule_create_field_imagefilter_rescale_intensity(
id,
797 sourceField.
getId(), outputMin, outputMax));
801 int radiusSizesCount,
const int *radiusSizesIn)
804 id, sourceField.
getId(), radiusSizesCount, radiusSizesIn));
809 double min,
double max,
double alpha,
double beta)
812 cmzn_fieldmodule_create_field_imagefilter_sigmoid(
id,
813 sourceField.
getId(), min, max, alpha, beta));
820 cmzn_fieldmodule_create_field_imagefilter_threshold(
821 id, sourceField.
getId())));
A field performing ITK binary dilate image filter on scalar source field image.
Definition: fieldimageprocessing.hpp:30
int getMaxKernelWidth()
Definition: fieldimageprocessing.hpp:273
FieldImagefilterCannyEdgeDetection createFieldImagefilterCannyEdgeDetection(const Field &sourceField, double variance, double maximumError, double upperThreshold, double lowerThreshold)
Definition: fieldimageprocessing.hpp:730
FieldImagefilterMean createFieldImagefilterMean(const Field &sourceField, int radiusSizesCount, const int *radiusSizesIn)
Definition: fieldimageprocessing.hpp:800
FieldImagefilterDiscreteGaussian castImagefilterDiscreteGaussian()
Definition: fieldimageprocessing.hpp:765
int setOutsideValue(double outsideValue)
Definition: fieldimageprocessing.hpp:641
FieldImagefilterDiscreteGaussian createFieldImagefilterDiscreteGaussian(const Field &sourceField)
Definition: fieldimageprocessing.hpp:759
Base field type: an abstraction of a mathematical field.
Definition: field.hpp:51
FieldImagefilterBinaryDilate createFieldImagefilterBinaryDilate(const Field &sourceField, int radius, double dilate_value)
Definition: fieldimageprocessing.hpp:700
int setComputeMaximumValues(int valuesCount, const double *valuesIn)
Definition: fieldimageprocessing.hpp:379
double getVariance()
Definition: fieldimageprocessing.hpp:244
int setLowerThreshold(double lowerThreshold)
Definition: fieldimageprocessing.hpp:109
FieldImagefilterCurvatureAnisotropicDiffusion createFieldImagefilterCurvatureAnisotropicDiffusion(const Field &sourceField, double timeStep, double conductance, int numIterations)
Definition: fieldimageprocessing.hpp:750
int setVariance(double variance)
Definition: fieldimageprocessing.hpp:260
int setCondition(Condition condition)
Definition: fieldimageprocessing.hpp:617
int getNumberOfBins(int valuesCount, int *valuesOut)
Definition: fieldimageprocessing.hpp:397
FieldImagefilterBinaryErode createFieldImagefilterBinaryErode(const Field &sourceField, int radius, double erode_value)
Definition: fieldimageprocessing.hpp:709
FieldImagefilterHistogram createFieldImagefilterHistogram(const Field &sourceField)
Definition: fieldimageprocessing.hpp:780
FieldImagefilterRescaleIntensity createFieldImagefilterRescaleIntensity(const Field &sourceField, double outputMin, double outputMax)
Definition: fieldimageprocessing.hpp:792
double getLowerThreshold()
Definition: fieldimageprocessing.hpp:97
double getUpperThreshold()
Definition: fieldimageprocessing.hpp:677
Image processing derived field type performing the ITK discrete gaussian filter.
Definition: fieldimageprocessing.hpp:226
A field returning result of ITK canny edge detection filter on the source field image.
Definition: fieldimageprocessing.hpp:149
int setNumberOfBins(int valuesCount, const int *valuesIn)
Definition: fieldimageprocessing.hpp:419
A field performing ITK connected threshold image filter on scalar source field image.
Definition: fieldimageprocessing.hpp:174
cmzn_field_id getId() const
Definition: field.hpp:103
Condition
Definition: fieldimageprocessing.hpp:585
double getOutsideValue()
Definition: fieldimageprocessing.hpp:629
int setUpperThreshold(double upperValue)
Definition: fieldimageprocessing.hpp:691
FieldImagefilterConnectedThreshold createFieldImagefilterConnectedThreshold(const Field &sourceField, double lowerThreshold, double upperThreshold, double replaceValue, int dimension, int seedPointsCount, const double *seedPoints)
Definition: fieldimageprocessing.hpp:740
A field performing ITK mean image filter on source_field image.
Definition: fieldimageprocessing.hpp:518
int setUpperThreshold(double upperThreshold)
Definition: fieldimageprocessing.hpp:133
FieldImagefilterHistogram castImagefilterHistogram()
Definition: fieldimageprocessing.hpp:786
Image processing derived field type performing the ITK threshold filter.
Definition: fieldimageprocessing.hpp:569
double getMarginalScale()
Definition: fieldimageprocessing.hpp:434
A field performing ITK curvature anisotropic diffusion image filter on scalar source field image...
Definition: fieldimageprocessing.hpp:202
int setLowerThreshold(double lowerValue)
Definition: fieldimageprocessing.hpp:666
FieldImagefilterThreshold createFieldImagefilterThreshold(const Field &sourceField)
Definition: fieldimageprocessing.hpp:817
A field performing ITK binary erode image filter on scalar source field image.
Definition: fieldimageprocessing.hpp:57
double getLowerThreshold()
Definition: fieldimageprocessing.hpp:652
Image processing derived field type performing the ITK histogram field.
Definition: fieldimageprocessing.hpp:302
A field performing ITK gradient magnitude recursive gaussian image filter on scalar source field imag...
Definition: fieldimageprocessing.hpp:466
int setComputeMinimumValues(int valuesCount, const double *valuesIn)
Definition: fieldimageprocessing.hpp:343
double getUpperThreshold()
Definition: fieldimageprocessing.hpp:121
Image processing derived field type performing the ITK binary threshold filter.
Definition: fieldimageprocessing.hpp:80
A field performing ITK sigmoid image filter on scalar source field image.
Definition: fieldimageprocessing.hpp:544
FieldImagefilterBinaryThreshold createFieldImagefilterBinaryThreshold(const Field &sourceField)
Definition: fieldimageprocessing.hpp:718
The OpenCMISS namespace.
Definition: context.hpp:20
A field performing ITK rescale intensity image filter on scalar source field image.
Definition: fieldimageprocessing.hpp:492
int getComputeMaximumValues(int valuesCount, double *valuesOut)
Definition: fieldimageprocessing.hpp:360
int setMarginalScale(double marginalScale)
Definition: fieldimageprocessing.hpp:449
FieldImagefilterGradientMagnitudeRecursiveGaussian createFieldImagefilterGradientMagnitudeRecursiveGaussian(const Field &sourceField, double sigma)
Definition: fieldimageprocessing.hpp:771
FieldImagefilterBinaryThreshold castImagefilterBinaryThreshold()
Definition: fieldimageprocessing.hpp:724
int setMaxKernelWidth(int maxKernelWidth)
Definition: fieldimageprocessing.hpp:288
FieldImagefilterSigmoid createFieldImagefilterSigmoid(const Field &sourceField, double min, double max, double alpha, double beta)
Definition: fieldimageprocessing.hpp:808
int getComputeMinimumValues(int valuesCount, double *valuesOut)
Definition: fieldimageprocessing.hpp:324
FieldImagefilterThreshold castImagefilterThreshold()
Definition: fieldimageprocessing.hpp:824