DoDENCLUEDeblending¶
Introduction¶
The DoDENCLUEDeblendingTask
class implements the Denclue-based deblending task.
The Denclue algorithm is used to move each pixel of the cluster to his attractor.
The final attractors are clusered by the DBSCAN algorithm. The parent cluster is
partitioned according to the clusters of attractors
Algorithm¶
The algorithm is implemented in the do_denclue_deblending()
and do_denclue_of_cluster()
functions.
- The
do_denclue_deblending()
implements the top-level algorithm for the Denclue-based deblending: - Each parent cluster in the cluster_list is partitioned by the
do_denclue_of_cluster()
function. - The number of children clusters will be equal to the number of clusters of Denclue attractors.
- The parent cluster with his children clusters are used to build the
DeblendedProducts
object - a list of class:DeblendedProducts object is returned
- Each parent cluster in the cluster_list is partitioned by the
- The
- The actual parent cluster deblending is implemented in the
do_denclue_of_cluster()
function: - The
gauss_laplace_down_sampling()
function implements the optional downsampling of the cluster image. It returns a downsampled array of target coordinates to use in theDENCLUE
cluster partitioning. - The Denclue cluster segmentation is obtained using the
DENCLUE
.
- The
- The actual parent cluster deblending is implemented in the
Parameters¶
gl_downsampling
:, if True, a GuassLaplace downsampling of the image is performed (to speed up the computation)h_grid
: grid mesh in pixels for the downsamplinggl_th_rel
: relative threshold for the GaussLaplace local maxima detectioneps
: sets the stop threshold for the recursive attractor update ruledigitize_attractors
: if True, will approximate the final attractor position to the coordinate of the closest image pixelk_table_size
: if not None, the kernel is precomputed in a look-up table over a grid with size equal to k_table_sizeh_frac
: sets the width of the kernel as a fraction of the radius of the source to deblendh_min
: kernel width obtained byh_frac
can not be lower thanh_min
h_max
: kernel width obtained byh_frac
can not be lerger thanh_max
kernel
: sets the kernel for image convolution (gauss,uniform,logistic,etc...)h_frac
: sets the width of the kernel as h=h_frac*sqrt(r_max^2+r_cluster^2)h_min
: kernel width obtained byh_frac
can not be lower thanh_min
h_max
: kernel width obtained byh_frac
can not be lerger thanh_max
min_size
: sets the minimum size in pixels to perform a deblendingmask_unchanged
: pixel whose attractors have moved to a final position with distance from the starting point less thanmask_unchanged
will be ignored, and lost in the final stepattr_dbs_eps
eps for dbscan of attractorsattr_dbs_K
K for dbscan of attractorsR_max_frac
: sets max kernel influence radius as fraction of parent cluster r_maxR_max_kern_th
: sets max kernel influence radius using the condition R: kernel(R)<=th, with th relative to kernel max value
conf file section¶
The configuration file section will read:
[ task: denclue_deblending: start]
eps = 0.05
digitize_attractors = False
kernel = gauss
k_table_size = None
h_frac = 0.2
h_min= 1.0
h_max= None
mask_unchanged = None
min_size = 9
attr_dbs_eps = 1.0
attr_dbs_K = 4.0
verbose = True
plot = True
# mex group: R_max_method
R_max_frac = None
R_max_kern_th = None
[ task: denclue_deblending: stop]