Skip to content

Update documentation - #159

Merged
ajmastra merged 2 commits into
mainfrom
update-documentation
May 7, 2026
Merged

ajmastra merged 2 commits into
mainfrom
update-documentation

Conversation

@ajs2583

@ajs2583 ajs2583 commented May 7, 2026

Copy link
Copy Markdown
Contributor

This pull request updates the contributor and build documentation for the project, focusing on renaming the project to "Neurolight Workbench," clarifying build and release steps (especially for macOS), and providing much more detailed and up-to-date contribution guidelines. The changes also add comprehensive instructions for linting, formatting, and testing, and clarify the issue labeling and pull request process.

Documentation and Project Naming Updates:

  • Renamed all references from "NeuroLight" or "neurolight-prototype" to "Neurolight Workbench" throughout BUILD.md and CONTRIBUTING.md for consistency and clarity. [1] [2] [3] [4] [5] [6] [7]

Build and Release Process Improvements:

  • Updated BUILD.md to document new macOS build, packaging, and signing steps, including .app bundle, DMG, and PKG installers, as well as environment requirements and enabling multiprocessing in frozen builds.
  • Expanded CI/CD documentation to explain new triggers, artifact uploads, auto-tagging, and required GitHub secrets for macOS signing and notarization.

Contribution and Development Guidelines:

  • Added a new "Linting and Formatting" section in CONTRIBUTING.md with instructions for using Ruff, describing both local and CI-based lint/format auto-fix workflows. [1] [2]
  • Updated development setup instructions to use the new repository name and ensure all extras are installed for testing and development.
  • Expanded coding standards and code organization sections, specifying a 120-character line length, clearer docstring expectations, and a breakdown of the src/ directory structure. [1] [2]

Testing and PR Process:

  • Clarified testing guidelines, including running tests with coverage, headless Qt testing, and listing the current test suite for reference. [1] [2]
  • Updated the pull request and issue process, including new example PR titles, issue templates, and clear guidance on when to contribute and how to engage with maintainers. [1] [2] [3]

Licensing:

  • Updated the license section to clarify dual licensing under MIT and Apache 2.0.

@github-actions github-actions Bot added documentation Improvements or additions to documentation ui build labels May 7, 2026
@coderabbitai

coderabbitai Bot commented May 7, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@ajs2583 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 39 minutes and 51 seconds before requesting another review.

To continue reviewing without waiting, purchase usage credits in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 79c1a4e5-cbfc-4284-942f-ee133cfb499e

📥 Commits

Reviewing files that changed from the base of the PR and between 44303ab and 06b6c17.

📒 Files selected for processing (3)
  • BUILD.md
  • CONTRIBUTING.md
  • README.md
📝 Walkthrough

Walkthrough

This PR updates documentation (BUILD.md, CONTRIBUTING.md, README.md) to reflect Neurolight Workbench branding, CI/CD details, and dual licensing; and adds CSV export functionality for detected peaks/troughs in the neuron trajectory and ROI intensity plot widgets.

Changes

Documentation Updates

Layer / File(s) Summary
Branding & Project Info
README.md, CONTRIBUTING.md
All references to "NeuroLight" rebranded to "Neurolight Workbench"; updated repository URLs and clone instructions for neurolight-workbench.
Feature & Usage Documentation
README.md
Feature list expanded to include 6-step workflow, stack navigation, culling, contrast/exposure editing, dual polygon ROI, alignment methods, neuron detection, and multiple analysis visualizations (Lomb–Scargle, Rayleigh/Rao, CSV export).
Build & CI/CD Process
BUILD.md
Expanded CI/CD workflow table documenting push/PR/tag/manual triggers; added macOS release asset steps (code-signing, notarization, DMG/pkg generation); updated executable matrix and secrets requirements.
Development Guidelines
CONTRIBUTING.md
Added dedicated "Linting and Formatting" section with Ruff rules (F, E, I); increased max line length to 120; expanded testing guidance with pytest commands and test suite directory listing; added docstring and Qt threading best practices.
Project Structure & License
README.md
Added detailed project structure tree and module responsibilities table; Quick Start expanded with uv installation steps; experiment workflow clarified with v1.0 JSON schema; license changed from MIT-only to dual MIT + Apache 2.0.

