AllenInstitute / AllenInstitute/ConnectsCommonConnectivity

Promote SpatialLocation to a first-class coordinates table

Open
#25 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement schema
Dominant language
Jupyter Notebook
Stars
4
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Problem: per-cell coordinates are smuggled through generic CellFeatureSets (v1dd_soma_spatial: soma_voxel_x/y/z, …) — untyped floats, no reference-space semantics. SpatialLocation (x, y, z, reference_space) exists in core_schema.yaml but is unreachable on disk: its only attachment points were never written by any ETL, it has no id/WriteSpec (designed as an embedded struct), and the write path has no struct support (#27).

Fix: first-class table (dataitem_id, reference_space, x, y, z [, project_id]); reference_space distinguishes CCF-registered vs dataset-original vs dataset-corrected coordinates. Pilot: migrate v1dd_soma_spatial. Flattening to a table bypasses #27 (kept separate as the general bug).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with core_schema.yaml and trace how v1dd_soma_spatial is represented and written by the ETL. Review the existing attachment and write paths, keeping the missing general struct support in #27 separate. Done means the pilot coordinates are represented in a first-class table with dataitem_id, reference_space, x, y, z, and the stated coordinate reference semantics.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook
Domain
data-engineering, databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.