I want to share with one one of my project. It is high resolution x ray scanner with CBCT capability. It allows to create nice looking, very high spacial resolution images of transparent objects in x rays, so no heavy metal, just plastic, PCB, electronics, organic materials and so on.
It can also do very fine objects images, simply by using geometric magnification. If i put DDRAM chip near the tube, and sensor at 30cm distance, i can clearly see bond wires inside ship, but at the same time, if i put something directly on x-ray sensor, i will get nearly 1:1 resolution, with 50um details
here is short overview of my system in this video:
Operation is quite simple. I made controller board that interfaces to computer. It has USB hub, so sensor could be connected directly to controller, and single USB 2.0 wire will go to computer
Controller main job is to manage x ray tube. generate focusing and bias voltage for the tube, and generate control signals for enabling tube controller as well as power. X-ray tube driver is constantly working, while HV is supplied only than taking images, and it is passed though multiple interlocks, so only then door is closed you will have x-rays.
When my application is launched, it will try to connect to all parts of the system, and only if it an detect x-ray controller as well as x ray sensor, it will allow to take images.
Where are only 4 parameters to get images. energy, integration time, and image mapping range . Integration can take more light, so less noise will be seen in the picture with more details. Hamamatsu sensor has very limited range, only between 1 and 2 seconds of integration, and data is 14b, so between 0 and 16383. but images are mapped to 8b, so i am losing nearly half of resolution. I hope some day i could write a program to save 12-16b tiff files, since this dynamic range is needed for 3D reconstruction
( CBCT or computed tomography in short)
Second part of the program is scanning. I made control, how many pictures i want to have in single turn of stepper motor, and my program will create new thread inside visual basic application and start to make images, and rotate sample step by step. this gives very nice illusion of 3D structure, but for proper work i must use filtered back projection to reconstruct 3D data from images, I done this in the past, and this is next step for this project. It would be nice to reconstruct objects and print it with 3D printer
FTDI uses native D2xx drivers so no extra files needs to be installed, windows will take care of that, but for sensor, i had to install DCAM API, so i can talk natively with sensor . Thanks again for Hamamatsu, for sending me vb sample application for DCAM_API capable sensors !
X ray energy is very low, and power is also very minuscule . X-ray tube and controller only takes 12W of power, while x-ray conversion efficiency is very low. Any heavy metal, and all x rays are blocked. Simple copper coin will absorb nearly 99% of x ray power, so shielding is simple.
You can see all project files and use at our own risk, all the programs from FPGA to computer, all the design files are uploaded, so you can get the same result with minimal effort .
I hope this project will be use will for some body, not just to look at :)
Will upload more sample images of various objects :)
If some one want's to reconstruct image, i have 14b raw files uploaded to google drive
data is assembled like line, by x lines, (MSB0, LSB0) , (MSB1, LS1B) uint16 and 2368x 2340y points