Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-31 Thread Mayuresh
On Thu, Dec 31, 2020 at 10:47:02PM +0530, Mayuresh wrote:
> This scenario of converting raw data to an image must be very common in
> sane. Wonder if I could get some suggestions. If a python package (other
> than PIL for above issue) can do it, it will be better as the driver
> itself is in python. But even other alternatives will do

In the meantime I used libpng. It supports 16 bit depth. But the results
aren't yet correct - it's not looking like a normal X ray. May be I am
missing something about the image format.

I am keeping a sample image if anyone could try and reconstruct here:
http://mayuresh.sdfeu.org/img.dat.gz

Note the parameters:

width = 1168
height = 1562
depth = 16

It's little endian or big endian is unclear, both ways it is producing
results.

interlace is true or false is not clear, pypng did not show any difference
when interlace in its png encoder was true vs false.

It may require color inversion, which could be done either after
reconstructing image or during.

Here is some code using pypng:

# Please set flnm suitably
import struct
with open(flnm,'rb') as fp: buf = [ 65535 - v[0] for v in 
struct.iter_unpack('>H',fp.read()) ]

width = 1168
height = 1562
depth = 16
arr = [ buf[i:i+width] for r in range(height) for i in [r*width] ]

import png
with open('see.png','wb') as fp:
png.Writer(
width = width,
height = height,
greyscale = True,
bitdepth = depth,
).write(fp,arr)




Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-31 Thread Mayuresh
On Sun, Dec 13, 2020 at 07:23:46PM +0530, Mayuresh wrote:
> I am trying to get sane work with a digital X ray device used for
> dentistry described here [1] on Linux (Ubuntu 20.04) or on NetBSD 9.1.

