Git Product home page Git Product logo

advanced-density-peaks's People

Contributors

alexdepremia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

advanced-density-peaks's Issues

Problem in generation of the dendrogram

Sometimes, the dendrogram generation goes in an infinite loop, generating a huge gpl file. Probably we should program again the subroutine graph2 (and simplify it).

Borders identification

I'm unsure about the part of the code in which borders between clusters are identified (lines 1978-2013)

#!fortran90

do i=1,Nele
  if (.not.centquest(i)) then
    dmin=maxr
    do j=1,Nele
      if (cluster(j).ne.cluster(i)) then
        d=gDist(i,j)
        if (d.lt.dmin) then
          dmin=d
          jg=j
        endif
      endif
    enddo
    if (dmin.le.dc(i)) then
      iref=i
      k=0
      extend=.true.
      do while ( (k.lt.Nele).and.extend)
        k=k+1
        if (cluster(k).eq.cluster(i)) then
          if (gDist(k,jg).lt.dmin) extend=.false.
        endif
      enddo
      if (extend) then
        candidates_B(i)=cluster(jg)
        if (Rho(iref).gt. Bord(cluster(i),cluster(jg))) then
          Bord(cluster(i),cluster(jg))=Rho(iref)
          Bord(cluster(jg),cluster(i))=Rho(iref)
          Bord_err(cluster(i),cluster(jg))=Rho_err(iref)
          Bord_err(cluster(jg),cluster(i))=Rho_err(iref)
          eb(cluster(i),cluster(jg))=iref
          eb(cluster(jg),cluster(i))=iref
        endif
      endif
    endif
  endif
enddo

Specifically, the first inner loop

#!fortran90

do j=1,Nele
      if (cluster(j).ne.cluster(i)) then
        d=gDist(i,j)
        if (d.lt.dmin) then
          dmin=d
          jg=j
        endif
      endif
    enddo

given a point i, will find its nearest neighbour not belonging to cluster(i), which will be labelled ig. Then, the following step is to check if there's any point in cluster(i) closer to ig.
This is similar but not equal to what I read in the arxiv manuscript:

"A point i, belonging to cluster c, is assumed to be at the border between cluster c and c' if its closest point j belonging to c' is within a distance r_k_i and if i is the closest point to j among those belonging to c"

In particular, according to the manuscript definition, given cluster c, and point i, one should consider each of the other clusters, and find the point closest to i for each of the other clusters, then do the second check on each of them.

Am I interpreting any of this wrong?
Sorry if there's something obvious that I'm missing

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.