Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Volume managment improvements #1798

Merged
merged 26 commits into from
Oct 18, 2018
Merged

Volume managment improvements #1798

merged 26 commits into from
Oct 18, 2018

Conversation

tomka
Copy link
Contributor

@tomka tomka commented Oct 18, 2018

This adds the main changes that are discussed and referenced in issue #1765 on volume improvements. While all API changes are already noted in the changelog, we need to add some regular changelog entries on volume annotations, volume export and STL file import.

tomka and others added 26 commits October 16, 2018 15:22
All geometries in the back-end are now stored as PostGIS TIN Geometry.
This allows for more consistency and a cleaner API. Implemented together
with @aschampion, @clbarnes, @Willp24.

See #1765
Fixes #1581
Includes:

- URL endpoint
- API method
- Test fixture
- Simple test
When exporting, use both the extension of the URL and the HTTP ACCEPT
header to determine which format to return. This supports both
extensions with multiple formats (e.g., ASCII and binary STL) and
extensions without a distinctive media type (e.g., OBJ is `text/plain`).
- Bypass DRF response accent content negotiation
- Fix chunking of triangles in STL serialization
- Fix accept header in tests
Add an ontology class for volumes, create class instances for all
existing volumes, and relate volume class instances to volume rows via a
`volume_class_instance` table. Also move the `model_of` relation from
the needed classes for the tracing tool to the default project needed
classes.

Written with @tomka, @clbarnes, and @Willp24.

See #1765.
Add front-end and back-end functionality to add annotations to a set of
volumes. A new checkbox column has been added to the volume table and an
"Annotate" button, that allows to annotate all selected volumes.

Worked on together with @aschampion, @clbarnes and @Willp24.

See #1765
Note that this also changes the response of the volumes listing endpoint
from an array of objects to an array of arrays, with a separate
`columns` field.
This is run now by default for the catmaid_check_db_integrity management
command.

The --tracing [true|false] and --volumes [true|false] command line
parameters now allow to explicitly test only some parts of the database.
By default all is tested.  Please enter the commit message for your
changes. Lines starting

See #1765
Like before, the triangle check tests if each triangle has four vertices
(the line is explicitly closed) and now also checks if the start and end
point are actually the same.
If the 'trimesh' library is installed, the 'check_db_integretiy'
management command will now also check if all triangles that make up
CATMAID volumes have the same orientation (per volume).

See #1765
@clbarnes
Copy link
Contributor

Does checking the consistency of the handedness of the triangles rule out the handedness as the source of that 3D viewer behaviour where some of it was transparent when seen from the wrong side? Or is it that the meshes could be consistent, but still inside out?

@tomka
Copy link
Contributor Author

tomka commented Oct 18, 2018

If this issue is due to the triangle winding, having a consistent winding should at least make this behavior exist for all triangles in a volume or none. There is in fact still a rendering issue in the 3D Viewer with nearly opaque meshes---inside/outside are not consistent and depend on the light and viewing angle (the third box below is almost opaque):
catmaid-boxes-issue
But given that this issue existed already before this branch (and isn't changed by it) and for regular use (semi-transparent or fully opaque) everything is usable, I don't think this issue should block the merge of this. It is still something we should fix at some pint

@tomka
Copy link
Contributor Author

tomka commented Oct 18, 2018

And this is how newly created boxes without this branch look like:
catmaid-boxes-issue-before
The almost opaque box is slightly different from the new version, which shows that winding plays a role here---but at least things are more consistent now. Still, the change doesn't amplify this issue.

@tomka tomka merged commit d6a5a87 into dev Oct 18, 2018
@tomka tomka deleted the features/volume-hackathon branch November 9, 2018 06:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants