Back to FabImage Library website
You are here: Start » Function Reference » Image » Image Local Transforms » SmoothImage_Quantile
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | FoundationLite |
Replaces each pixel with a quantile of pixels within a kernel.
Applications: Edge-preserving noise removal (but slow).
Syntax
C++
C#
void fil::SmoothImage_Quantile ( const fil::Image& inImage, ftl::Optional<const fil::Region&> inRoi, ftl::Optional<const fil::Region&> inSourceRoi, float inQuantile, fil::SmoothImageMedianKernel::Type inKernel, int inRadiusX, ftl::Optional<int> inRadiusY, fil::Image& outImage )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() |
inImage | const Image& | Input image | ||
![]() |
inRoi | Optional<const Region&> | NIL | Range of outImage pixels being written | |
![]() |
inSourceRoi | Optional<const Region&> | NIL | Range of inImage pixels being read | |
![]() |
inQuantile | float | 0.0 - 1.0 | 0.8f | The quantile to be calculated for a neighbourhood of each pixel |
![]() |
inKernel | SmoothImageMedianKernel::Type | |||
![]() |
inRadiusX | int | 0 - ![]() |
1 | Nearly half of the kernel's width (2*R+1) |
![]() |
inRadiusY | Optional<int> | 0 - ![]() |
NIL | Nearly half of the kernel's height (2*R+1), or same as inRadiusX |
![]() |
outImage | Image& | Output image |
Requirements
For input inImage only pixel formats are supported: uint8.
Read more about pixel formats in Image documentation.
Hardware Acceleration
This operation supports automatic parallelization for multicore and multiprocessor systems.
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Not supported kernel in SmoothImage_Quantile. |
DomainError | Not supported pixel format in SmoothImage_Quantile. |
DomainError | Region exceeds an input image in SmoothImage_Quantile. |
DomainError | Source roi exceeds an input image in SmoothImage_Quantile. |
DomainError | Not supported inImage pixel format in SmoothImage_Quantile. Supported formats: UInt8. |