Giter Club home page Giter Club logo

openlime's People

Contributors

cignoni avatar cuneifarm avatar leonardo-31415 avatar ponchio avatar surfabius avatar thera2002 avatar unsettledgames avatar

Stargazers

 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openlime's Issues

Release 1.0.1 skin.svg and skin.min.svg differs

There seems to be a difference between skin.svg and skin.min.svg

examples/rti-viewer/index.html

Change from
OpenLIME.Skin.setUrl('../../skin/skin.min.svg');
to
OpenLIME.Skin.setUrl('../../skin/skin.svg');

=>

  • The layout of the toolbar buttons changes.
  • The light button is always yellow (also if not activated)

RTI & IIIF tiles-on-demand support ?

I wondered if it's planned to enable support for serving up RTI images using IIIF tiles-on-demand instead of whole images, or does that not work with the new way the RTI data is stored ? (Possibly it would need to request 3 tiles simultaneously ?)

If it is planned to do that, I wondered (longer-term) whether the data in the info.json might be something that could be integrated into the IIIF Image API as an extension, so a single info.json provides the information needs for both IIIF tile retrieval and RTI calculations.

Apologies if I've mis-understand the architecture, still getting my head round how it all works.

[Handling] Zoom with ctrl + wheel on PC (or ⌘ + wheel)

Hi!
Would it be possible to change the handling to use CTRL + wheel so when the openlime is embeded in a web page it won't stop the scrolling?
And it could detect the scrolling but show a message a bit like here on google maps
Capture d’écran, le 2022-06-13 à 13 49 53
(just a text message all over the canvas explaining how to zoom)

Object 360 support

Hello,

would it be possible to add a "360 object" support ?

This is not about equirectangle or stereoscopic as 360 image. A 360° object is a set of image (column and rows) displayed one at a time; and by dragging the mouse, it change to the closest image according to the direction of the dragging.

Nicolas

Annotation layer is "drifting" on the layer

Here is an example, the annotation tool is not matching the position of the cursor and when we zoom the annotation layer zooms a bit slower of faster resulting in a drifting. The movement and offset is unnoticable on the top left corner of the image and is larger on the bottom right corner

pointdecale.mov

here is the code for my layers:


    const lime = new OpenLIME.Viewer('.openlime');
    OpenLIME.Skin.setUrl('/assets/js/Openlime/skin.svg');

    lime.camera.bounded = true; //permet de limiter le déplacement de la caméra à l'image.

    //On ajoute les 2 calques : RTI et image.

    let layer0 = new OpenLIME.Layer({
        label: 'RTI',
        layout: 'itarzoom',
        type:'rti',
         // asset url.
        url: '/assets/'+(this.rti_id)+'/info.json',
        normals: false
    });

    let layer1 = new OpenLIME.Layer({
        label: 'Image',
        layout: 'tarzoom',  //VENIR RECUPERER this.layout
        type:'image',
        url: '/assets/'+(this.rti_id)+'/image.tzi', //this.rti_id
        normals: false
    });


        const classParam = {
          '': { stroke: '#000', label: '' },
          'class4': { stroke: '#00FF00', label: 'Vert' },
          'class5': { stroke: '#ff0000', label: 'Rouge' },
          'class1': { stroke: '#FFFF00', label: 'Jaune' },
          'class2': { stroke: '#0000FF', label: 'Bleu' },
          'class3': { stroke: '#000000', label: 'Noir' },
          'class6': { stroke: '#ffffff', label: 'Blanc' },
        };

        let aOptions = {
            label: 'Annotations',
            layout: layer0.layout,
            type: 'svg_annotations',
            style: `
            .openlime-annotation { pointer-events:stroke; opacity: 0.7; }
            .openlime-annotation:hover { cursor:pointer; opacity: 1.0; }

            :focus { fill:yellow; }
            path { fill:none; stroke-width:2; stroke:#000; vector-effect:non-scaling-stroke; pointer-events:all; }
            path:hover { cursor:pointer; stroke:#f00; }
            .selected { stroke-width:3; }
            `,
            annotations: '/assets/js/annotations/annotations_crud.php?idannojson='+idannojson,
        }


        // Create an annotation layer and add it to the canvans
        const anno = new OpenLIME.Layer(aOptions);
        lime.addLayer('RTI', layer0);
        lime.addLayer('Image', layer1);
        lime.addLayer('anno', anno);

360 images support ?

Hello,
Is there by any chance the support of 360° image (equirectangular projection or else) planned for a close future ?
Best

Tools snapshot and ruler don't work

And btw the "scale bar" is at the same position than the "attribution". I just moved the scale a few pixels up to fix it.

.openlime-scale{bottom: 25px;}

Limit light angle when viewing HSH basis

As HSH isn't bounded at the extremities is gives weird colors the moment the light are the most raking.

Just before raking light :
Capture d’écran, le 2022-10-06 à 16 04 40
and just after, when the color get strange.
Capture d’écran, le 2022-10-06 à 16 04 30

It can be unsettling for new users and give them the feeling the RTI isn't right (except it is). Would it be possible for OpenLime to limit the max angle automatically to prevent when HSH basis is detected in the info.json?

[Feature request] Include annotation in snapshot

Hi! Would it be possible to capture also the annotation layer in the "snapshot" tool?

If you got here searching why the snapshot tool gives you a blank png : for the "snapshot" tool to work, the option preserveDrawingBuffer needs to be activated when creating the OpenLIME.Viewer such as :

const lime = new OpenLIME.Viewer('.openlime', {canvas: { preserveDrawingBuffer: true}});
(Thanks @ponchio for the solution on this previous "issue-which-isn't-really-one" 😃

Cheers

Safari in-Compatibility

In some worst case scenarios on mac os devices hardware acceleration is disabled and only webgl 1 is compatible.
while the declaration detects which version of webgl is supported it later seems to use functions that are only compatible with webgl 2.

Auto-animate light when idle

It would be very helpful to have the option to make the light move on it's own indefinitly, either when the user is idle for X seconds.
The layer.setLight([positionX,positionY],timeinmilliseconds); is definitly a starting point, but the rest is beyond my expertise.

And maybe and example file with a few pre-programmed trajectories/paths where we could just set size and speed would help a lot!
So we could make the light moving like a circle or an ∞ or just going back and forth horizontally or vertically?

Anyway, thank you very much!

Measuring tool

Hi!
The measuring tool/ruler would be much helpful, when is it planned to be implemented?
Thanks a lot!

README needs small update

Hi!
The README needs update, the documentation is not generated anymore with :
npm run documentation
but instead :
npm run doc

[Feature request] Minimap / pagemap

Hi! It's me again!
I was wondering if a "minimap" or "pagemap" like when zooming inside a rather large image to keep track "where we are“ is planned to be implemented in OpenLime?

This option/tool was available in relight.js (a long time ago in a galaxy far, far away) and was rather usefull!
minimap

Thank you very much
Best,

Eloi

Changing light quality - softness, color,...

Hello,

I´m developing an 3D insect scanner and would be interested if and how it may be possible to change the lighting quality in OpenLime. Is there an easy way of changing the light softness/hardness, brightness and the color of the light? One case: I want to shine blue light on my object.
I´m quite happy with my first result (http://www.michaelbachhofer.com/PS/) but for presenting such scans with OpenLime in an art context, I would need to also influence the light quality.
Perhaps this might be possible by changing values in the "openlime.min.js" file.

Many thanks and kind regards,
Michael

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.