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
Easy entry point for DLC users #15
Comments
Hello @MMathisLab , Thank you for this detailed issue! As you noticed, we have started revamping the documentation in preparation for an Anipose pre-print release and there is still much work to be done! In particular, you found our WIP Anipose tutorial and Calligator API. Just so we're on the same page, there will be two options for users integrating their DLC models with anipose/calligator:
If they go with the first route, they would need help with:
If they go with the second route, they would need:
Is that right? Please let me know if that makes sense, and if there are additional key improvements to the documentation that I missed. |
That sounds exactly right to me, thanks! Please let us know if we can be helpful - we had lots of discussions on 3D options at the hack-a-thon, and I’m sure some users would be happy to chip in testing workflows, esp path 2 seemed a highly preferable option :). Thanks again! |
Sounds good! It sounds like the most pressing missing thing is a Calligator tutorial then. |
OK, don't know if this is the right place to ask, but seems my question is highly related. We have data collected with Simi, which doesnt do a good job in labelling (or even 3d reconstructing) the data (actually, it's horrible). We are now thinking of going the anipose/DLC route. Since we have the calibration for the camera's already (was done using simi softwar, this part is still kind of OK, we have all the necesary transforms etc), could we use these calibrations with data that was labelled in DLC? (we could use anipose for the calibration as well, but we don't have checkerboard calibration for each measurement, only with a wand) It would seem that setting these camera parameters (via calligator set_camera_matrix(matrix)), and then using triangulate would work? |
in case useful, I don't know simi, but here is helper code for wand-based calibration: https://github.com/DeepLabCut/DLCutils i.e. see https://github.com/DeepLabCut/DLCutils#3d-reconstruction-with-easywandargus-dlt-system-with-deeplabcut-data |
@SjoerdBruijn [cam_0]
name = "54138969"
size = [ 1000, 1000,]
rotation = [ 0.4673375748186822, 2.173592643964762, -1.778427743746773,]
translation = [ -219.3059666108619, 544.4787497640639, 5518.740477016156,]
distortions = [ -0.207098910824901, 0.247775183068982, -0.00142447157470321, -0.000975698859470499, -0.00307515035078854,]
matrix = [ [ 1145.04940458804, 0.0, 512.541504956548,], [ 0.0, 1143.78109572365, 515.4514869776,], [ 0.0, 0.0, 1.0,],]
[cam_1]
name = "55011271"
size = [ 1000, 1000,]
rotation = [ 1.75656787919027, 0.3622445290737643, -0.2740327492410326,]
translation = [ 103.9028206775199, 395.6716946895197, 5767.97265758172,]
distortions = [ -0.194213629607385, 0.240408539138292, -0.0027408943961907, -0.001619026613787, 0.00681997559022603,]
matrix = [ [ 1149.67569986785, 0.0, 508.848621645943,], [ 0.0, 1147.59161666764, 508.064917088557,], [ 0.0, 0.0, 1.0,],] Similarly, if you use calligator (now renamed to anipose-lib), you can create a When converting calibration parameters across systems in the past, the main issue that I found has been the rotation and translation parameters, which may be in a different format. |
@SjoerdBruijn |
Tnx for all the suggestions. I think this will work; I have the data in the attached screenshots (still working on finding where this is stored in the simi software). Looks like all we need, right? |
@SjoerdBruijn that looks great! It seems that there is enough information there, and the parameters look similar to the OpenCV ones so it's probably the same camera model. To make the Simi conversion more visible to other users (and also keep this issue conversation focused), I've made a separate issue here for this case: #18 |
Closing this as the documentation has changed quite a bit since this was written. |
Is your feature request related to a problem? Please describe.
Hi @lambdaloop! Thanks for this great package. We are hoping to have better integration with DLC users to DLC (see here: https://github.com/AlexEMG/DeepLabCut/blob/master/docs/Overviewof3D.md#more-than-2-camera-support)
One issue our users are having is an "easy entry" point. Right now, your docs are for setting up 2D then 3D tracking, but many users have the 2D done, and some images they want to calibrate. I really like the merger of DLC + anipose/calligator, so I want to help/ask to make this more seamless.
My understanding of the workflow for you is it requires users to use your file structure, which is a bit rigid. Would it be possible to make docs such that a user could jump in at this point: https://github.com/lambdaloop/anipose/blob/master/docs/github/start_3d.md#calibration-marker-configuration // https://anipose.readthedocs.io/en/latest/tutorial.html#calibrating-the-cameras
i.e. minimally, now after the 3d set up there is no link to your nice "readthedocs.io" demo (https://anipose.readthedocs.io/en/latest/tutorial.html#calibrating-the-cameras)
i.e. a more optimal solution would be: a simple Jupyter Notebook demo such that the person can navigate to their DLC project folder and then set up a simple config file for your system, then be able to run:
Also, for each of these functions, there is (at least I cannot find) any easy to read docstrings. For example, it is not clear what each function requires. (What file type, format, etc is points?)
Describe the solution you'd like
Ideally, one could come in and use your functions (i.e. inhttps://github.com/lambdaloop/calligator, some below) with a clear entry point. i.e.
import anipose
(or calligator directly?)the use your functions: https://calligator.readthedocs.io/en/latest/api.html#module-calligator.boards
anipose calibrate
then your triangulation functions:
anipose triangulate
Describe alternatives you've considered
We have considered making DLC n-camera support, but we would rather not :)
Additional context
Right now the documentation is making this hard for us to guide users
Cheers,
DLC hackathon subgroup "3d, yeah!"
The text was updated successfully, but these errors were encountered: