GithubHelp home page GithubHelp logo

Comments (6)

r03ert0 avatar r03ert0 commented on August 23, 2024

I have the impression that the misalignment appears only in computers with Retina displays. Is that your case?

from microdraw.

rdvincent avatar rdvincent commented on August 23, 2024

My machine is definitely not a true "Retina" display, but I don't know the exact resolution. I will try to reproduce it on some other platforms as I get a chance. It looks like an issue with paper.js.

from microdraw.

r03ert0 avatar r03ert0 commented on August 23, 2024

try this in the console:

window.devicePixelRatio

In a retina display you get 2.
I think that I found a fix. The thing is that the width value as an attribute is not the same as the width value as a style (one is twice the other). I'll try to implement the fix and push it asap.

from microdraw.

r03ert0 avatar r03ert0 commented on August 23, 2024

The misregistration issue disappears when this line is commented our in initAnnotationOverlay (around line 1080):

magicV = viewer.world.getItemAt(0).getContentSize().x;

@hspitzer : You explained me what that line did but I don't remember what it was. Could you explain again please?

from microdraw.

hspitzer avatar hspitzer commented on August 23, 2024

This line gets the size of the currently opened tileSource and sets the resolution of the paper.js canvas accordingly (using the magicV). The getContententSize() function gets the size of the image in pixels.

I wanted to set the resolution of the canvas to always have the size of the underlying image, so that you can always take the annotations as pixel values. Especially if the image sizes change (when not using the big brain) this is very important.

However, if retina displays display pixels differently, it makes sense that this line might be the culprit for the misregistation.

from microdraw.

r03ert0 avatar r03ert0 commented on August 23, 2024

Commit dcd4f9c fixes the mis-alignment bug. The main point was to comment out line 1080 in the initAnnotationOverlay function (it's still left in the code).
I changed the way in which the canvas elements are created to make sure that we get the right canvas. This wasn't the case in the previous version, which produced a bug were drawing was performed in an invisible canvas.
I also changed the updateRegionList function to use jquery and make sure that no extraneous regions are left from one slice to the other.

from microdraw.

Related Issues (20)

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.