scenerygraphics / sciview

sciview is a tool for visualization and interaction with ND image and mesh data
BSD 2-Clause "Simplified" License
62 stars 17 forks source link

Adding objects to the scene breaks for some object types #565

Open smlpt opened 4 months ago

smlpt commented 4 months ago

Several entries from the Add menu won't add objects to the scene, but instead show a warning message. These include:

kephale commented 3 months ago

Add Proteins from File does not throw that error for me, but when I do add the PDBs to list and try to open them I get:

[ERROR] Command errored: Protein from files ...
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
    at org.biojava.nbio.structure.io.PDBFileParser.pdb_CRYST1_Handler(PDBFileParser.java:1543)
    at org.biojava.nbio.structure.io.PDBFileParser.parsePDBFile(PDBFileParser.java:2694)
    at org.biojava.nbio.structure.io.PDBFileParser.parsePDBFile(PDBFileParser.java:2580)
    at org.biojava.nbio.structure.io.PDBFileReader.getStructure(PDBFileReader.java:140)
    at org.biojava.nbio.structure.io.LocalPDBDirectory.getStructure(LocalPDBDirectory.java:323)
    at org.biojava.nbio.structure.URLIdentifier.loadStructure(URLIdentifier.java:168)
    at org.biojava.nbio.structure.align.client.StructureName.loadStructure(StructureName.java:517)
    at org.biojava.nbio.structure.align.util.AtomCache.getStructure(AtomCache.java:503)
    at org.biojava.nbio.structure.align.util.AtomCache.getStructure(AtomCache.java:487)
    at org.biojava.nbio.structure.StructureIO.getStructure(StructureIO.java:97)
    at graphics.scenery.proteins.Protein$MyProtein.fromID(Protein.kt:29)
    at sc.iview.commands.add.AddProteinFromFiles.run(AddProteinFromFiles.kt:66)
    at org.scijava.module.ModuleRunner.run(ModuleRunner.java:165)
    at org.scijava.module.ModuleRunner.call(ModuleRunner.java:125)
    at org.scijava.module.ModuleRunner.call(ModuleRunner.java:64)
    at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:247)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
    ... 20 more

@skalarproduktraum the stack trace on this runs through scenery and the error looks like a missing dependency?

Is that this thing? https://stackoverflow.com/questions/75936491/what-are-the-jaxb-jar-files-to-be-used-with-java-17-project

kephale commented 3 months ago

For Volume from ImageJ I get:

image

even through the T1 head sample is already open.

kephale commented 3 months ago

I noticed this UI issue with Add Proteins from Files:

image

but it should show these extensions: pdb/mmtf/cif

kephale commented 3 months ago

The remaining issues are: