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

docs: add docs & how-to for datajoint pipeline #84

Open
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

ttngu207
Copy link

@ttngu207 ttngu207 commented Dec 5, 2024

Ready for review but DO NOT MERGE

This PR introduces some relevant documentation for the DataJoint pipeline part of this project

  1. high level description
  2. an instruction for how to install and deploy this pipeline locally
  3. a notebook for how to fully ingest & process data from scratch from the released dataset

A copy of these docs/tutorials also exists in the aeon_mecha repo: here, here & here

We should discuss where would be the most appropriate place to put them

  1. keeping 2 copies, in aeon_mecha and here in aeon_docs
  2. maintain the copy if aeon_mecha, and here in aeon_docs we'll just reference them (since aeon_mecha is already a submodule here)
  3. keep only in aeon_docs here, remove from aeon_mecha
    • especially the pipeline_local_deployment.md and the data_ingestion notebook, as these 2 are very specific for data release, not really relevant for the normal operation of the pipeline

@jkbhagatio
Copy link
Member

jkbhagatio commented Dec 9, 2024

Thanks @ttngu207 !

Some comments:

  • Bug: images don't render in this repo
  • We should have a "reference table" that lists all tables in db with a short description (e.g. their docstrings?)
  • Some of the diagram figures appear too small / unreadable
    • Can we reformat these, or make them clickable and display the full image in a pop up, or...?
  • Add info on db qc to data_ingestion_and_processing.ipynb
    • maybe in the block_analysis module? If not, just mention that all QC happens at workflow level
  • Flesh out "data ingestion" section in the above-mentioned notebook

@lochhh
Copy link
Collaborator

lochhh commented Dec 10, 2024

  1. high level description
  2. an instruction for how to install and deploy this pipeline locally
  3. a notebook for how to fully ingest & process data from scratch from the released dataset

Thanks @ttngu207!
We also think these files can live in aeon_docs and will fit well under the User Guide how-to (2,3) and tutorials (1) (800aca8)

@lochhh
Copy link
Collaborator

lochhh commented Dec 10, 2024

Summary of changes made in datajoint_pipeline/index.md (fe1857b c62492c)

  • fix image paths and make them clickable
  • replace HTML img tags with the figure directive with caption
  • add references to datajoint docs for dj-related definitions
  • use the :term: role to reference terms that are already in the glossary (shall we move the remaining definitions, e.g. visit, block, etc. to the glossary Update glossary #86 ?)
  • replace (no longer existing?) ExperimentCamera with streams.SpinnakerVideoSource
  • provide clearer class paths when referring to the tables, e.g. BlockSubjectAnalysisanalysis.block_analysis.BlockSubjectAnalysis (once we have the dj_pipeline docstrings in the API reference, we can use e.g. {class}`aeon.dj_pipeline.analysis.block_analysis.BlockSubjectAnalysis` to auto-link to the doc page)
  • remove "at a specific location" for all data streams (as foreign keys are only: acquisition.Experiment, Device)
  • attempt at restructuring "Pipeline operation: Auto ingestion and processing" section

@ttngu207 @MilagrosMarin feel free to correct any inaccuracies

@ttngu207
Copy link
Author

Thanks @lochhh

@lochhh
Copy link
Collaborator

lochhh commented Dec 17, 2024

I moved the data query section into a separate notebook (dj_querying_data.ipynb).

Still need to:

  • execute the cells to show the outputs
  • add more description on what the code is doing

Other issues

  • in dj_data_ingestion_and_processing.ipynb:
    • create_socialexperiment(experiment_name) should be create_socialexperiment.create_new_social_experiment(experiment_name) as the former is a module. 777cc46
  • in dj_pipeline_local_deployment.md

@lochhh lochhh force-pushed the dev_dj-pipeline-docs branch from d89a6b9 to 777cc46 Compare December 19, 2024 10:56
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