News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

DBScan, Homogeneity and Completeness algorithm

Started by guga, May 11, 2024, 11:39:49 PM

Previous topic - Next topic

NoCforMe

Judging from those pictures, you've cooked up a pretty good "sharpen" filter there, yes?
Assembly language programming should be fun. That's why I do it.

guga

#31
Hi NoCforMe. Yes, the algorithm can be used as a filter to sharpen images. It wasn't designed for that, but in the end I saw that this was another possible use.

Testing for edition. Working now, Stoo :)
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

guga

#32
Finally succeeded to make this works

I created 2 specific functions to properly identify the clusters. One biased on the "normal" identification method as described here: https://www.youtube.com/watch?v=-p354tQsKrs

And other forcing the point nearby a cluster to be a border even if it don´t have the minimum distance of Epsilon. On such cases, if i decide to use this method too (after testing on real images), i´ll see if i can set a newer flag called NEAR_BORDER meaning that we have a point near a cluster that can be considered border despite it´s values is not enough to be considered as such.

Both methods uses the technique described at: https://biswajit.netlify.app/pages/dip-burdwanuniversity

I´ll make further tests before the next release.

This algorithm can be usefull to create a more accurate denoise filter, since it identifies precisely what is noise and also store the necessary amount of data needed for that specific pixel be considered at least a border and later be used to form new clusters if necessary.

Now i need also to find a way to assign each border to it´s own cluster (or clusters) and create a type of subgroup of clusters (for cases where clusters can be merged to form a larger one)
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

guga

Ok, guys. I suceeded to assign a unique ID for each Core and Border points and also succeeded to identify each Noise point as well. Now i´m trying to figure it out a way to assign a unique Id for each cluster and associate it to the corresponding core and border points that forms it.

Any ideas ?
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

guga

Say that i have an image (width = 6, height = 5) that contains these classifications:

Noise - Core - Core - Noise - Core - Core
Border - Border - Core - Border - Border - Core
Noise - Border - Core - Border - Border - Border
Noise - Border - Border - Border - Border - Core
Noise - Noise - Noise - Noise - Core - Core

How do i determine the clusters and how many are there ?
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com