Peak/Trough CSV Export Feature

Layer / File(s) Summary
UI Controls
src/ui/neuron_trajectory_plot.py, src/ui/roi_intensity_plot.py
New "Export Peaks/Troughs (CSV)" button added to export controls row; button enabled/disabled in sync with plot state changes and data availability.
Data Export Implementation
src/ui/neuron_trajectory_plot.py, src/ui/roi_intensity_plot.py
New _export_peaks_troughs_csv() methods compute per-neuron/per-ROI peaks and troughs, write CSV rows with frame, time (minutes), intensity, and quality labels (where applicable), and show dialogs for empty results or export errors.
CSV Format Enhancement
src/ui/neuron_trajectory_plot.py
Existing _export_to_csv() updated to include Time_Minutes column alongside Frame in trajectory exports.

Sequence Diagram

sequenceDiagram
    actor User
    participant UI as Peak/Trough<br/>Export UI
    participant Detector as Peak/Trough<br/>Detector
    participant CSV as CSV<br/>Writer
    participant Dialog as File Dialog /<br/>Message
    User->>UI: Click "Export Peaks/Troughs"
    UI->>Detector: Compute peaks/troughs from plot data
    Detector-->>UI: Peak/trough records with frame, intensity
    alt Data available
        UI->>CSV: Write CSV (Neuron, Type, Frame, Time, Intensity)
        CSV-->>Dialog: Show success message
        Dialog-->>User: Export complete
    else No data
        UI->>Dialog: Show "no data" message
        Dialog-->>User: Dismissed
    else No peaks/troughs detected
        UI->>Dialog: Show "no markers found" message
        Dialog-->>User: Dismissed
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

documentation, ui, build

Suggested reviewers

  • ajmastra

Poem

🐰 A rabbit's ode to plots and files:
With peaks and troughs now CSV'd,
And docs that gleam with Neurolight pride,
Our workbench builds to ever-wider miles—
One hop through workflows, data unified! ✨📊

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 76.92% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The PR title "Update documentation" is accurate but overly vague and generic, providing no specifics about what documentation was updated or why. Consider a more specific title such as "Update BUILD.md and CONTRIBUTING.md with macOS release and contributor guidance" to better reflect the substantial documentation improvements.
✅ Passed checks (3 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch update-documentation

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov

codecov Bot commented May 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions github-actions Bot removed the ui label May 7, 2026
@ajs2583
ajs2583 force-pushed the update-documentation branch from 36a4f4b to 65c7140 Compare May 7, 2026 01:35

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/ui/neuron_trajectory_plot.py`:
- Around line 916-977: The export function _export_peaks_troughs_csv computes
peaks on each neuron's raw trace while the UI (_update_plot) shows peaks on the
smoothed average, confusing users; either rename the export action/button to
make "Per-Neuron" explicit (e.g., "Export Per-Neuron Peaks/Troughs (CSV)")
wherever the QAction/QPushButton is created, or add a brief
QMessageBox.information just before opening the file dialog in
_export_peaks_troughs_csv that clearly states "This will export peaks/troughs
for all neurons using unsmoothed raw traces" so users know the scope and data
source; update any tooltip text to match the new label/message to keep UI
consistent.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1efe21ef-ff7c-4265-82de-92ecb137eee5

📥 Commits

Reviewing files that changed from the base of the PR and between ad610e9 and 44303ab.

📒 Files selected for processing (5)
  • BUILD.md
  • CONTRIBUTING.md
  • README.md
  • src/ui/neuron_trajectory_plot.py
  • src/ui/roi_intensity_plot.py

Comment thread src/ui/neuron_trajectory_plot.py Outdated
@ajs2583
ajs2583 requested a review from ajmastra May 7, 2026 01:43
…ct state

Co-authored-by: Cursor <cursoragent@cursor.com>
@ajs2583
ajs2583 force-pushed the update-documentation branch from f8f1636 to 3c1e77e Compare May 7, 2026 01:50
…ain context

Co-authored-by: Cursor <cursoragent@cursor.com>

@ajmastra ajmastra left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great!

@ajmastra
ajmastra merged commit 8afecc8 into main May 7, 2026
12 checks passed
@ajmastra
ajmastra deleted the update-documentation branch May 7, 2026 04:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants