Giter Site home page Giter Site logo

deepmicroscopy / exact Goto Github PK

View Code? Open in Web Editor NEW
54.0 54.0 16.0 126.01 MB

An open source online platform for collaborative image labeling of almost everything

Home Page: https://prl.tf.fau.de/person/marzahl/

License: MIT License

Python 28.47% CSS 0.79% HTML 23.33% JavaScript 47.30% Shell 0.05% Dockerfile 0.06%
algorithm-aided annotations collaboration version-control whole-slide-imaging

exact's People

Contributors

akasch avatar catharasis avatar christianmarzahl avatar flova avatar fraukewilm avatar ftsell avatar jenmeyer avatar jgueldenstein avatar johagge avatar jonas-amme avatar lucas-camp avatar maubreville avatar nfiedler avatar oettlm avatar timonegk avatar wichmannpas avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

exact's Issues

Optional automatic overlay of registered images

It would be so great to have the option to automatically (but optionally) load the registered image as an overlay after initial loading of the image.

Even more perfect, this would be built with an always visible slider, like this:

image

Install with Docker fails, because python version < 3.8

Hi I tried to install Exact using docker-compose, but it fails in the following step:

RUN pip3 install --no-cache /wheels/*

When it wants to collect the transformations package:

Collecting transformations
Downloading transformations-2020.1.1.tar.gz (44 kB)

I get a RuntimeError:

RuntimeError: Python version >= 3.7 required.

As the Dockerfile is using ubuntu 18.04 it is only using Python 3.6.9 which then fails the requirement

After prod Docker install: ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

Hi,

I installed the prod version with docker-compose. It seemed to work fine. The log for the first command docker-compose -f docker-compose.prod.yml up -d --build can be found here: https://gist.github.com/Tyde/26a2bf733ecb5419bb4a1c20a50ed60e

When I try to run the second command: docker-compose -f docker-compose.prod.yml exec web python manage.py migrate --noinput I do get the following error:
Traceback (most recent call last):

File "manage.py", line 17, in <module>
    "Couldn't import Django. Are you sure it's installed and "
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

Docker build not feasible

Hi Christian,

the docker build does not work, there seem to be version missmatches. How could that be fixed?
I guess it is super easy :)

3.319 ERROR: Could not find a version that satisfies the requirement django-filter==23.2 (from versions: 0.1.0, 0.2.0, 0.5.0, 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.6a1, 0.6, 0.7, 0.8, 0.9.0, 0.9.1, 0.9.2, 0.10.0, 0.11.0, 0.12.0, 0.13.0, 0.14.0, 0.15.0, 0.15.1, 0.15.2, 0.15.3, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.1.0, 2.0.0.dev1, 2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.4.0, 21.1)
3.319 ERROR: No matching distribution found for django-filter==23.2

Best regards,
CJ

Stack Image

It should be possible to superimpose two images with EXACT.
For example, two registered images.

How to run exact as server / allow access via the web?

Thank you again for this great tool!
How can I allow access via different IP addresses? Different to local host.
I tried to change the according line in the settings.py file to:
ALLOWED_HOSTS = os.environ.get("DJANGO_ALLOWED_HOSTS", default=['127.0.0.1', 'Bla.Bla.Bla.Bla']).split(" ").
However, it does not work.
On the web, there is this line often without os.environ mentioned to allow other hosts. However, this does also not work?

Screening mode has stopped working

Apparently by introducing the rotation angle, the screening mode has stopped working.

image

The fault is in exact-image-viewer.js, where an undefined variable (rotation_angle) is being used in line 343.

It is fixed in the branch screeningModeFix.

Internal Server Error (500)

Every time I want to create a new account, the internal server error (500) appears but when I want to register the account again, it shows the user name is already registered.
image
If possible, can you please delete the account with the user name "gu", "gu0923" and "gu1994"? Those are ghost accounts that I just created. Thanks.
image

Annotations being only partially saved if <enter> not hit

When adding rectangular annotations (only checked with those) within an image, these are only reliably stored into the database when "enter" is hit. While this is the intended workflow, the annotations are shown on the UI regardless if enter was hit or not.

In the following image, the left annotations were all clicked only a single time (and are shown all), without hitting enter at any time:
image

This is the result in the database:
image

Since the annotations are successfully shown, it is not unlikely that users deviate from the instructions and don't hit enter.

I would encourage to show annotations only after successful storage in the database (i.e. on server response), to have DB and UI always in sync, if this is not already the case.

Semi-blind mode for annotation

Hi, a useful feature would be a mode where I, as the administrator, could see the annotations of the various study participants, while the study participants would only see their own annotations.

Verification skips images

Hello Christian,

I think I found a small bug in the annotations verification. Sometimes when I click verify on an image to complete my annotation, it is not saved. If I then select only unverified images to display, those which I have previously verified are also displayed. Also, some images are displayed as both verified and unverified. The error occurs on images where no objects have been annotated. However, not all images on which no objects are annotated are overlooked.

Kind regards
Jonathan

Incorrect display of images

When I am opening images in the application to label them they appear a bit strange. I added a screenshot of the correct image and the incorrect one.
image
image

Attached you can find the .png file.
163

An exception if Annotation Type already existed.

An exception can’t be handled when creating a new Annotation Type if the name already existed.

image

"
In fact, it will be more reasonable to allow the creator to delete every unused annotation type, which are not used in any ImageSet.
"

Image classification key maps inverted

When labelling a classification dataset with two classes, the key mapping for assigning the classes is displayed as Shift-1 and Shift-2. However, Shift-1 assigns the second class, while Shift-2 assigns the first one.

Thumbnail not deleted -> registration problems after reupload

When an image is deleted (tested from the API), the thumbnail image still resides in the file system.

This leads to the following chain of errors:

  • When uploading another image with the same filename, the new thumbnail is not being generated (as it already exists)
  • When trying to register this new image (which utilizes the thumbnail apparently), the registration fails.

Steps to reproduce:

  • Upload an image (e.g. 1.tiff)
  • Delete the image
  • Finding 1: 1_thumbnail.png still resides in the data directory
  • Upload other image with same filename (1.tiff)
  • Finding 2: 1_thumbnail.png was not updated.

In Exact/images/api_views.py:478 the destroy() routine also does not include removing the thumbnail.

Trouble with installation on Ubuntu

First of all, thank you very much for this excellent tool.
Unfortunately, I have trouble installing it on a Linux machine (Ubuntu 22); not due to the Ubuntu version.
I have cloned your repo, modified the env files in the subfolder exact/exact, and then started the installation via:
sudo docker-compose -f docker-compose.yml up -d --build
By doing so, there is an error with a requirements.txt file. I have copied that one from the subfolder exact to the main folder.
However, there is still this error:
The command '/bin/sh -c pip3 install -r requirements.txt' returned a non-zero code: 137
ERROR: Service 'web' failed to build : Build failed

Menubar dropdowns only work on "Home"-Page

Correct behaviour:
Open "Home"-Page
Click on "Administration", "My Teams", "My Profile" --> The dropdown menu is displayed

Expected to work on any other page as well:
Open "Explore"-Page, "Administration", "My Teams",...
Click on "Administration", "My Teams", "My Profile" --> No dropdown menu is displayed
grafik

TypeError while screening

From console output:

Uncaught TypeError: cv.Mat is not a constructor
matFromImageData opencv.js:30
imread opencv.js:30
updateThumbnail screeningTool.js:160
jQuery 8
initUiEvents screeningTool.js:91
getHandler eventsource.js:162
raiseEvent eventsource.js:184
success exact-sync.js:128
jQuery 6
loadScreeningMode exact-sync.js:119
EXACTScreeningModeSync exact-sync.js:114
ScreeningTool screeningTool.js:15
EXACTViewer exact-image-viewer.js:28
factoryCreateViewer exact-image-viewer.js:143
displayImage exact-imageset-viewer.js:190
imageSetInformationLoaded exact-imageset-viewer.js:105
success exact-sync.js:292
jQuery 6
loadImageSetInformation exact-sync.js:262
EXACTImageSetViewer exact-imageset-viewer.js:18
annotations.js:38
jQuery 13
opencv.js:30:7673291

Error when creating an ImageSet in the web api

When trying to create a new ImageSet via the web api an error occurs and the ImageSet is not created.
Creating a ImageSet with the Exact-Sync api works.

The server is running on Windows with Docker.

error_msk

Filled Polygons

Hello Christian,

it would be really cool if Exact could offer the possibility to visualize annotations as filled polygons.
Thank you for your great tool!

Kind regards
Frauke

Cannot add annotations in "full page" (fullscreen) mode.

When switching to "full page" (fullscreen) mode using the beveled round "Toggle full page" button, it is no longer possible to add annotations, even when "c" is pressed on the keyboard or annotation mode is on before pressing the button.

(tested on chrome, firefox and safari on ipad)

Feedback for Exact from Bio-Totem

Thanks for your improvement on this collaborative online platform project. We find it very useful after a few days of trial on the platform. However, we believe that if you can improve the functions listed in mail attachment(which was send form [email protected]), the platform would be more popular.
Thanks

Exception when last action image was deleted

When the image shown in last_action was deleted, it is no longer possible to use exact, since there is an error immediately after login:

django.urls.exceptions.NoReverseMatch: Reverse for 'team' with arguments '('',)' not found. 1 pattern(s) tried: ['users/team/(\d+)/$']

Most likely, the team of the image can no longer be looked up, which causes the error.

Plygon is not connected as a contour

I'm now using polygon to annotate for segmentation map, but I find sometimes the start point and the end point of the polygons are not connected.
b390c6da68f8410d05705ce4a701381
446726e9db04711d28ffb06e75ead48
The first image shows my annotation on the Exact server. The second image shows the annotation that I downloaded from the server.
This error can be reproduced when the starting point and end point of the polygon are too far away from each other.

Usability DetailViewer

For optimal handling of the planned DetailViewer, it would be great to

  • be able to de-/activate it with a Keyboard-Shortcut OR a button in the taskbar (you could use the "magnify" material design icon available at https://materialdesignicons.com/ ).
  • toggle between the main-viewer and the detail-viewer via keyboard shortcut
  • highlight the frame around the detail-viewer whenever it is active (toggled) and display a pointer to the original location in the main-viewer (as displayed in green ... maybe not the best choice in color ;-) ) as displayed below. This pointer would need to adust its location whenever the user navigates within the detail-viewer.

DetailView_active

Happy coding :-)
Christine

Adaptions to mainland China or VPN

"Loading Images is difficult for users running this platform in a private network without internet connection, or users in mainland China, who are unable to access URL that you use in the html file mentioned above without VPN. I am not quite sure why online URL addresses are necessary, but it will make the platform more friendly if changing online URL into local paths in this html file"

image

Creation of images directory required.

Just tried to install Exact on a fresh instance from the README, and apparently it required the creation of the "images" folder in Exact/exact/images before running the migration.

I think a fix will be to just add an empty folder to github so that this will be created automatically, or to add it to the README.

Collaboration among groups of people

Hi I have accessed the EXACT label Server. A collaborator and I want to label some images. But we cannot find a way to allow the other into the set to collaborate. Is there a guideline for that?
Thank you, and your work is great

Error Launching Exact with Docker Compose File

Having an issue launching Exact in Docker.

Using Docker Desktop for Windows 10
Clone GIT Repository
Run following command from CLI in repo folder: docker-compose -f docker-compose.yml up -d --build

Container is built successfully, but get following error when it starts. Any help would be appreciated.

ERROR: for web Cannot start service web: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: "/usr/src/exact/entrypoint.sh": stat /usr/src/exact/entrypoint.sh: no such file or directory": unknown
ERROR: Encountered errors while bringing up the project.

cannot make sync work

Hi,
I am trying to use the sync option to visualize two images at the same time. But when I click to look for other images it doesnt show anything:

image

In your image registration video it shows you an ihc image right away. Am I missing some step?
Thanks!

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.