Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Dec 01 14:30

    moreApi on vr-ui-tools

    (compare)

  • Dec 01 14:30

    moreApi on master

    OpenVRHMD: add generated mouse … VRGrab, VRControllerExample.kt:… Spatial, DefaultSpatial.kt: Add… and 38 more (compare)

  • Dec 01 14:30
    moreApi closed #430
  • Dec 01 13:29
    moreApi synchronize #430
  • Dec 01 13:29

    moreApi on vr-ui-tools

    VR*.kt: more doc (compare)

  • Dec 01 13:01

    moreApi on extend-selection-wheel

    (compare)

  • Dec 01 12:26
    moreApi synchronize #430
  • Dec 01 12:26

    moreApi on vr-ui-tools

    VRSekectionWheel.kt: remove unu… WheelAction.kt: documentation (compare)

  • Dec 01 10:32

    skalarproduktraum on correct-volume-manager-teardown

    (compare)

  • Dec 01 10:32

    skalarproduktraum on master

    Renderable: Introduce close() m… VolumeManager: Implement close(… VulkanRenderer/OpenGLRenderer: … and 5 more (compare)

  • Dec 01 10:32
    skalarproduktraum closed #444
  • Nov 30 17:26
    skalarproduktraum edited #444
  • Nov 30 17:23
    skalarproduktraum commented #444
  • Nov 30 17:20
    skalarproduktraum synchronize #444
  • Nov 30 17:20

    skalarproduktraum on correct-volume-manager-teardown

    DetachedHeadCamera: Fix issue w… (compare)

  • Nov 30 16:57

    skalarproduktraum on eyetracking-update

    Gradle: Update lwjgl3-awt depen… DetachedHeadCamera: Fix issue w… (compare)

  • Nov 30 15:30
    moreApi review_requested #430
  • Nov 30 15:30
    moreApi commented #430
  • Nov 30 15:26
    moreApi synchronize #430
  • Nov 30 15:26

    moreApi on vr-ui-tools

    VR*.kt: add doc (compare)

Ulrik Günther
@skalarproduktraum

sooooooooo, here's a puzzle for everyone: i am currently preparing docker images to run scenery and sciview (and our graphical CI stuff), and i have encountered an issue there: after 34 (of 38) integration tests/examples, the next example fails at creating a vulkan instance, either complaining that the driver is incompatible, or that i requested an extension that's not available. i have figured out/done:

  1. the driver is definitely compatible
  2. the example is not requesting any extensions
  3. it doesn't matter in which order the examples run, random or not, example 35 fails -- actually both on my local machine and on the ci xD
  4. i have fixed all gpu memory leaks i could find, and there are no more errors reported by the validations layers
  5. the time is also set correctly (this one is for @elect86 :-D)

any ideas? is it the moon? the constellation of the planets? solar winds?

55 replies
@moreApi what kind of volume is it? raivolume, bufferedvolume,...?
Jan T
@moreApi
im setting the world matrix of the volume directly if that might be an issue
same for bufferd or rai
also setting the inverse of the viewmatrix as the world of the volume looks promising for the bdv <> sciview thing😎
Ulrik Günther
@skalarproduktraum
that would be the issue, yes. the only place where the origin plays a role is in the composeModel function
Jan T
@moreApi
ok thanks then I probatly have to dive in the way sciview builds volumes and squeze a pivot node in there
Ulrik Günther
@skalarproduktraum
you could probably still squeeze that shift in, because that's the last mult that's happening to the model matrix of the volume.
Jan T
@moreApi
I will have a look tomorrow but I am hopeful :)
Jan T
@moreApi
sadly its the second to last mult. Scale comes afterwards
NicoKiaru
@NicoKiaru
Hi everybody, I regularly (let's say once every 6 months) try to catch-up with sciview in order to see if sciview can communicate with bigdataviewer-playground. So, if @kephale or @skalarproduktraum or anybody else has time to investigate, I'd be pleased to know if you can make this demo work : https://github.com/bigdataviewer/bigdataviewer-playground/blob/sciview/src/test/src/sc/fiji/bdvpg/sciview/SciViewDemo.java ? Cheers (currently on my setup I get errors on sciview startup)
Jan T
@moreApi
I need a bit of linear algebra help. How does one convert a rotation to a "regular" righthand coordinate system (SciView) from a (x,-y,z)-system (BDV)? Simply multiplying the second colum of the transformation matrix with -1 like someone on SA metioned does not work.
Ulrik Günther
@skalarproduktraum
@NicoKiaru do you have some more specific info what errors you get? apart from that, i'm also happy to have a look at your demo soon
and just for your info @NicoKiaru, @moreApi is just working on syncronising transformations between bdv and sciview
NicoKiaru
@NicoKiaru
Great, thanks! Sure I think the first issue is to get the current dependencies right. Right now I have:
<sciview.version>121e036</sciview.version>
        <scenery.version>5de0b1e</scenery.version>

        <kotlin.version>1.4.20</kotlin.version>
        <kotlinx-coroutines-core.version>1.3.9</kotlinx-coroutines-core.version>
        <kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>
Ulrik Günther
@skalarproduktraum
the kotlin things should actually come from sciview as transitive dependency
Tobias Pietzsch
@tpietzsch
@moreApi rotate by 180 degree about the X axis
(which corresponds to inverting Y and Z)
(BDV also uses right-handed system, with Z pointing "into the screen")
Stephan Saalfeld
@axtimwalde
sciview's y points upwards?
then second column * -1 and third column * -1
which is rotation aroound x by 180deg as tobias said :)
Ulrik Günther
@skalarproduktraum
@axtimwalde x points to the right, y upwards, negative z into the screen
Stephan Saalfeld
@axtimwalde
"negative z into the screen" XD
"negative x points to the left, negative y points downwards"
Ulrik Günther
@skalarproduktraum
maybe i don't get the joke here, @axtimwalde ...?
Stephan Saalfeld
@axtimwalde
I noticed
I find it incredibly funny to describe the orientation of a vector by describing the direction it doesn't point at
but thanks for the clarification
Ulrik Günther
@skalarproduktraum
i also use not white as default background color
:-D
just for completeness, it's the same convention opengl uses
Stephan Saalfeld
@axtimwalde
excellent
the great thing with this is that the screen coordinate system actually never matters
if you make a camera at 0:x,0:y,-1:z that looks at 0:x,0:y,0:z, then you get the BDV/ ImgLib2/ image processing friendly right handed coordinate system with x pointing right, y pointing down, z pointing into the screen
Kyle I S Harrington
@kephale
hmm running into this with sciview from python
ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider kotlin.script.experimental.jsr223.KotlinJsr223DefaultScriptEngineFactory could not be instantiated
ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider kotlin.script.experimental.jsr223.KotlinJsr223DefaultScriptEngineFactory could not be instantiated
ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider kotlin.script.experimental.jsr223.KotlinJsr223DefaultScriptEngineFactory could not be instantiated
ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider kotlin.script.experimental.jsr223.KotlinJsr223DefaultScriptEngineFactory could not be instantiated
ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider kotlin.script.experimental.jsr223.KotlinJsr223DefaultScriptEngineFactory could not be instantiated
waiting[ERROR] Module threw error
java.lang.NoSuchMethodError: 'void kotlin.jvm.internal.MutablePropertyReference1Impl.<init>(java.lang.Class, java.lang.String, java.lang.String, int)'
    at graphics.scenery.Node.<clinit>(Node.kt)
    at graphics.scenery.SceneryBase.<init>(SceneryBase.kt:54)
    at sc.iview.SciView.<init>(SciView.kt:234)
    at sc.iview.DefaultSciViewService.makeSciView(DefaultSciViewService.java:112)
    at sc.iview.DefaultSciViewService.getOrCreateActiveSciView(DefaultSciViewService.java:175)
    at sc.iview.ActiveSciViewPreprocessor.getValue(ActiveSciViewPreprocessor.java:64)
    at sc.iview.ActiveSciViewPreprocessor.getValue(ActiveSciViewPreprocessor.java:48)
    at net.imagej.display.process.SingleInputPreprocessor.process(SingleInputPreprocessor.java:83)
    at org.scijava.module.ModuleRunner.preProcess(ModuleRunner.java:102)
    at org.scijava.module.ModuleRunner.run(ModuleRunner.java:154)
    at org.scijava.module.ModuleRunner.call(ModuleRunner.java:124)
    at org.scijava.module.ModuleRunner.call(ModuleRunner.java:63)
    at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:225)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
