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

Work through example usage of ContactsTable.relative_position_in_um #4

Open
rly opened this issue Jul 22, 2024 · 1 comment
Open

Work through example usage of ContactsTable.relative_position_in_um #4

rly opened this issue Jul 22, 2024 · 1 comment

Comments

@rly
Copy link
Collaborator

rly commented Jul 22, 2024

How would someone or some tool use ContactsTable.relative_position_in_um with ProbeInsertion.insertion_position_{x} and ProbeInsertion.insertion_angle_{x} / ProbeInsertion.depth to estimate the position of each contact as inserted in the brain. I would like to work through an example of this.

For example, for a linear array probe with three contacts, the relative positions in um might be (200, 100), (300, 100), (400, 100). The tip of the probe is at (0, 100) and the origin (0, 0) is not on the probe, for whatever reason. This treats the probe as 2D, when it is actually 3D (the probe has some thickness), which is a common representation when the third dimension is negligible.

Let's say the probe (tip) is inserted at 3.0 mm anterior (AP=3), 2.0 right (ML=2), 0.0 dorsal (DV=0), relative to bregma and the surface of the brain, and is inserted at a 45 degree pitch for a depth of 1.0 mm.

Then we could apply a 4x4 transformation matrix (or 3x3 rotation matrix + 3x1 translation matrix) to each relative position of a contact to get its position inserted in the brain...

@h-mayorquin
Copy link
Contributor

Good excercise. Is the probe of the tip a common reference on insertions experiments? I guess that as long as we have the the position in the probe of the reference in the insertion we can make those calculations. You wanted us to think on how this looks on the API or just to carry out calculations for some examples to see if it makes sense?

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

No branches or pull requests

2 participants