Giter Site home page Giter Site logo

cellsegmentation's Introduction

Cell Detection and Region Extraction

Project for the course "Algorithms and Data Structures" at Wrocław University of Science and Technology

This program processes microscopic tissue images and detects individual cells on them. It utilizes the Canny algorithm to detect edges and the AGAST detector to find key points. Only the points located on the detected edges are further processed. The obtained points form the vertices of a planar graph called the "Relative Neighborhood Graph." After building the graph according to its rules, face detection is performed. By traversing all edges in both clockwise and counterclockwise directions, a set of all graph simple cycles is generated, which approximately corresponds to the cells present in the input image.

Dependencies

  • OpenCV v4.7.0
  • JGraphT v1.5.2

Please make sure to install the above libraries before running the program.

Usage

  1. Provide the input tissue image to the program. The image should be located in the img folder as 'input.png'. The image size should be matching your monitor size.
  2. Set the desired parameters in the Main.java file.
  3. The program will apply the Canny algorithm to detect edges on the image.
  4. It will then use the AGAST detector to find key points, considering only the points located on the detected edges.
  5. The obtained points will be used to construct a graph following the rules of the Relative Neighborhood Graph.
  6. Finally, the program will perform region detection by traversing all edges in both clockwise and counterclockwise directions to generate a set of all graph regions, approximating the cells present in the image.

Examples

Sample images are provided in the img/HER2 folder. The following images are an example of the program's output:

Example output

Example output

Example output

Example output

cellsegmentation's People

Watchers

 avatar

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.