fig1 shows a block diagram of a system for detecting and illuminating the vasculature in a patient the system shown in the block diagram of fig1 is used for detecting the location of veins on a patient and illuminating the veins . the disclosures of u . s . patent application ser . no . 12 / 804 , 506 , now issued as u . s . pat . no . 8 , 463 , 364 are incorporated herein by reference . in a preferred embodiment , fig3 - 47 of application ser . no . 12 / 804 , 506 illustrates an assembly of a housing that may be used in the present invention . in the present invention , circuit boards 43 , 44 and 15 of application ser . no . 12 / 804 , 506 may be modified to contain the circuitry described by the block diagram in fig1 . the remainder of the device in fig3 - 47 can remain substantially the same . in fig1 an fpga 1 ( field programmable gate array ) is configured to control a red laser drive 2 which in turn drives a red laser 3 . the output of the red laser 3 is controlled in a manner so as to illuminate the detected veins . a red laser feedback 4 detects the output of the red laser 3 and sends the information to the fpga 1 . accordingly , a closed loop is formed whereby the fpga 1 can both drive the red laser 3 and receive feedback as to the red laser 3 state . fpga 1 outputs data to an ir laser drive 5 which in turn drives an ir laser 6 . the output of the ir laser 6 is controlled to output an intensity of ir light , aimed at the area of the body where veins are located , sufficient to detect the veins . an ir laser feedback 7 detects the output of the ir laser 6 and sends the information to the fpga 1 . accordingly , a closed loop is formed whereby the fpga 1 can both drive the ir laser 6 and receive feedback as to the ir laser 6 state . fpga 1 communicates to both a x - mirror drive 8 and a y - mirror drive 9 to drive x - mirror 10 and y - mirror 11 in such a manner that a raster pattern is formed on the patient when the red laser 3 and the ir laser 6 are coaxially projected thereon . x - mirror feedback 12 and y - mirror feedback 13 detect the positions of the x - mirror 10 and y - mirror 11 , respectively , and communicates such information to the fpga 1 . top photodiode 23 and bottom photodiode 22 receive the ir laser 6 reflected off the patient , converts the light into an analog signal which is provided to top fe 25 and bottom fe 24 , and then to top adc 27 and bottom adc 25 , respectively . the top fe 25 and the bottom fe 24 are front end circuits that provide analog filtering , gain control and threshold of the analog signals . the top adc 27 and bottom adc 26 are analog to digital converters that convert the analog signals to digital representations thereof to be communicated to the fpga 1 . control lines are provided from the fpga 1 to the top fe 25 and the bottom fe 24 to set parameters such as , for example , gain control and analog filtering . from a mechanical standpoint , the red laser 3 and the ir laser 6 are co axially aligned and projected off of mirrors x - mirror 10 and y - mirror 11 to form a pattern , such as for example , a raster pattern on the patient . the ir laser 6 reflects off the patient and is received by top photodiode 23 and photodiode 22 . the reflected ir light contains information as to the location of the veins ( ir light is absorbed by the blood in the veins and therefore the amount or reflected ir light is lower when the ir laser 6 is aimed at a vein . the fpga 1 time sequentially receives in the signal form the top adc 27 and the bottom adc and can form two partial and / or full frame images of the reflected ir light ( hereinafter a top channel data and a bottom channel data wherein the top channel data is received from the top adc 27 and the bottom channel data is received from the bottom adc ). the fpga 1 processes one or both of the partial and / or full image to detect and enhance the image of the veins . the enhanced image is time sequentially projected by the red laser 3 onto the patient . a cpld is provided for controlling an lcd 19 with displays user information related to the operating status of the device . it also controls an audio 20 output to provide audible tones to the user . finally the cpld 18 controls the switches 21 on the unit for turning on and off the units as well as selecting user modes and entering data . a microprocessor pic mcu 17 is provided for receiving and monitoring the ir laser feedback 7 signal , the red laser feedback 4 signal , the x - mirror feedback 12 signal and the y - mirror feedback 13 signal . since these signals are also provided to the fpga 1 , redundancy monitoring of the signals is provided by the pic mcu 17 . this is particularly important when regulatory requirements require redundant monitoring of the laser power and movement to comply with safety requirements . the nc mcu 17 also monitors the device power management 14 , the li - ion battery management 15 circuitry and the li - ion fuel gauge 16 . fig2 shows an example of the signal processing flow of the fpga fig2 shows an embodiment of the signal processing algorithm of the fpga of fig1 . as described with reference to fig1 , the image of the reflected ir laser 6 is time sequentially stored in the fpga 1 as top channel data 30 t and bottom channel data 30 b . the x - mirror 10 oscillates about a single axis to move the laser beam from the ir laser 6 to form a line . the beam moves first in one direction and then back in the other direction . it is critical that the left to right image data be in convergence with the right to left data . the top line correlator 31 t measures the shift in the convergence of the top channel data 30 t and supplies the information to the mirror convergence control 34 . similarly , the bottom line correlator 31 b measures the shift in the convergence of the bottom channel data 30 b and supplies the information to the mirror convergence control 34 . the mirror convergence control 34 can adjust the control signals provided from the fpga 1 to the x - mirror drive 8 so as to converge the data . a top histogram 32 t receives the top channel data 30 t and generates a histogram based upon an entire frame of the top channel data 30 t . similarly , a bottom histogram 32 b receives the top channel data 30 b and generates a histogram based upon an entire frame of the bottom channel data 30 b . the histograms contain information describing the characteristics of the images , including but not limited to contrast and intensity levels . the top histogram 32 t and the bottom histogram 32 b are provided to exposure control 35 . exposure control 35 communicates appropriate signals the ir laser drive 5 to adjust the power of the ir laser 6 on a frame by frame basis until the histograms indicate appropriate images . the exposure control 35 also communicates with the top fe 25 and bottom fe 24 to adjust parameters such as setting thresholds and setting electrical gain . a top vein processing 33 t block receives the top channel data 30 t and performs image processing to detect vein patterns and provides the enhanced vein image to fused vein projection 36 . similarly , bottom vein processing 33 b block receives the bottom channel data 30 b and performs image processing to detect vein patterns and provides the enhanced vein image to fused vein projection 36 . the fused vein projection 36 forms a single image and communicates the image to the alpha blended projection 38 . the fused vein projection 36 can form the single image by merging the images from the top vein processing 33 t and bottom vein processing 33 b . alternative , the fused vein projection 36 can simply select the best image received from the top vein processing 33 t and the bottom vein processing 33 b . alpha channel 37 forms an image that contains graphical data , such as text or characters . alpha channel 37 and fused vein projection 36 are provided to alpha blended projection 38 with drives the ir laser drive 5 to display an image which is the combination of the fused vein projection 36 and the alpha channel 37 . fig3 shows an example of the internal bus architecture of the fpga fig4 shows details of the top vein processing 33 t and bottom vein processing 33 b . fig5 shows the vein processing at the boundary of the image frames . fig6 shows further detail of the vein processing at the boundary of the image frames .
a laser based vascular illumination system utilizing a fpga for detecting vascular positions , processing an image of such vasculature positions , and projecting the image thereof onto the body of a patient .