ClassesClassesClassesClasses | | | | Operators

gen_psf_defocusgen_psf_defocusGenPsfDefocusgen_psf_defocusGenPsfDefocusGenPsfDefocus (Operator)

Name

gen_psf_defocusgen_psf_defocusGenPsfDefocusgen_psf_defocusGenPsfDefocusGenPsfDefocus — Generate an impulse response of an uniform out-of-focus blurring.

Warning

gen_psf_defocusgen_psf_defocusGenPsfDefocusgen_psf_defocusGenPsfDefocusGenPsfDefocus is obsolete and is only provided for reasons of backward compatibility.

Signature

gen_psf_defocus( : Psf : PSFwidth, PSFheight, Blurring : )

Herror gen_psf_defocus(Hobject* Psf, const Hlong PSFwidth, const Hlong PSFheight, double Blurring)

Herror T_gen_psf_defocus(Hobject* Psf, const Htuple PSFwidth, const Htuple PSFheight, const Htuple Blurring)

Herror gen_psf_defocus(Hobject* Psf, const HTuple& PSFwidth, const HTuple& PSFheight, const HTuple& Blurring)

HImage HImage::GenPsfDefocus(const HTuple& PSFwidth, const HTuple& PSFheight, const HTuple& Blurring)

void GenPsfDefocus(HObject* Psf, const HTuple& PSFwidth, const HTuple& PSFheight, const HTuple& Blurring)

void HImage::GenPsfDefocus(Hlong PSFwidth, Hlong PSFheight, double Blurring)

void HOperatorSetX.GenPsfDefocus(
[out] IHUntypedObjectX*Psf, [in] VARIANT PSFwidth, [in] VARIANT PSFheight, [in] VARIANT Blurring)

void HImageX.GenPsfDefocus(
[in] Hlong PSFwidth, [in] Hlong PSFheight, [in] double Blurring)

static void HOperatorSet.GenPsfDefocus(out HObject psf, HTuple PSFwidth, HTuple PSFheight, HTuple blurring)

void HImage.GenPsfDefocus(int PSFwidth, int PSFheight, double blurring)

Description

gen_psf_defocusgen_psf_defocusGenPsfDefocusgen_psf_defocusGenPsfDefocusGenPsfDefocus generates an impulse response (spatial domain) of an uniform out-of-focus blurring and writes it into an image of HALCON image type 'real'. BlurringBlurringBlurringBlurringBlurringblurring specifies the extent of blurring by defining the “blur radius” (out-of-focus blurring maps each image pixel on a small circle with a radius of BlurringBlurringBlurringBlurringBlurringblurring - specified in “number of pixels”). If specified less than zero, the absolute value of BlurringBlurringBlurringBlurringBlurringblurring is used. The result image of gen_psf_defocusgen_psf_defocusGenPsfDefocusgen_psf_defocusGenPsfDefocusGenPsfDefocus encloses an spatial domain impulse response of the specified blurring. Its representation presumes the origin in the upper left corner. This results in the following disposition of an NxM sized image:

This representation conforms to that of the impulse response parameter of the HALCON-operator wiener_filterwiener_filterWienerFilterwiener_filterWienerFilterWienerFilter. So one can use gen_psf_defocusgen_psf_defocusGenPsfDefocusgen_psf_defocusGenPsfDefocusGenPsfDefocus to generate an impulse response for Wiener filtering.

Parallelization

Parameters

PsfPsfPsfPsfPsfpsf (output_object)  image objectHImageHImageHImageHImageXHobject * (real)

Impulse response of uniform out-of-focus blurring.

PSFwidthPSFwidthPSFwidthPSFwidthPSFwidthPSFwidth (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Width of result image.

Default value: 256

Suggested values: 128, 256, 512, 1024

Typical range of values: 1 ≤ PSFwidth PSFwidth PSFwidth PSFwidth PSFwidth PSFwidth

PSFheightPSFheightPSFheightPSFheightPSFheightPSFheight (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Height of result image.

Default value: 256

Suggested values: 128, 256, 512, 1024

Typical range of values: 1 ≤ PSFheight PSFheight PSFheight PSFheight PSFheight PSFheight

BlurringBlurringBlurringBlurringBlurringblurring (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Degree of Blurring.

Default value: 5.0

Suggested values: 1.0, 5.0, 10.0, 15.0, 18.0

Result

gen_psf_defocusgen_psf_defocusGenPsfDefocusgen_psf_defocusGenPsfDefocusGenPsfDefocus returns 2 (H_MSG_TRUE) if all parameters are correct.

Possible Predecessors

simulate_motionsimulate_motionSimulateMotionsimulate_motionSimulateMotionSimulateMotion, gen_psf_motiongen_psf_motionGenPsfMotiongen_psf_motionGenPsfMotionGenPsfMotion

Possible Successors

simulate_defocussimulate_defocusSimulateDefocussimulate_defocusSimulateDefocusSimulateDefocus, wiener_filterwiener_filterWienerFilterwiener_filterWienerFilterWienerFilter, wiener_filter_niwiener_filter_niWienerFilterNiwiener_filter_niWienerFilterNiWienerFilterNi

See also

simulate_defocussimulate_defocusSimulateDefocussimulate_defocusSimulateDefocusSimulateDefocus, gen_psf_motiongen_psf_motionGenPsfMotiongen_psf_motionGenPsfMotionGenPsfMotion, simulate_motionsimulate_motionSimulateMotionsimulate_motionSimulateMotionSimulateMotion, wiener_filterwiener_filterWienerFilterwiener_filterWienerFilterWienerFilter, wiener_filter_niwiener_filter_niWienerFilterNiwiener_filter_niWienerFilterNiWienerFilterNi

References

Reginald L. Lagendijk, Jan Biemond: Iterative Identification and Restoration of Images, Kluwer Academic Publishers Boston/Dordrecht/London, 1991
M. Lückenhaus:“Grundlagen des Wiener-Filters und seine Anwendung in der Bildanalyse”; Diplomarbeit; Technische Universität München, Institut für Informatik; Lehrstuhl Prof. Radig; 1995.

Module

Foundation


ClassesClassesClassesClasses | | | | Operators