Coder Social home page Coder Social logo

knowledgevis / pathoview Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alanaberdeen/aida

0.0 0.0 0.0 85.14 MB

Annotation of Image Data by Assignment.

Home Page: https://alanaberdeen.github.io/AIDA

License: MIT License

JavaScript 16.41% TypeScript 83.09% CSS 0.50%

pathoview's Introduction

AIDA

See a demo

Play with a live example here

The Basic Idea

AIDA is an attempt to bring an open source web-based work-flow to image annotation. Currently, in the biomedical imaging space, image annotation is largely confined to single computer shrink-wrapped software with limited interactive capabilities and few, usually closed, data formats.

AIDA is a web interface that enables distributed teams of researchers to directly annotate images with easy to use on screen drawing tools. AIDA supports the creation of well defined annotation trials which include a series of high resolution images and a specific set of annotation tasks.

For documentation and further information see the Wiki.

How has it been implemented?

The user interface is a React NextJS Single Page Application, encapsulating and interacting with OpenLayers to provide the images and drawing functionality. Tailwind is the css framework.

AIDA reads and writes data in a simple JSON structure over a web API.

What's planned?

The next stage of development will be to integrate intelligent tools that leverage the power of machine learning techniques. We hope to enhance the ability of the user to quickly and accurately mark up images through predictive assistance.

License

The software is published as Open Source under the permissive MIT license.

Run Locally

You can use AIDA on your local machine. The only requirement NodeJS.

  1. Clone the repository
  2. Install the dependencies via NPM npm install
  3. Run the build script npm run build
  4. Add the images you want to annotate to the /local/data/ directory.
  5. Run the local server application via npm run start
  6. Navigate to the localhost webserver specified in the console
  7. Annotations are read from and written to /local/data/

Example local sever data directory

local
|  local.ts
|  tsconfig.json
|  ...
|
|  └──data
|    | README.md
|    | project.json           // AIDA project file (see below for example content)
|    | annotation.json
|
|    └──image-dz              // DeepZoom format 2D image
|    |   |  image.dzi
|    |
|    |   └──image_files
|    |   |
|    |   |   └──0
|    |   |      |  0_0.jpeg
|    |   |      |  0_1.jpeg
|    |   |      |  ...
|    |   |
|    |   |   └───1
|    |   |      |  0_0.jpeg
|    |   |      |  0_1.jpeg
|    |   |      |  ...
|    |   |
|    |   |   └───...

project.json defines the combination of image and annotation data.

{
  "image": "image-dz/image.dzi",
  "annotation": "annotation.json"
}

Develop

Requirement NodeJS. Example work-flow:

  1. Clone the repository
  2. Install dependencies via npm install
  3. For development: start a hot-reloading dev server with npm run start
  4. For deployment: bundle together with npm run build

Support for tiled images, International Image Interoperability Framework (IIIF)

This removes the requirement for DZI file formats and replaces it with a web-server. At this point it is still a bit experimental.

  • Deploy Cantaloupe IIIF server as described here.
  • Edit the Cantaloupe configuration file so that FilesystemSource.BasicLookupStrategy.path_prefix points to /local/data.
  • Cataloupe server must be running at 'localhost:8182'
  • Currently only TIFF files are supported.

About

This application was built by Alan Aberdeen and Stefano Malacrino with contributions from Nasullah Khalid Alham and Ramón Casero. It originated at the Quantitative Biological Imaging Group, The University of Oxford.

pathoview's People

Contributors

alanaberdeen avatar stefano-malacrino avatar dependabot[bot] 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.