Karthik Sundar
Karthik Sundar

Reputation: 1

Density and threshold based clustering in dbscan

I am working on some thermal temperature data of industrial parts. I have a pixel-wise temperature of the part with temperature values. I want to use dbscan to identify parts that have clusters of pixels in each part where all points in the cluster exceed a threshold temperature. I have tried using dbscan but do not know how to identify using both threshold temperature and size of the cluster as conditions.

I have tried to isolate only points that cross the threshold(230) and try to see if that cluster exceeds a certain size. The code below:c(1,3) are the x,y values of the temperature and v is the temperature.

new<-sub%>%filter(sub$v>230)%>% as.data.frame(.)
db <- fpc::dbscan(new[,c(1,3)], eps =3, MinPts = 10)
plot(db, new[,c(1,3)], main = "DBSCAN", frame = FALSE)

complete part visual: complete part visual

dbscan output after filtering using threshold temperature":

dbscan output

Upvotes: 0

Views: 353

Answers (1)

Has QUIT--Anony-Mousse
Has QUIT--Anony-Mousse

Reputation: 77485

Never use the fpc package. Use dbscan instead!

I'm not sure whether DBSCAN is the right tool for your taskz because below you talk about10x10 regions. For that, a standard convolution would be much more appropriate...

But other than that DBSCAN could work for you, provided that you choose attributes (n, m, f, c? What are alle these?) and parameters (radius minpts) appropriately. Maybe your epsilon was just too small?

Upvotes: 1

Related Questions