Skip to content

Add support for the Epson V700 Scanner - #56

Merged
lanery merged 5 commits into
stagingfrom
rl/add-epson-scanner-processor
May 7, 2026
Merged

Add support for the Epson V700 Scanner#56
lanery merged 5 commits into
stagingfrom
rl/add-epson-scanner-processor

Conversation

@lanery

@lanery lanery commented May 6, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Register the Epson V700 Scanner as a new instrument and wire it into the Lambda handler.
  • Add a TIFF-to-JPEG processing pipeline that resizes high-resolution scans to web-friendly previews, extracts TIFF metadata, and registers raw + processed files via the API.
  • Add S3 event triggers for both .tif and .tiff uploads under the epson-v700-scanner/ prefix.

This is minimal processing for now — the raw TIFF is downsampled to a 1000px JPEG preview and metadata is extracted. Future work will layer on plate detection and then colony detection.

Test plan

  • Unit tests for image processing (grayscale, RGBA, 16-bit, resize, validation)
  • Unit tests for process_file orchestration (happy path and failure path)
  • Deploy to staging and upload a .tif scan to verify end-to-end processing
  • Test CLI command

Made with Cursor

lanery and others added 2 commits May 6, 2026 16:12
Register the new instrument enum, wire it into the Lambda handler, and
add a TIFF-to-JPEG processing pipeline that resizes high-resolution
scans to web-friendly previews and extracts TIFF metadata.

Co-authored-by: Cursor <cursoragent@cursor.com>
S3 event notifications only support a single suffix per rule, so add a
second notification block to cover the .tiff extension alongside .tif.

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

vercel Bot commented May 6, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
data-hub Ready Ready Preview, Comment May 7, 2026 5:45pm

Request Review

@lanery lanery changed the title Add first-class support for the Epson V700 Scanner Add support for the Epson V700 Scanner May 6, 2026

@wasimxyz wasimxyz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for adding this, looks good! One request: can you add a command to the data-hub-process CLI? Just makes it easy to run the code in process_file locally. See docs for more info.

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

@lanery lanery left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Added! The epson-scanner command is now available in the data-hub-process CLI:

uv run data-hub-process epson-scanner path/to/scan.tif
uv run data-hub-process epson-scanner path/to/scan.tif --output-dir out/

It loads the TIFF via TIFFToJPEGConverter, exports a resized JPEG preview, and prints the extracted TIFF metadata. Also updated the docs (supported instruments table + CLI commands table).

@lanery
lanery merged commit 64ba1ea into staging May 7, 2026
4 checks passed
@lanery
lanery deleted the rl/add-epson-scanner-processor branch May 7, 2026 17:59
wasimxyz added a commit that referenced this pull request May 7, 2026
…ersions (#59)

* CI: Allow deploy role to update S3 event notifications, bump action versions

Adds s3:GetBucketNotification/PutBucketNotification to the SAM deploy role
scoped to the three stack-owned data buckets so new instrument triggers can
roll out through CI instead of requiring an admin sam deploy. The previous
deploy of #56 (Epson V700 Scanner) failed because adding the new
LambdaConfigurations entries to RawDataBucket required PutBucketNotification,
which the role did not grant.

Also bumps every workflow's action plugins to their latest stable major
versions (actions/checkout v4 -> v6, setup-node v5 -> v6, setup-uv v6 -> v8,
upload-artifact v4 -> v7, download-artifact v4 -> v8, configure-aws-credentials
v4 -> v6, setup-sam v2 -> v3) to clear the Node 20 deprecation warnings ahead
of GitHub forcing Node 24 in June.

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

* CI: Pin setup-uv to v8.1.0 (no moving v8 major tag exists yet)

The astral-sh/setup-uv repo has published v8.0.0 and v8.1.0 as exact tags
but has not yet pushed a moving v8 major tag, so `@v8` failed to resolve
on the bumped workflows. Pin to v8.1.0 (the latest stable) until the
moving tag is published.

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

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
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.

2 participants