nkscan scanner backend - #697
Draft
activexray wants to merge 1 commit into
Draft
Conversation
Owner
|
thanks, I'll be checking it out tomorrow |
Owner
|
I had quick look, I think we need to expose more things from nkscan first to make some features on LS-50 work with sane-parity (with current implementation strip preview won't work on ls-50) I make PR there |
Owner
Owner
|
With those changes and some adjustments to your NegPy branch I got the scanning to work on LS-50 in ui as intended. |
Owner
Owner
|
main...feat/nkscan-strip-frames |
Author
|
Wow great! I realized I missed a few things to get the 9000 to work as well in my testing, so I'll check out your MR and then fixup the stuff for the 9000, publish a v0.2 and come back to this |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

This is my first go at adding nkscan support to NegPy. nkscan is a rust-based cross-platform driver for Coolscan scanners with support for the LS-9000 (medium format) and LS-50 (Coolscan V) scanners. There technically is LS-5000 support, but that's just based on reverse-engineering work and has not been tested (someone should simply give me a 5000 😅 ). The Coolscan 9000 should work on linux and windows and has been tested on both. USB support should work on everything.
nkscan itself is a PyO3-based extension module to the rust library with only numpy as an additional python dependency, which should help with dependency bloat.
As nkscan exposes quite a few more device-specific controls than SANE, we had to adjust some UI elements to expose them.
I don't know how this compares to coolscanpy other than expanded support to other nikon scanners. I've intentionally been careful and deliberate about the abstractions (backends/capabilities/etc) so it will be easy in the future to add additional scanner support.
This is a draft until I can test this on a scanner in ~ a day.
AI disclosure: This was all written by Claude Sonnet 5 as I'm not very familiar with Python.