Monday, January 14, 2013

Timelapse video of crystal growth in novelty toy

I used my programmable turntable and camera control to create a timelapse video of crystal growth on a small novelty toy. I took one photo (1920x1080) every two minutes, and advanced the turntable by about 3/4 of a degree between photos. I encoded the photos into a 29.97fps timeline in Adobe Premiere, but used two video frames for each photo, so 1 second of playback = 15 photos = 30 minutes. I covered the windows in my shop with black plastic to prevent sunlight from changing the scene as morning arrived. Each exposure was 1/10 at ISO100 f/8, with standard fluorescent lighting in my shop.

Tuesday, January 8, 2013

DIY X-ray CT scanner controlled by an Arduino


I built a CT scanner from an x-ray tube that I bought on eBay, a stepper motor, a large ring bearing, and an Arduino. I used a phosphor screen and my camera to capture x-ray shadow images of a frozen chicken, while the Arduino and stepper motor rotated the chicken by 8 degrees between shots. The resulting 45 images were combined via filtered back projection to create a 3D volume reconstruction of the chicken.

Software used:

Panasonic SilkyPix (for .RW2 development)

Adobe Bridge/Photoshop for image perspective correction

Cygwin/Octave for filtered backprojection

Cone Beam Computed Tomography algorithm
http://www.mathworks.com/matlabcentral/fileexchange/35548-3d-cone-beam-ct-cbct-projection-backprojection-fdk-mlem-reconstruction-codes-for-matlab-students

3D Slicer for visualization and volume rendering
http://www.slicer.org/

Sunday, December 16, 2012

Raw CT images animation

Here's an animation of the raw images from my CT scanner. Full video to follow soon.

Monday, December 10, 2012

Jukebox color wheel synchronizer




I built a system to synchronize the two color wheel motors in a Wurlitzer Model 1015 jukebox. Originally, the jukebox used two synchronous clock motors, and the designers assumed that the motors would stay synchronous and keep the colors wheels at the same orientation after manually setting it. As it turns out, the torque required to spin the color wheels is enough to cause the motors to slip. Eventually, the color wheels get out of sync, and the left and right side of the jukebox do not match in color.

My upgraded system uses two small DC gearmotors that interface with the original drive mechanics via a nylon gear from McMaster. I drive the two motors via a PN2222A transistor and sense the position of the color wheels with the optical sensors from an old computer mouse. An arduino controls the motors via PWM (20 or 30 KHz), and runs a phase-locked-loop routine with P-I control. This system could use a little tuning, but it's pretty close.

Monday, November 26, 2012

DIY X-ray backscatter imaging system (airport body scanner)



I built an X-ray backscatter imaging system from parts found on eBay. This system works by scanning a very thin beam of X-rays across the target, and measures the amount of backscatter for a given beam position. The beam is scanned mechanically by a rotating chopper (collimator) wheel, and by tilting the rotating wheel on an orthogonal axis. The output image is generated on an oscilloscope by matching the horizontal scan speed to the rotating wheel, and using a potentiometer to measure the vertical axis position. The scope's brightness (z axis) is controlled by the amount of backscatter signal received by a large-area detector. Thus, the image is constructed bit by bit. I used a long-exposure shutter on my camera to see the image formed by the moving oscilloscope trace.

http://www.google.com/patents/US5181234