gradle version doesnt work from python
but i think that is still a transitive dependency issue
Ulrik Günther
@skalarproduktraum
@kephale this one i know, it usually comes from mismatched kotlin versions
Kyle I S Harrington
@kephale
ok, that makes sense
Ulrik Günther
@skalarproduktraum
so transitive dependency issue is within possibilities as well
Kyle I S Harrington
@kephale
the dependency management through python seems to be more driven by pom-scijava than normal dependency management
but the gradle one just doesnt work
it gives
Traceback (most recent call last):
  File "ClassLoader.java", line 522, in java.lang.ClassLoader.loadClass
  File "ClassLoaders.java", line 178, in jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass
  File "BuiltinClassLoader.java", line 581, in jdk.internal.loader.BuiltinClassLoader.loadClass
java.lang.ClassNotFoundException: java.lang.ClassNotFoundException: com.sun.jna.Library

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "org.jpype.manager.TypeManager.java", line -1, in org.jpype.manager.TypeManager.findClassByName
  File "org.jpype.manager.TypeManager.java", line -1, in org.jpype.manager.TypeManager.lookupByName
  File "Class.java", line 398, in java.lang.Class.forName
  File "Class.java", line -2, in java.lang.Class.forName0
  File "SceneryBase.kt", line 507, in graphics.scenery.SceneryBase.<clinit>
  File "LazyLogger.kt", line 26, in graphics.scenery.utils.LazyLoggerKt.LazyLogger
  File "LazyLogger.kt", line 8, in graphics.scenery.utils.LazyLoggerKt.unwrapCompanionClass
  File "Class.java", line 1517, in java.lang.Class.getEnclosingClass
  File "Class.java", line -2, in java.lang.Class.getDeclaringClass0
  File "ClassLoader.java", line 522, in java.lang.ClassLoader.loadClass
  File "ClassLoaders.java", line 178, in jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass
  File "BuiltinClassLoader.java", line 579, in jdk.internal.loader.BuiltinClassLoader.loadClass
  File "BuiltinClassLoader.java", line 621, in jdk.internal.loader.BuiltinClassLoader.loadClassOrNull
  File "BuiltinClassLoader.java", line 698, in jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull
  File "BuiltinClassLoader.java", line 800, in jdk.internal.loader.BuiltinClassLoader.defineClass
  File "SecureClassLoader.java", line 174, in java.security.SecureClassLoader.defineClass
  File "ClassLoader.java", line 1017, in java.lang.ClassLoader.defineClass
  File "ClassLoader.java", line -2, in java.lang.ClassLoader.defineClass1
Exception: Java Exception

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "scripts/python_basic.py", line 42, in <module>
    SciView = jimport('sc.iview.SciView')
  File "/home/kharrin/anaconda3/envs/sciview/lib/python3.8/site-packages/scyjava/__init__.py", line 151, in jimport
    return jpype.JClass(class_name)
  File "/home/kharrin/anaconda3/envs/sciview/lib/python3.8/site-packages/jpype/_jclass.py", line 99, in __new__
    return _jpype._getClass(jc)
java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: com/sun/jna/Library
Ulrik Günther
@skalarproduktraum
so what are you running? that's your python stuff right? i always wanted to try that, here's your chance :-D
Kyle I S Harrington
@kephale
you sir are right, it was a kotlin mismatch
but still gradle issue