With the help of usbmon (untruncated version courtesy [1]) and pyusb I
managed to get the camera to work and return a byte array to me. [It's
complicated as the device that actually returns the data is hidden and
gets unlocked only after following certain sequence of interactions with
the device that at first appears. But that's a matter of detail.]

Using PIL python APIs I am also able to convert the raw byte array into an
image, though there is just one glitch. The raw data is a 16 bit grayscale
image, which converts fine, but when showing / saving it's treated like an
8 bit image. I read on some thread that this is indeed a limitation of the
pillow (PIL) package.

This scenario of converting raw data to an image must be very common in
sane. Wonder if I could get some suggestions. If a python package (other
than PIL for above issue) can do it, it will be better as the driver
itself is in python. But even other alternatives will do


[1] https://github.com/swetland/usbmon



Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-17 Thread Mayuresh
On Thu, Dec 17, 2020 at 09:31:20PM -0500, m. allan noah wrote:
> The device does not support twain. The device speaks a proprietary
> protocol.

May be besides proprietary protocol it also supports TWAIN?

https://de.slideshare.net/smokeypike/the-rvg-5200-from-carestream-dental-digital

Enhanced workflow • TWAIN compatible – Simplifies implementation – Allows
for direct acquisition with TWAIN compliant third party imaging software –
Enables customer to continue using existing TWAIN compliant software 


Anyway, if pint is defunct, this is a non starter.



Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-17 Thread Mayuresh
On Thu, Dec 17, 2020 at 08:54:17PM -0500, m. allan noah wrote:
> If the windows driver gives you some options, then you make a series
> of logs each with a different combination of settings. Then compare
> the logs to determine what changes. Anything that remains, you may
> have to hard code.

The manufacturer has said that the device supports TWAIN (I shared a link
in the first post). I understand pint backend is a way to mimic TWAIN (or
is that not correct?). Is there any way to force use a given backend (pint
in this case) - just to try out?



Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-17 Thread m. allan noah
On Thu, Dec 17, 2020 at 8:11 PM Mayuresh  wrote:
>
> On Thu, Dec 17, 2020 at 07:42:06AM -0500, m. allan noah wrote:
> > I took a quick look at the protocol and did not recognize it.
>
> > Perhaps someone else will recognize the protocol.
>
> If that is not recognized, what is the way out? Just play back as it is by
> hard coding the values?
>

If the windows driver gives you some options, then you make a series
of logs each with a different combination of settings. Then compare
the logs to determine what changes. Anything that remains, you may
have to hard code.

> If I were to do that what tools are suitable? I tried python libusb once,
> but could not mimic even 1 step, was getting input/output error or timeout
> error.

If you want to use sane, you copy a backend that seems readable to
you, and pound it into shape. For instance, the cardscan backend is
small, and uses USB.

> Also, the 'END POINT' numbers reported by wireshark (by double clicking on
> any event) aren't matching those reported by lsusb or usbmon. So when
> mimicing it's unclear which end point numbers to trust.

Oddly, the in vs out end points will have a difference in the highest
bit (eg, 0x01 vs 0x81), and some logging programs don't show that
distinction. I am not sure if that is what you are seeing.

allan
-- 
"well, I stand up next to a mountain- and I chop it down with the edge
of my hand"



Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-17 Thread Mayuresh
On Thu, Dec 17, 2020 at 07:42:06AM -0500, m. allan noah wrote:
> I took a quick look at the protocol and did not recognize it.

> Perhaps someone else will recognize the protocol.

If that is not recognized, what is the way out? Just play back as it is by
hard coding the values?

If I were to do that what tools are suitable? I tried python libusb once,
but could not mimic even 1 step, was getting input/output error or timeout
error.

Also, the 'END POINT' numbers reported by wireshark (by double clicking on
any event) aren't matching those reported by lsusb or usbmon. So when
mimicing it's unclear which end point numbers to trust.



Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-17 Thread m. allan noah
I approved both mails days ago, but the web-based download is a good idea.

I took a quick look at the protocol and did not recognize it. Seems to
be a few control URBs for setup, and then perhaps a string of
interrupt URBs as the scanner waits for the x-ray source to fire? The
image data is visible in the log, appears to be 12 bit, padded to 16
bit. I don't currently have a dicom viewer to look at the images.

Perhaps someone else will recognize the protocol.

allan

On Thu, Dec 17, 2020 at 3:36 AM Mayuresh  wrote:
>
> On Tue, Dec 15, 2020 at 11:25:32PM +0530, Mayuresh wrote:
> > There were 3 x rays taken, just to give more room for observation, out of
> > which first was discarded as it was completely dark. Attaching a zip of
> > the remaining two. Have chosen an export format called 'carestream large'
> > which presumably preserves maximum details relevant to the exercise.
> >
> > Request moderators to please let this and the previous mail pass through
> > to relevant recipients.
>
> The mail with attachment is not yet approved or rejected by the moderator.
>
> I have kept the image contents here:
> http://mayuresh.sdfeu.org/snaps.zip
>


-- 
"well, I stand up next to a mountain- and I chop it down with the edge
of my hand"



Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-15 Thread Steven Santos
carestream large is a Kodak (now CS Dental) specific format known as .RVG.
I don't believe they can be opened outside of CS's various imaging apps.

Can you see if you can export it to DICOM or TIFF or other such more
standard format?

On Tue, Dec 15, 2020 at 3:12 PM Mayuresh  wrote:

> On Tue, Dec 15, 2020 at 10:56:25PM +0530, Mayuresh wrote:
> > On Mon, Dec 14, 2020 at 08:12:38AM -0500, m. allan noah wrote:
> > > usbmon is truncated, and the final image is necessary to determine top
> > > vs bottom, left vs right, etc. So we need a wireshark and an image
> > > from the same scan.
> >
> > PFA:
> >
> > lsusb: lsusb -v description of the device
> >
> > snaps3.pcapng.gz: wireshark output right from starting windows till
> taking
> > 3 x rays and closing windows
> >
> > I am stuck with sharing the actual images due to some samba issue. Will
> > share them shortly.
>
> There were 3 x rays taken, just to give more room for observation, out of
> which first was discarded as it was completely dark. Attaching a zip of
> the remaining two. Have chosen an export format called 'carestream large'
> which presumably preserves maximum details relevant to the exercise.
>
> Request moderators to please let this and the previous mail pass through
> to relevant recipients.
>


Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-15 Thread Mayuresh
On Tue, Dec 15, 2020 at 11:01:43PM +0530, Mayuresh wrote:
> Due to size of the attachment (gzipped 750k) the message has gone to
> moderator approval.  FYI please.

Same with a second mail wherein I have attached the images. Request the
moderators to please let it reach the relevant recipients.



Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-15 Thread Mayuresh
On Mon, Dec 14, 2020 at 08:12:38AM -0500, m. allan noah wrote:
> usbmon is truncated, and the final image is necessary to determine top
> vs bottom, left vs right, etc. So we need a wireshark and an image
> from the same scan.

Due to size of the attachment (gzipped 750k) the message has gone to
moderator approval.  FYI please.



Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-14 Thread m. allan noah
usbmon is truncated, and the final image is necessary to determine top
vs bottom, left vs right, etc. So we need a wireshark and an image
from the same scan.

allan

On Sun, Dec 13, 2020 at 9:45 PM Mayuresh  wrote:
>
> On Sun, Dec 13, 2020 at 05:08:31PM -0500, m. allan noah wrote:
> > I don't see anything immediately obvious in the protocol, but we
> > really need to see some scans. Even without the xray source we may
> > learn something. But certainly the xray source, and the final image
> > produced by the windows software will be required to be sure.
>
> Right now I am having the attached usbmon output where 2 back to back
> snaps (x rays) were taken. This one has missed some initial part which is
> present in the previous snaps (wireshark and usbmon) that I attached.
>
> The final image produced by windows software is probably not of much use
> for the protocol for 1. It is compressed while the device returns raw.
> Both snaps consistently show 3648832 bytes were returned as bulk out by
> the device while the final images are around 1MB. 2. It adds additional
> information such as patient name, date etc which is not really coming from
> the device. So wireshark/usbmon may offer better clues than image produced
> by the windows software.
>
> Will try and share the image over some time.



-- 
"well, I stand up next to a mountain- and I chop it down with the edge
of my hand"



Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-13 Thread Mayuresh
On Sun, Dec 13, 2020 at 05:08:31PM -0500, m. allan noah wrote:
> I don't see anything immediately obvious in the protocol, but we
> really need to see some scans. Even without the xray source we may
> learn something. But certainly the xray source, and the final image
> produced by the windows software will be required to be sure.

Right now I am having the attached usbmon output where 2 back to back
snaps (x rays) were taken. This one has missed some initial part which is
present in the previous snaps (wireshark and usbmon) that I attached.

The final image produced by windows software is probably not of much use
for the protocol for 1. It is compressed while the device returns raw.
Both snaps consistently show 3648832 bytes were returned as bulk out by
the device while the final images are around 1MB. 2. It adds additional
information such as patient name, date etc which is not really coming from
the device. So wireshark/usbmon may offer better clues than image produced
by the windows software.

Will try and share the image over some time.
9a7e27e90c00 2077710468 C Ii:1:014:1 -2:8 0
9a7e6a88e9c0 2077751699 S Ii:1:014:1 -115:8 2 <
9a7e6a88e9c0 2078707765 C Ii:1:014:1 -2:8 0
9a7e27e90840 2078748352 S Ii:1:014:1 -115:8 2 <
9a7e27e90840 2079725117 C Ii:1:014:1 -2:8 0
9a7e6b018a80 2079806458 S Ii:1:014:1 -115:8 2 <
9a7e6b018a80 2080741043 C Ii:1:014:1 -2:8 0
9a7e6a88ef00 2080781014 S Ii:1:014:1 -115:8 2 <
9a7e6a88ef00 2081758837 C Ii:1:014:1 -2:8 0
9a7e6b018540 2081839959 S Ii:1:014:1 -115:8 2 <
9a7e6b018540 2082754282 C Ii:1:014:1 -2:8 0
9a7e6a88ee40 2082815789 S Ii:1:014:1 -115:8 2 <
9a7e6a88ee40 2083769489 C Ii:1:014:1 -2:8 0
9a7e6b018900 2083810199 S Ii:1:014:1 -115:8 2 <
9a7e6b018900 2084769873 C Ii:1:014:1 -2:8 0
9a7e2972cc00 2084809990 S Ii:1:014:1 -115:8 2 <
9a7e2972cc00 2085786276 C Ii:1:014:1 -2:8 0
9a7e6a88e300 2085866753 S Ii:1:014:1 -115:8 2 <
9a7e6a88e300 2086800899 C Ii:1:014:1 -2:8 0
9a7e6a88ec00 2086861556 S Ii:1:014:1 -115:8 2 <
9a7e6a88ec00 2087799394 C Ii:1:014:1 -2:8 0
9a7e2972ccc0 2087860799 S Ii:1:014:1 -115:8 2 <
9a7e2972ccc0 2088817201 C Ii:1:014:1 -2:8 0
9a7e6a88ea80 2088918508 S Ii:1:014:1 -115:8 2 <
9a7e6a88ea80 2089834581 C Ii:1:014:1 -2:8 0
9a7e2972ccc0 2089915779 S Ii:1:014:1 -115:8 2 <
9a7e2972ccc0 2090831761 C Ii:1:014:1 -2:8 0
9a7e27e909c0 2090893474 S Ii:1:014:1 -115:8 2 <
9a7e27e909c0 2091832603 C Ii:1:014:1 -2:8 0
9a7e6a88ee40 2091873641 S Ii:1:014:1 -115:8 2 <
9a7e6a88ee40 2092847208 C Ii:1:014:1 -2:8 0
9a7e6a88e0c0 2092948165 S Ii:1:014:1 -115:8 2 <
9a7e6a88e0c0 2093866738 C Ii:1:014:1 -2:8 0
9a7e27e90c00 2093926879 S Ii:1:014:1 -115:8 2 <
9a7e27e90c00 2094868633 C Ii:1:014:1 -2:8 0
9a7e6b018cc0 2094909293 S Ii:1:014:1 -115:8 2 <
9a7e6b018cc0 2095869982 C Ii:1:014:1 -2:8 0
9a7e2972cc00 2095910144 S Ii:1:014:1 -115:8 2 <
9a7e2972cc00 2096861974 C Ii:1:014:1 -2:8 0
9a7e27e900c0 2096963171 S Ii:1:014:1 -115:8 2 <
9a7e27e900c0 2097881155 C Ii:1:014:1 -2:8 0
9a7e2972c540 2097941397 S Ii:1:014:1 -115:8 2 <
9a7e2972c540 2098878899 C Ii:1:014:1 -2:8 0
9a7e27e90540 2098919046 S Ii:1:014:1 -115:8 2 <
9a7e27e90540 2099897174 C Ii:1:014:1 -2:8 0
9a7e6a88e9c0 208997 S Ii:1:014:1 -115:8 2 <
9a7e6a88e9c0 2100898493 C Ii:1:014:1 -2:8 0
9a7e2972c840 2100979982 S Ii:1:014:1 -115:8 2 <
9a7e2972c840 2101900100 C Ii:1:014:1 -2:8 0
9a7e6b018300 2101981540 S Ii:1:014:1 -115:8 2 <
9a7e6b018300 2102898305 C Ii:1:014:1 -2:8 0
9a7e27e900c0 2102979824 S Ii:1:014:1 -115:8 2 <
9a7e27e900c0 2103895721 C Ii:1:014:1 -2:8 0
9a7e2972c240 2103977473 S Ii:1:014:1 -115:8 2 <
9a7e2972c240 2104893721 C Ii:1:014:1 -2:8 0
9a7e2972c240 2104975051 S Ii:1:014:1 -115:8 2 <
9a7e2972c240 2105909745 C Ii:1:014:1 -2:8 0
9a7e27e90840 2105973813 S Ii:1:014:1 -115:8 2 <
9a7e27e90840 2106910162 C Ii:1:014:1 -2:8 0
9a7e2972c780 2106970606 S Ii:1:014:1 -115:8 2 <
9a7e2972c780 2107911223 C Ii:1:014:1 -2:8 0
9a7e27e90d80 2107951381 S Ii:1:014:1 -115:8 2 <
9a7e27e90d80 2108927471 C Ii:1:014:1 -2:8 0
9a7e27e9 2109008694 S Ii:1:014:1 -115:8 2 <
9a7e27e9 2109923932 C Ii:1:014:1 -2:8 0
9a7e6a88ec00 2109984240 S Ii:1:014:1 -115:8 2 <
9a7e6a88ec00 2110943376 C Ii:1:014:1 -2:8 0
9a7e2972c180 2110984222 S Ii:1:014:1 -115:8 2 <
9a7e2972c180 2111943609 C Ii:1:014:1 -2:8 0
9a7e2972c180 2111983519 S Ii:1:014:1 -115:8 2 <
9a7e2972c180 2112942550 C Ii:1:014:1 0:8 2 = 0002
9a7e6b018840 2113040161 S Ii:1:014:1 -115:8 2 <
9a7e6b018840 2113441900 C Ii:1:014:1 0:8 2 = 
9a7e6b018840 2113446786 S Ii:1:014:1 -115:8 2 <
9a7e2972c3c0 2113454840 S Bi:1:014:2 -115 7680 <
9a7e2972c3c0 2113947507 C Bi:1:014:2 0 7680 = ff0fff0f ff0fff0f ff0fff0f 
ff0fff0f ff0fff0f ff0fff0f ff0fff0f ff0fff0f
9a7e2972c3c0 2113948062 S Bi:1:014:2 -115 57856 

Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-13 Thread Mayuresh
On Sun, Dec 13, 2020 at 10:45:37AM -0800, Ralph Little wrote:
> It is a long shot, but you could ask the manufacturer for protocol
> information.

The retailers are reachable as one may guess they don't even know the
word protocol or some haven't heard of Linux. All that they say is if you
want another installation how much the license cost is. They assert it
won't work without their software.

The manufacturer hasn't responded on this a while back. I will try writing
again.

There is only one presentation by the company where it says the device is
TWAIN compatible (link shared in the first post).

Someone suggested me to ask alibaba.com[1] as they might answer these
queries better. But the product page is in German only (even if I search
the product on their English website). So not sure about the link where I
can post an English question.


[1] 
https://german.alibaba.com/product-detail/lk-c64-rvg-5200-x-ray-sensor-dental-digital-x-ray-sensor-60431854823.html



Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-13 Thread m. allan noah
I don't see anything immediately obvious in the protocol, but we
really need to see some scans. Even without the xray source we may
learn something. But certainly the xray source, and the final image
produced by the windows software will be required to be sure.

allan

On Sun, Dec 13, 2020 at 10:59 AM Mayuresh  wrote:
>
> On Sun, Dec 13, 2020 at 09:39:03AM -0500, m. allan noah wrote:
> > I think you have far more work to do than you realize.The first step
> > would be to get some usb logs of the scanner in action using wireshark
> > on windows. Someone here may recognize the image format or protocol.
>
> Yes, I have those with wireshark as well as usbmon (attached). These are
> prior to actually getting the image (which requires going to a dental
> clinic to get the device exposed to x ray, so might take some time).
>
> For wireshark following filter selects the device:
>
> usb.bus_id == 1 and usb.device_address == 6
>
> usbmon has a limitation that it won't show more than 32 bytes per event.
>
> I am baffled by the difference in end-point numbers shown by wireshark and
> usbmon. Those in usbmon match with lsusb, those in wireshark don't.
>


-- 
"well, I stand up next to a mountain- and I chop it down with the edge
of my hand"



Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-13 Thread Ralph Little
Hi,

On 2020-12-13 7:59 a.m., Mayuresh wrote:
> On Sun, Dec 13, 2020 at 09:39:03AM -0500, m. allan noah wrote:
>> I think you have far more work to do than you realize.The first step
>> would be to get some usb logs of the scanner in action using wireshark
>> on windows. Someone here may recognize the image format or protocol.
> Yes, I have those with wireshark as well as usbmon (attached). These are
> prior to actually getting the image (which requires going to a dental
> clinic to get the device exposed to x ray, so might take some time).
>
> For wireshark following filter selects the device:
>
> usb.bus_id == 1 and usb.device_address == 6
>
> usbmon has a limitation that it won't show more than 32 bytes per event.
>
> I am baffled by the difference in end-point numbers shown by wireshark and
> usbmon. Those in usbmon match with lsusb, those in wireshark don't.
>
It is a long shot, but you could ask the manufacturer for protocol
information.
They mostly ignore requests of this kind or give some b*llshit excuse,
but it you don't try, you don't know.

Cheers,
Ralph




Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-13 Thread Mayuresh
On Sun, Dec 13, 2020 at 09:39:03AM -0500, m. allan noah wrote:
> I think you have far more work to do than you realize.The first step
> would be to get some usb logs of the scanner in action using wireshark
> on windows. Someone here may recognize the image format or protocol.

Yes, I have those with wireshark as well as usbmon (attached). These are
prior to actually getting the image (which requires going to a dental
clinic to get the device exposed to x ray, so might take some time).

For wireshark following filter selects the device:

usb.bus_id == 1 and usb.device_address == 6

usbmon has a limitation that it won't show more than 32 bytes per event.

I am baffled by the difference in end-point numbers shown by wireshark and
usbmon. Those in usbmon match with lsusb, those in wireshark don't.



rvgstartup.pcapng
Description: Binary data
9b06ebff3840 1496354627 S Ci:1:006:0 s 80 06 0100  0012 18 <
9b06ebff3840 1496354806 C Ci:1:006:0 0 18 = 12010002 ff40 2b080a10 
0102 0301
9b06ebff3840 1496354838 S Ci:1:006:0 s 80 06 0200  0009 9 <
9b06ebff3840 1496355001 C Ci:1:006:0 0 9 = 09022e00 010105a0 64
9b06ebff3840 1496355015 S Ci:1:006:0 s 80 06 0200  002e 46 <
9b06ebff3840 1496355072 C Ci:1:006:0 0 46 = 09022e00 010105a0 64090400 
0004ff00 00060705 81034000 04070582 02000201
9b06ebff3840 1496355088 S Ci:1:006:0 s 80 06 0300  00ff 255 <
9b06ebff3840 1496355128 C Ci:1:006:0 0 4 = 04030904
9b06ebff3840 1496355137 S Ci:1:006:0 s 80 06 0302 0409 00ff 255 <
9b06ebff3840 1496355194 C Ci:1:006:0 0 28 = 1c035200 56004700 20003500 
32003000 30002f00 36003200 30003000
9b06ebff3840 1496355207 S Ci:1:006:0 s 80 06 0301 0409 00ff 255 <
9b06ebff3840 1496355262 C Ci:1:006:0 0 14 = 0e035400 72006f00 70006800 7900
9b06ebff3840 1496355272 S Ci:1:006:0 s 80 06 0303 0409 00ff 255 <
9b06ebff3840 1496355329 C Ci:1:006:0 0 22 = 16035200 56004700 35007800 
36007800 20002000 2000
9b06ebff3840 1496357438 S Co:1:006:0 s 00 09 0001   0
9b06ebff3840 1496357491 C Co:1:006:0 0 0
9b06ebff3840 1496357542 S Ci:1:006:0 s 80 06 0305 0409 00ff 255 <
9b06ebff3840 1496357609 C Ci:1:006:0 0 22 = 16036800 69006700 68002000 
73007000 65006500 6400
9b06ebff3840 1496357691 S Ci:1:006:0 s 80 06 0306 0409 00ff 255 <
9b06ebff3840 1496357761 C Ci:1:006:0 0 10 = 0a034200 75006c00 6b00
9b06f96a3a80 1496703264 S Ci:1:006:0 s 80 06 0100  0012 18 <
9b06f96a3a80 1496703390 C Ci:1:006:0 0 18 = 12010002 ff40 2b080a10 
0102 0301
9b06f96a3a80 1496703534 S Ci:1:006:0 s 80 06 0200  0009 9 <
9b06f96a3a80 1496703592 C Ci:1:006:0 0 9 = 09022e00 010105a0 64
9b06ebff3480 1496803926 S Ci:1:006:0 s 80 06 0200  002e 46 <
9b06ebff3480 1496804267 C Ci:1:006:0 0 46 = 09022e00 010105a0 64090400 
0004ff00 00060705 81034000 04070582 02000201
9b06ebff3480 1497202675 S Ci:1:006:0 s 80 06 0100  0012 18 <
9b06ebff3480 1497202825 C Ci:1:006:0 0 18 = 12010002 ff40 2b080a10 
0102 0301
9b06ebff3480 1497202896 S Ci:1:006:0 s 80 06 0200  002e 46 <
9b06ebff3480 1497202969 C Ci:1:006:0 0 46 = 09022e00 010105a0 64090400 
0004ff00 00060705 81034000 04070582 02000201
9b06ebff3480 1497202991 S Ci:1:006:0 s 80 06 0303 0409 00ff 255 <
9b06ebff3480 1497203202 C Ci:1:006:0 0 22 = 16035200 56004700 35007800 
36007800 20002000 2000
9b06ebff3480 1497203616 S Co:1:006:0 s 00 09 0001   0
9b06ebff3480 1497203794 C Co:1:006:0 0 0
9b06ebff3480 1497538067 S Ci:1:006:0 s 80 06 0100  0012 18 <
9b06ebff3480 1497538185 C Ci:1:006:0 0 18 = 12010002 ff40 2b080a10 
0102 0301
9b06ebff3480 1497538249 S Ci:1:006:0 s 80 06 0200  002e 46 <
9b06ebff3480 1497538664 C Ci:1:006:0 0 46 = 09022e00 010105a0 64090400 
0004ff00 00060705 81034000 04070582 02000201
9b06ebff3480 1497538690 S Ci:1:006:0 s 80 06 0303 0409 00ff 255 <
9b06ebff3480 1497538805 C Ci:1:006:0 0 22 = 16035200 56004700 35007800 
36007800 20002000 2000
9b06ebff3480 1497539242 S Co:1:006:0 s 00 09 0001   0
9b06ebff3480 1497539299 C Co:1:006:0 0 0
9b06ea268180 1497661504 S Ci:1:006:0 s 80 06 0300  00ff 255 <
9b06ea268180 1497661911 C Ci:1:006:0 0 4 = 04030904
9b06f2d966c0 1497665909 S Ci:1:006:0 s 80 06 0303 0409 00ff 255 <
9b06f2d966c0 1497666451 C Ci:1:006:0 0 22 = 16035200 56004700 35007800 
36007800 20002000 2000
9b06ea268240 1497676132 S Ci:1:006:0 s 80 06 0300  00ff 255 <
9b06ea268240 1497676273 C Ci:1:006:0 0 4 = 04030904
9b06f2d966c0 1497679419 S Ci:1:006:0 s 80 06 0302 0409 00ff 255 <
9b06f2d966c0 1497679780 C Ci:1:006:0 0 28 = 1c035200 56004700 20003500 
32003000 30002f00 36003200 30003000
9b06f2d96c00 1497682631 S Ci:1:006:0 s 80 06 0300  00ff 255 <
9b06f2d96c00 1497682770 C Ci:1:006:0 0 4 = 04030904
9b06f2d969c0 1497685844 S Ci:1:006:0 s 80 06 0302 0409 00ff 255 <
9b06f2d969c0 1497686269 C Ci:1:006:0 0 28 = 1c035200 56004700 

Re: [sane-devel] Sane backend for an intraoral X ray camera

2020-12-13 Thread m. allan noah
I'm not familiar with the pint interface, but I'd be surprised if it
works generically with any twain scanner. How would the windows twain
driver run on BSD without some kind of OS emulator?

I think you have far more work to do than you realize.The first step
would be to get some usb logs of the scanner in action using wireshark
on windows. Someone here may recognize the image format or protocol.

allan

On Sun, Dec 13, 2020 at 9:10 AM Mayuresh  wrote:
>
> I am trying to get sane work with a digital X ray device used for
> dentistry described here [1] on Linux (Ubuntu 20.04) or on NetBSD 9.1.
>
> The device works only on Windows with proprietary software bundled with
> the driver provided by the manufacturer. However [1] says "Allows for
> direct acquisition with TWAIN compliant third party imaging software"
> which gives a hope that it might work with sane on Linux / NetBSD.
>
> The device is detected by sane-find-scanner as:
>  found USB scanner (vendor=0x082b, product=0x000c) at libusb:001:009
>
> I believe, TWAIN device requires pint backend
>
> In dll.conf I have mentioned pint and in pint.conf mentioned the device as
> /dev/ugen0.0 on NetBSD (that's how it is detected), but scanimage -L
> doesn't detect it. Or trying to use scanimage -d pint:/dev/ugen0.0 doesn't
> work.
>
> On Ubuntu sane backends do not include pint and I might have to build from
> sources. But before that thought of asking whether it has a chance of
> working. Also, on Linux systems what path should be mentioned in pint.conf
> - is it something like /dev/bus/usb/001/009 etc or something else?
>
>
> [1]
> https://de.slideshare.net/smokeypike/the-rvg-5200-from-carestream-dental-digital
>
>


-- 
"well, I stand up next to a mountain- and I chop it down with the edge
of my hand"



[sane-devel] Sane backend for an intraoral X ray camera

2020-12-13 Thread Mayuresh
I am trying to get sane work with a digital X ray device used for
dentistry described here [1] on Linux (Ubuntu 20.04) or on NetBSD 9.1.

The device works only on Windows with proprietary software bundled with
the driver provided by the manufacturer. However [1] says "Allows for
direct acquisition with TWAIN compliant third party imaging software"
which gives a hope that it might work with sane on Linux / NetBSD.

The device is detected by sane-find-scanner as:
 found USB scanner (vendor=0x082b, product=0x000c) at libusb:001:009

I believe, TWAIN device requires pint backend 

In dll.conf I have mentioned pint and in pint.conf mentioned the device as
/dev/ugen0.0 on NetBSD (that's how it is detected), but scanimage -L
doesn't detect it. Or trying to use scanimage -d pint:/dev/ugen0.0 doesn't
work.

On Ubuntu sane backends do not include pint and I might have to build from
sources. But before that thought of asking whether it has a chance of
working. Also, on Linux systems what path should be mentioned in pint.conf
- is it something like /dev/bus/usb/001/009 etc or something else?


[1]
https://de.slideshare.net/smokeypike/the-rvg-5200-from-carestream-dental-digital