KNOSSOS is a software tool for the visualization and annotation of 3D image data and was developed for the rapid reconstruction of neural morphology and connectivity.
... title says it all. Filter strings / regex expressions need to be respected. The idea of 'n' was to be able to quickly navigate to nodes that are tagged in some way.
Annotate a tree at a certain position and save into file number 1.
Clear skeleton or restart a fresh knossos.
Annotate again another tree at the same position and save into file number 2.
Load file number 1, chose "Merge".
Now switch between the two trees (one from each file) by clicking nodes in the annotation widget.
Upon clicking a node from one tree, both trees are shown - as they should.
But clicking a node from the other tree shown only this one, while the other doesn't show at all.
If one opens a *.nml file and then resaves, the resulting *.k.zip is stored at the default location and the filename changed to the default filename. More expected would be that it is stored in the same folder as the original nml and with the same name.
The Category description in the Description tag of the task management widget is not b64 decoded. This can cause the task management window to become extremely wide.
When one loads a remote dataset, eventually some cubes don’t get loaded.
Coincidentally FTP thread should exit is displayed in the console.
If the the download request was not successful, it should be repeated e.g. in total 3 times.
Rotate the planes by pressing "K" 30 times. You'll see black stripes in the center of the former xz and yz vps (when pressing "L" 30 times, it only appears in former yz vp).
I think, I found the problem for this. In the QTime documentation the description of the elapsed() method states:
"Note that the counter wraps to zero 24 hours after the last call to start() or restart." http://qt-project.org/doc/qt-5/qtime.html#elapsed
Something like the following could have happened:
Suppose, KNOSSOS is started and runs for 15h.
After that a skeleton is loaded that has a work time of 25h.
The variable "skeletonTimeCorrection" stores the 15h offset on skeleton loading.
Then e.g. KNOSSOS has run more than 25h in total, after which the skeleton is saved.
The time is saved with following calculation:
time = skeletonTime (25h) - skeletonTimeCorrection (15h) + time.elapsed() (1h, because of the wrap after 24h) = 11h
Loading an nml, clearing the skeleton and loading a different skeleton sometimes can lead to a state where no nodes and tree are shown (in tree view and open vis.). Closing Knossos and starting it again fixed the issue. Nmls were loaded via dragn drop in the old .nml format. Knossos showed the filename correctly in the titlebar.
Reproduce with: load j0126 j2k compressed dataset, then switch to j0251 jpg compressed dataset. Raw data shows just fine for j0251, but switching with 5 to compressed data shows nothing and j2k is displayed in the dataset widget.
Using the QTableWidget gets really slow with a large amount of nodes.
With Model/View one can easily update the whole table, rendering optimization functions obsolete, which only update/insert or remove certain rows.
It also provides a uniform look and implementation for segmentation and skeletonization tables.
This is certainly something taste related, but the default zoom / DPI settings in Firefox left this impression. The screenshot appears pixelated and too big. If I manually zoom out with CTR-wheel, this starts to look much nicer, but the top navigation bar and some text is then too small.
Reduce it to one pop-up, that asks everything. Checkboxes for what should be merged and overriden or buttons. Checkbox states can be saved, buttons reduce number of clicks.
Currently if there is no object smaller than the current object to be unmerged at the clicked position, one has to press Shift+Ctrl+Right Click to unmerge a subobject.
Reproduce with:
Select a streaming dataset. Stream. Close Knossos. Disable wifi. Start Knossos again.
=> Knossos hangs until something times out. This is unexpected behavior - just showing black cubes is much more acceptable for users, even better would be a message box indicating that the streaming dataset could not be opened due to connection problems
A mode that prevents creation of new trees, creation of unconnected nodes, possibly even creation of cycles for standard tracings. While detecting these problems post-hoc (in Heidelbrain) is easy, correcting them manually is time-consuming and correcting them automatically is potentially error-prone.
When supercube-edge (M) or overlay usage are changed, the command-line parameters are simply added to the current command-line. But if those are already explicitly specified in the current one, the present ones are not replaced but retained. This for example happens when one changes M and restarts knossos, and then changes M again, etc. The command-line just becomes longer and longer. This only works by chance, since we parse the command-line order-wise and not e.g. by hashing the elements and processing them randomly.
It seems that when PythonQt invokes a C++ function in the Scripting thread, that emits a signal to a slot in the MainWindow thread, then sometimes (or always?) the emission returns before the slot returns, namely - immediately after emission (probably).
This may constitute a problem when python scripts would require an operation to end before the next one may build on top of it.
as of Qt 5.3, vsync is enabled when not explicitly forced off by the driver
meaning QGLWidget::update is blocking
meaning Knossos updates at max ≤ 15 fps (16.6 ms · 4 QGLWidgets + cpu time)
this applies to the complete GUI not just the viewports, which means its really sluggish
When picking, only the unique color texture should be rendered.
Currently the intersection axis, nodes and text are also picked, which results in invalid IDs.
This should probably be addressed globally and all elements should be tweaked in this way. Also, it should be explored how well QT respects DPI settings - this will become very important in the near future with more and more high res monitors available.
The issue seen in the following image and previously discussed in #31 appears immediately when Knossos is started and only when a remote dataset is loaded through a WiFi connection on Jörgens Laptop using Knossos 4.0 through 4.1 Nightly.
When dragging the dataset around some cubes stay black. FTP thread should exit appears in the console when they get in sight.
The issue seems more prevalent, when segmentation is enabled. (This is a new discovery)
Also a slow connection seems to be an issue.
fragmented discussion in #31
It is not necessary to have many buttons, only one is required - to check whether a task is in progress and either start a new one or continue work on the current one and to make a submission when currently working on a task.