Jump to content

DIY Film Scanner (With Samples)


Josh Gladstone

Recommended Posts

You really got that Imagica 3000 torn down Perry!

 

I looks like they moved the Tri-Linear CCD in that older machine, our ImagerXE moves the film and the CCD stays put.

 

Heh. You should see the shelf full of bits and pieces I took out of it. Really all that's left is the transport.

 

The original design had a robotic platform under the scanner deck with the line sensor. Behind the film was a fibre optic snake that went down to the halogen lamp (just 24v projector bulbs!). The sensor and the light snake would sweep the film in sync with one another. There's a bit of diffusion between the lamp and the gate, but it's just photo diffusion material. for now I'm leaving it be to see how even my final lamphouse design is, but i've been looking at diffusers like the ones in the Edmund catalog if it's not good enough. I'm in the process of prototyping the LED array, and once the kinks are worked out, I'll get a PCB made for it and get it installed. Right now, for testing, I'm using a 24v LED MR16 bulb I bought from a RV supply house. Other than being sickly green, it's actually surprisingly even. So I'm kind of modeling my array after it, but mine will let me control the individual channels.

 

-perry

  • Upvote 1
Link to comment
Share on other sites

  • Site Sponsor

The ImagerXE has a big light pipe too but a Xenon lamp behind it, clearly the same people behind the two machines.

 

I can't remember exactly how many surface mount LEDs (RGB + IR) Rennie uses in the Xena lamp housings but I think it's over 100 for all four colors (they are designed to work at high framerates) the holographic diffusers give a very even field (essential if you don't have a field correction system in the hardware/software) so no lumpy spots in the illumination field and 90% or better light transmission.

 

RV Supply bulb in the scanner, now that's swamp yankee.

 

Building machines is fun.

  • Upvote 1
Link to comment
Share on other sites

That's super cool Perry. I like that you can tell it to go to a certain frame and it'll drive to that point.

 

The advantage of working with an existing transport is that all the engineering was done for me. I just have to hack together the pieces. So there are a ton of sensors on the scanner for different things: perf counting, film tension, gate position, etc. The arduino makes it pretty easy to read all these sensors and react accordingly. In the case of frame counting, there are two perf sensors that, when they're in the correct position, tell you it's safe to engage the registration pins. But I'm using one of them as a counter (essentially it's the same idea as your LED/photosensor on the projector shutter blades, only it's a proximity sensor that goes to the off state when the perf is in front of the sensor). So tracking frames is fairly straightforward, just by keeping a count of where I am and then dividing by the number of perfs per frame.

 

Where'd you get the imigica from? I've always wanted to build something less projector-y. The Mueller HM was the initial inspiration for me to get into building a scanner in the first place, so ideally I'd love to make something multiformat with a simple film path. But first I still need to perfect what I have so far. Some day!

 

Ebay. I was watching it for almost a year and decided to just go for it. The only downside of this model is that I can't use 2000' reels on it. But I'm going to remove the top cover to the scanner and mount some new reel hubs a little farther out, then connect them to the torque motors that keep film tension via a belt or chain drive. So basically, I'm just moving the center hub a few inches and letting the platters overhang the chassis a bit. I've got a couple of old 35mm analysis projectors someone gave me, with lots of rollers and similar parts I can scavenge for that.

 

Yeah, OpenCV handles all the image processing, debayering, writing to disc, even talking to the camera and setting exposure.

(Basically for inverting 8-bit images, you just set each pixel to 255-its current value. So if it was 255, now it's 0, and if it's 0, now it's 255. For 16-bit images you'd do 65535-cur

 

Cool. I looked at OpenCV, but decided to go with the software that works with the frame grabber, and I'm glad I did. It can do a fair bit of stuff with the image in the frame buffer while it's in memory, like flipping it, scaling, etc. That's pretty fast. I can also pass this off to ImageMagick in memory, where I would merge the three channels into an RGB image and then write it to disk. So theoretically, it should be reasonably quick. The current camera is limited to about 5fps, and I think right now the bottleneck is my transport speeds, which aren't very fast. I'm guessing that once everything is fine-tuned. it'll be able to do somewhere between 1 and 2 fps at full resolution, with pin registration

 

With ImageMagick, I believe I can also do some stabilization, so I may have the gates enlarged to include more of the perfs than you currently see, to give me something to do optical pin registration on. That should speed things up and make it safer for archival film.

 

-perry

  • Upvote 1
Link to comment
Share on other sites

The ImagerXE has a big light pipe too but a Xenon lamp behind it, clearly the same people behind the two machines.

 

Does yours have the shinto prayer cards inside too? I'm not superstitious, but I figured I should leave them there. Visions of the Brady Bunch in Hawaii...

 

 

RV Supply bulb in the scanner, now that's swamp yankee.

Damn straight! $12 on amazon. Definitely not suitable for actual work, but good enough for preliminary testing while the real thing is being built.

 

I'm still debating whether I should do RGB + IR. Kind of leaning towards going for it - I mean, while I'm going to the trouble of building my own LED array, if I can squeeze a second matrix of IR emitters in there, then I can make dustmaps for restoration, too.

 

-perry

Link to comment
Share on other sites

Bummer. Mine are right inside the door: https://www.flickr.com/photos/friolator/14053271300/in/set-72157644369553789 (more photos of the scanner in various states in that photoset, too).

 

The lens in it is the same as in your XE - a Nikkor 95mm printing lens, so about as sharp as they get. That lens is actually worth more than I paid for the scanner!

 

-perry

Link to comment
Share on other sites

gah. cursed edit time limit on this forum! I tried to edit my last post, but I'm too slow.

 

that link is to the photo in my photostream, not in the imagica-specific photo set. these are all the scanner photos so far:

https://www.flickr.com/photos/friolator/sets/72157644369553789/

 

Near the end you can see how the relays were all rewired using cat5 to breakout connectors on DIN rails. It's a really nice, neat way to do this. My original layouts re-used some of the old wiring, but I was having all kinds of problems. It just made more sense to rip it out and start all that from scratch.

 

One of the things I decided to do was to make it possible to shut the scanner off from software using the Arduino and relays. That way if a slow scan went late after hours, I could program it to shut the whole machine down, or log in remotely and do it from home.

 

 

 

-perry

Edited by Perry Paolantonio
Link to comment
Share on other sites

  • Site Sponsor

The photothread leads to the bathroom.

 

Yep lens worth more than the machine in that case, was that one out in LA before you got it?

 

I will have to re look for the Shinto cards in the XE I can see how the 3000 would be a better candidate for re-build as it moves the CCD and Lamp while keeping the film gate stationary. The XE moves the gate and the other elements are stationary.

Link to comment
Share on other sites

  • Site Sponsor

I will put up some XE pics it is similar but much newer and with more stuff in the box, plus it does RGB 4K scans in about 2sec/frame so there is not much incentive to change it, plus I got the Vista-Vision gate and it does 6K x 4K RGB VV scans.

Link to comment
Share on other sites

Hello Josh,

 

Your idea of Arduino is very interesting. I have immediately bought a Eumig S 807 and disassembled it. I am planning to create a new drive with a toothed belt. Now I wonder which is better to use a stepper motor or a servo motor?

And what is the best methode to capture the film, start and stop or continuous drive?

 

 

dirk_clip_image008.jpg

Link to comment
Share on other sites

Those are very good questions, and honestly I've thought about them a lot. I'm not sure which is better, start and stop or continuous run. Start and stop is much slower, but it guarantees that you'll get the steadiest, clearest, and most flicker free image possible from your little projector. It also allows you to have other options, like longer exposures, and multiple exposures (either for separate rgb captures, or for HDR. Or both!). But that said, the fastest I can get my scanner to go is about 1 fps. So I've often thought about trying a continuous drive system. Capturing multiple frames per second would be lovely.

 

I chose steppers when I was first getting into Arduinos and I'm not really sure why. I didn't know anything about anything and they were cheap? But they've also worked well enough for me that I've never really tried anything else, so I can't really speak to servo vs stepper vs dc motor, unfortunately.

Link to comment
Share on other sites

People, this is an immensely informative thread on DIY telecine, thanks for sharing so much information. Just a quick question, what sort of cost is the Imperx camera with the Kodak sensor?

 

Machine vision cameras like this run several thousand dollars, usually. The test camera I'm using in the 35mm scanner (again, just for testing purposes) runs about $1000 including the frame grabber. We'll swap this out for a CameraLink frame grabber when the scanner is closer to being finished, and at that time, can use just about any Camera that has a cameralink interface.

 

If you're willing to work with a used camera, they do come up on ebay from time to time. There are lots of low resolution ones there now, the good high end cameras are harder to come by and are more expensive.

Link to comment
Share on other sites

  • Premium Member

 

Machine vision cameras like this run several thousand dollars, usually.

Yes, I've been costing out some 2.7K - 3.3k cameras and getting about 3000 Euros, I was expecting this 6k Imperx with a large Kodak sensor was going to be over $5-6K US.

Link to comment
Share on other sites

Let me just add that I got a pretty great deal on a Sony XCD-U100 on ebay a year or two ago when I got it for $250. It outputs 1200x1600 at 10bits per pixel. So It's worked pretty great, considering the price, but I certainly see its limitations. Especially when trying to scan anything not 4x3.

 

Recently though, I stumbled across USB microscope cameras and was intrigued because of their massive resolutions for exceedingly low costs. I posted in a thread on another forum, but never really got a response, but maybe someone here has some experience?

 

So basically, here are some cameras:

 

http://www.amazon.com/Summit-SK2-14X-Compatible-Digital-Microscope/dp/B00NFQI080

http://www.amazon.com/AmScope-Microscope-Magnification-Reduction-Software/dp/B00C2JGOC0

http://www.amazon.com/C-MOUNT-DIGITAL-MICROSCOPE-EYEPIECE-MEGAPIXEL/dp/B00IQR0TJG/

 

Okay correct me if I'm wrong, but they all look pretty incredible for the price. And they claim to be TWAIN compliant. I mean, that's a standard, right? So theoretically, they could be made to work with some open source driver. However, the little bit I can find out about any of them is that they're pretty much unsupported, and the software that they do use is proprietary and not very good, (especially in OSX where you can barely get an image off of it). So basically they are either amazing, affordable, and easy to work with cross-platform, or they are limited, unsupported, and totally impossible to work with. Has anyone looked into or used cameras like these?

Edited by Josh Gladstone
Link to comment
Share on other sites

Thanks for posting your code, Josh! I may try to write my own code, or clean this up a little, and if either of those things happen I will post my results. I'm probably not much further along than you coding-wise, but I think there are a few if-statements that could benefit from an && instead of being nested, and your different StartByte evaluations could be cleaned up by being converted to Switch statements!

 

I might also suggest GitHub again, as it would be a great place to congregate over the code: pull and push requests will allow everyone to democratically arrive at slimmer and more efficient/effective code; forks will allow people to also make their own version for special cases; it will shield people who are more interested in the optics/physical engineering/etc. from having to listen to nerds talk about code!

 

But if it's just you and me who are interested in the code side of things, maybe that's not necessary.

 

Thanks again, keep it coming. Close-ups of your breadboard/pinout board requested in particular :)

Edited by Sam Friedman
Link to comment
Share on other sites

Oh yeah, just in looking at the code to post it here, the nested if statements definitely stuck out to me too. And the startbyte stuff I stole appropriated from somewhere else and once it worked I never looked back. But yes, very good suggestions! And absolutely feel free to use all or none or any part of my code!

 

Happy to post photos of my breadboard when I get home. I also recently took the Uno out of my 16mm scanner to use it to burn a bootloader onto an off-brand Mini Plus, so I still have to wire that guy back up. I can make a video, if it would be helpful.

Edited by Josh Gladstone
Link to comment
Share on other sites

  • Site Sponsor

We are using an Imperx 3320 in the fast (6fps) Xena right now, it is about $7K, the Imperx 6620 Kodak 1-Tap 6600x4400 CCD is about $15K and would run at about 1fps for sequential (mono sensor sequential RGB Color at 12-bits) or 3fps Color (Color sensor + RGB Led mix color) we have purchased an newer Imperx 4K color ex-Kodak CMOS global 12-bit camera for our fast Xena which should run 15-30fps at 4k bayer.

Link to comment
Share on other sites

  • Premium Member

Robert,

Thanks for that info about the costing and types of the Imperx cameras you are using, excuse another question, but why Imperx as opposed to something like the Allied Manta range of cameras (I couldn't find info on the Imperx data sheets as to whether they used a global shutter)? I used to repair broadcast cameras for a living but am very rusty and would like to build my own scanner.

 

A more general question: 12 bits - is it enough? Is there any mileage in trying for 14 bits e.g. instead of running a 4 to 6K camera at 12 bits run instead with a 2 to 3 K camera at 14 bits (or more) and use the dynamic range of film to provide a greater look of resolution rather than raw horizontal pixels (though that would depend on the content of the image, excuse me if this is a silly question, I did say I am rusty on electronic cameras and certainly haven't applied them to scanning film).

Link to comment
Share on other sites

  • Site Sponsor

There are very few cameras which can resolve 14-bits, the noise floor issue becomes apparent, some cameras can be set for 14-bit but those two bits are basically empty due to noise.

 

The Allied ProsilicaGX cameras are a better fit for film scanning the Mantas are smaller noisier sensors.

Link to comment
Share on other sites

  • Premium Member

You are right, the mantis came into my head first when typing my previous post (typing too fast and not thinking, Doh!) rather than the Prosilica and when I had been looking at their specs a few week back I had thought the Prosilica had better specs. I just did a goolge and it seems the Prosilica is a similar price to the Imperx.

Link to comment
Share on other sites

  • Site Sponsor

They basically use the same sensor but in their own branded camera body, we use Cameralink cameras and Rennie, the Xena architect, likes how the IO works on the Imperx cameras. I don't think there is much difference in terms of image between any of the machine vis camera companies it's more about features and IO.

Link to comment
Share on other sites

  • 2 weeks later...

this isn't going to win any beauty contests, but here's the first prototype of the LED array for my scanner: https://www.flickr.com/photos/friolator/16936609298/in/set-72157644369553789

 

 

This board holds 25 RGB LEDs, which allows color to be mixed from the Arduino. At the moment, each color is on full blast, though it's not truly white since each color has a slightly different voltage requirement. A bit more tweaking is needed, but not much. What you don't see is that the other half of the breadboard has another 11 LEDs wired up, so it's actually a 36-LED array. That should provide more than enough light in the final version. Also, these aren't diffuse LEDs, so they're not really useful in the scanner at the moment. this is just a proof of concept. And it only uses 7W of electricity (Compare that to a Spirit!).

 

It'll be much prettier when it's done - a custom printed circuit board, surface mount LEDs, integrated resistor arrays and a single connector to the Arduino (probably coax with 9-pin connectors)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...