I often wonder what the limits of of what we could make if you got all the UA-cam science nerds together with a moderate budget. I bet that not much would be off the table. Great video!
@@chemistryofquestionablequa6252 Nah, build a fusion reactor!! (The fact that nobody has built one sucessfully, ever, might be a challenge though). Or improve on the old Soviet Radioisotope thermoelectric generators, that were portable (kinda).
Bravo my friend! I was in medical school in the 1970’s when the first CT scanner was developed by the engineering branch of EMI Limited in London, England. They were better known at the time as one of the four largest music publishing companies in the world. I believe at one time they owned the rights to the entire Beatles catalogue. I spent 41 years doing general surgery and, without a doubt, the CT scanner was the most useful of all the technologies in my medical toolbox. Originally it was only able to perform brain imaging and the scans were quite pixelated but, of course, the technology rapidly improved and eventually it was applied to all parts of the body. In the space of about a decade, “exploratory laparotomy” (opening a patient’s abdomen to find out what was causing pain, infection, obstruction, bleeding, etc.) became nearly obsolete. Currently a surgeon generally knows a lot about what he/she will find before the patient ever reaches the operating room allowing for careful preplanning of the procedure. I recall many exploratory surgeries early in my career where there were at least a half dozen possibilities going in. Surgeons had to essentially be ready for almost any eventuality. This forced a very rapid assessment, diagnosis and treatment plan while the surgery was in progress. This was exciting to say the least but also very stressful. It is rare nowadays to be in that sort of situation, though it still sometimes occurs when a patient’s condition is too unstable even to perform a brief CT scan. Excellent work young man. When I read the title of your video, I thought perhaps you misunderstood the complex nature of the reconstruction algorithm. Turns out I was the one trying to keep up with your explanations and logic. Sir Godfrey Hounsfield shared the Nobel Prize for his work in developing computed axial tomography, perhaps one day you might help invent some new technology to make the world a better place. I’m rooting for you.
@@Smytjf11 These radiation levels aren't really that dangerous unless you sit in front of it for extended periods of time. If anyone knows how to use these components they also know not to stay next to them while operating.
@@gregorymalchuk272 they are mostly proprietary and sold with the scanner by companies like GE, Siemens, Toshiba, etc. most are about the size of a home refrigerator though I don’t know if most of that is taken up by memory modules. That’s why I was skeptical that the UA-camr could perform the spatial reconstructions using a laptop, but he proved me wrong. What’s more, this was just his initial attempt. He could refine this significantly using an old microwave oven with rotating platform as was suggested by another commenter.
Absolutely incredible that this works as well as it does. After working 4 decades in control systems, I would recommend programming at least one more additional button on your remote - an E-Stop (emergency stop) button to instantly halt the x-ray and high voltage power supply, should someone (or possibly a pet) enter into the area unexpectedly. Impressive that you researched this so completely. Well done!
I fix CT scanners for a living. This is pretty darn cool!! When you started out, I was trying to figure out how you were going to make all of that rotate around your “patient.” You simply rotated your “patient” itself. Well done! You need to get into this business!!
Excellent. I've not watched all of it carefully so you may have addressed it. Be careful to not overheat the tube. They are normally submerged in oil and temp controlled. And buy yourself a digital dose meter. Don't mess around with xrays and cancer.
Your beeper code does not give enough time for LOW. It does HIGH for a second, goes to LOW and immediately back to HIGH. What you need is another pause after the LOW.
even better is to just use PWM. the atmega's default clocks put all of the PWM frequencies in the human audible range, so you can just set PWM to 50% duty cycle, wait one second, then turn it back off. no need for a loop. example from memory: (it's been a minute since i touched an arduino so double check the syntax lol) // i believe this is one of the PWM pins, and i think it's in the low kHz range int beeperPin = 6; pinMode(beeperPin, OUTPUT); // beeper on. this is 127 of 255, so 50% duty cycle square wave. (and it's 255 because it's 8-bit, and that includes 0, so it's 256 total) analogWrite(beeperPin, 127); // let it beep for one second delay(1000); // beeper off analogWrite(beeperPin, 0);
Protip man, build a little lead or steel vault for that thing to protect yourself AND remove background radiation that is noising up your image. Then get yourself a survey meter and make sure you are keeping exposure outside the vault to 5mr/Hr or less.
While not medical grade, it still demonstrates the working principle and actually extremely useful for imaging internal structures of all sorts of things!!
Really nice job! Your sense of humor is so awesome 😅 I am a medical engineer (BA and MA degree) and it really reminds me of all that nice experiments during study. Keep it up! Maybe medical engineering is also the right choice for you 😊 For the next upgrade, you could possibly use a raspberry pi and place a fixed camera on a rig. You could then just export full reconstructed datasets
The nerd glasses - - absolutely awesome. Dang, we need thousands of more STEM kids like this, instead of the vast majority of kids his age staring at their cellphones all day and night.
I’m not going to lie, most of this video confused the hell out of me, but this is actually amazing. I’d love to see what else you come up with, could be saving lives man🙏🏻
This is a great idea for making your own X-ray inspection equipment; welding, solder balls on BGA components, failure analysis, etc.. It was smart to use the remote control to keep away from the X-rays! If you don't know Matlab, it's not that bad. You can use Octave and get up to speed with Matlab for free (nearly the same). Python also has LOTS of tools, but Matlab is great for doing this vector math in real time though.
Just like Matlab has Simuling, Octave has Scilabs. They're a LOT of tools to get things done at a high leve, very fast. It's like how Python has a lot of tools out there to use for free.
Python has a lot of modules for medical engineering, image reconstruction, signal analysis etc. And all for free. I used it a lot at university (studied medical engineering).
man all you gotta do is build a nice rig that keeps the scanner actually true with what its looking at and this thing is already good enough for a lot of scanning projects, still impressive what a cardboard box can do
The piezo buzzer not staying on for the specified time is because you need to delay after setting the pin to low, otherwise the code loops then immediately sets the pin high again, not giving any time to stay off, if you want a period of 1 second high and low then you can do that but if you want a total interval as 1 second so time it takes for the buzzer to go on and off then repeat, you would delay for 500 ms after setting pin 2 high and then after setting pin 2 low delay for another 500ms. Feel free to tweak these values to achieve what you’re looking for. May i recommend HIGH for 1000ms & LOW for 500ms
You are so smart at such a young age. Great project and very good concept. I've wanted to do a home made xray for a long time. This seems to have all the ingredients I need and extra great stuff. Love the info about reconstruction of the 3d object
THANK YOU!!!! Now I understand the difference between CAT/CT and MRI; before your production I thought these were similar systems. Was I ever wrong, thanks again!
That was friggin' mint! Well done with a budget. I'd say you got better than $200 of image quality as that looks about as good as some airport scanners. lol
Very ingenious setup :) This is what I imagine raw unfettered experimenting with simple means should be. Nicely done, but please remember that Xrays are not a trivial thing ! Always take the necessary precautions. I'm curious how far you'll take the concept :)
hence, why he was across the yard. BTW, I helped build a general medical scanning facility once, the Xray and CT scanner rooms were lined in lead along the sides. the MRI room was lined in copper sheeting
7:25 It's probably been mentioned but the issue with the buzzer staying on is that it turns off at the end of the loop cycle, but then immediately starts the cycle over turning itself back on. doing something like "buzzer on, wait 500ms, buzzer off, wait 500ms" would produce something similar to what you want.
I’m an electrical engineering student and this is the type of tomfoolery shenanigans I signed up for. Oddly enough, I too am guilty of searching for old ultrasound and X-ray machines, and yeah they’re all out of my student budget. Thanks so much for sharing I might consider doing a version of this project for my signals and systems class and maybe get into signal processing more. I’m really interested in ultrasonic levitation and phased arrays for the purpose of capturing mosquitos and other small insects 🐜 muahaha
Absolutely Awesome ! Superb project, very well done ! Don't take any crap about the arduino code - if it works, it's good. Sure it could be better, so could we all.
Incredible! I wonder how much more accurate it would be with tiny increments like 0.4 degrees per image. How much radiation do they emit? I wonder how long before it would “damage” a person. I’m also imagining if you built a slow revolving almost circular train track, you could have the hardware rotate very slowly and work well. If you had a vertical track on a wall, a patient could stand against a wall while it moved up in 1ft increments and revolved slowly. Obviously very slow and crazy work to develop but it would make ct machines an affordable household appliance.
I believe you need a delay (1000) or so after the digitalwrite(2, LOW); statement. After the digitalwrite(2, LOW) you are immediately going back to writing it high again. Wonderful video
Great video. I have some code suggestions though. Note: this is not in any way intended to be a roast. First, as you are in a very agressive enviroment where you can get random bit-flips, you should add a watchdog timer to the code. This is on the hardware where if a function isn't called for too long it assumes the MCU crashed and it will reboot it where you can re-initialize all of the outputs into a safe state. Second, your code is very slow (as in one loop will take many minutes) because you have a lot of blocking code (a delay(1000) will have the execution sit there until it is finished with that line). This makes it difficult to react to any other inputs you may want to add later (like a cancel button). Instead, you should have something more like this pseudo code: #include //real code, needed for watchdog setup( wdt_enable(WDTO_2S); // Real code, Enable the watchdog with a timeout of 2 seconds ) loop( wdt_reset(); // Real code, Reset the watchdog if this isn't called before 2 seconds then the arduino will reset itself if(startButtonPushed || motionRunning){ //see if the enable button has been pushed or if the program is already running if(!motionRunning){ //check to see if motion is already running to initialize the running variables (pushing the start button again doesn't do anything) startTime=millis(); //read current time motionRunning=true; //tell the program it is running angleStep=360/destiredResolution; //save a variable so the program knows when it is done currentAngle=0; //reset this counter } } if(millis()-startTime>=1000){ //here is where it gets good. The arduino is running the main loop as fast as it can (many thousands of times per second), this checks to see if one second has passed, if it has then it will do stuff takePicture(); //call function to tell camera to take a picture moveTable(); //start table motion startTime=millis(); //record new time currentAngle=currentAngle+angleStep; //update table rotation position if(currentAngle>=360){ //check to see if a full rotation has completed, if it has, shut down the program motionRunning=false; } } if(stopButtonPushed){ //having non-blocking code allows a stop button to be constantly checked motionRunning=false; } } If you have any more questions I can help out and would even be willing to make something that actually compiles. Keep up the good work.
After hearing about the Therac-25 story, I would never want to mess with X-ray equipment. Especially if you're relying on a wimpy arduino as your control board.
oh my gosh dude this is awesome. im only slightly jealous cause ive had a simillar idea for a while now but ive gotten distracted by other projects im working on
Great job! One thing, it's probably much harder and slightly questionable regarding safety, but if you manage to run the tube at full power (not sure how many kV you are using) you can probably record video directly of the intensifying screen, then you just do a pretty quick 360spin and then extract the frames, are you using long exposure for the pictures? Excellent video, and sorry if it's something you already considered hahahaha
What do you think about building a scanner with an array of electronic sensors like those used by Peter Jansen? it can allow you to detect a weak signal directly, with higher sensitivity and much faster. The original "openCT 2" (can be found on 'hackaday') has a pretty low resolution, but signal-to-noize ratio is pretty impressive.
Fantastic project! Is the number of slices tied to the number of original shots, or is it just down to how the data is processed? (I imagine there’s a relationship in terms of useful depth resolution, but probably not a direct one, given multiple other variables.)
Very cool. MATLAB is good and is very well documented so any problems you have can usually be resolved by doing a google search. Also, going into the deep end is always a learning experience, MATLAB might be worth it if you do simulations or data analysis.
Nifty ! You seem to have quite a lot of technical knowledge/skills, especially for such a young'n. I think its a safe bet that we can expect more great things from you. Instant sub ! 👍 Yup, I did say young'n BTW. 🤪
Random idea: an Ionizing Radiation Detector peripheral for the original GameBoy. The more cost effective you can make it, the better. You could collaborate with “The Thought Emporium” and/or “stacksmashing”.
You've got your beep in a loop so its going to happen 45 times. It seems to be 'staying on' because there is no delay between the switching off and the switching on. It goes on, waits for a second, goes off, then it changes the value of 'i' and does a check, once that check is done it instantly goes back to the 'switch on' instruction. The time it takes to switch back on is imperceptibly short. It will perceptibly stay on for 45 seconds and then turn off and continue the rest of the code.
Yep this is the reason. I was going to post this exact thing but then I saw this. Set another delay after the LOW or it has zero delay and just stays on all the time.(or set the delay before the HIGH ... I personally don't do anything before the HIGH :) )
Hmm curious how the crazy phone image AI that they use to improve the image interferes/helps. If it’s possible to find an app that turns off some of the magic would be good to compare. During scientific things it’s best to remove as much of the magic and apply it later, especially because it can vary from shot to shot. Also if you add a counter or something that was visible in the image it would help to map the particular degrees of a shot. Probably the best move is to integrate it with a Pi or something so you can correlate the shots with the actual data on rotation.
I am actually working on the same thing but a bit more refined 😅 also made a tool in Matlab that outputs a full CTscan file (stacked png) or pointcloud from the scans :) If you want to give that a try leave me a comment.
@@PyrotechnicalScience i will get back to this in a few days, catched corona 😅 i already had a look and want to recompile the newest version before i send it to you
Great video. 🎉🎉 But I have a question. Why do you scan the object 360 degrees? Isn't 180 degree of rotation enough? 0° and 180° images should be just mirror images. What am I missing?
the constant beep thing you have in your code happens because you turn the beeper on, wait 1 second turn it of and repeat this 45 times in a loop, it shoud beep for about 45 seconds
Being technically competent at such a young age is great, you have serious future potential. Since you can produce X-Rays might I suggest an application other than imagery. Try to develop a receiver antenna that would convert X-Rays back into electricity similar to a solar panel converting photons into electricity. Space travel has a problem with cosmic rays penetrating the space ship and damaging the astronauts, like being under constant X-Ray bombardment, current shielding is insufficient. Astronauts during Apollo missions kept seeing flashes of light even when their eyes were closed, those were cosmic rays hitting their bodies. If you can convert X-Rays into useful electricity before they penetrate the ship that would save astronauts lives & produce power for Plasma engines. It is worth the research. X-Rays are different frequency than gamma rays but the approach should be similar. Gamma rays also come from nuclear waste, an antenna encasing nuclear waste would become a battery that last for centuries and worth a Nobel Prize.
Awesome project! Can you provide some details about the X-ray source, such as the high voltage magnitude and the current (mA) that the tube draws? I have experience repairing dental X-ray machines, and so I have a good understanding of the circuitry and how it functions. Do you have a link to your construction details that you can share with others who might want to duplicate this project? THANKS!
Great video! From the point of view of en electronic engineer what you've done is very cool but also I don't see any disclaimer - explanation about X-ray safety. I'm pretty sure that you know risks of ionizing radiation expoasure and extremely high voltage but must consider that viewers might not know it! I'm sorry to bother about safety but I think it is very important, expecially for the most unexperienced viewers, and since you are giving the information (through the video) it is your responsability. Hope I've pass the message without being too much annoying, peace :)
I don't know if the algorithm wrought me here because I saw a bunch of videos about incidents with radiation (work in nuclear), or because I look a lot of engineering videos. The CT machine looks nice, but bear in mind you are toying with radiation fields. Did you research on radiation protection? Ie: What if you relay gets stuck? Would you notice?
i got 3d catscan on my hip, i asked the tec guy for raw data said i was trying to 3d print my bone got a cd with all the raw data had to run it through a program and got it converted to .stl
Hmmm you’re onto something there! I could lead shield it then replace the old electronics with my own, I’ll definitely probably try that in the future!
@@PyrotechnicalScience the microwave motor would have to be a non standard one. The motors that I have found inside the microwaves take a random direction when they are turned on.
Looking at your code. You have the alert in another for loop. So it's going to execute the alert 45 times before it's stops. Instead write a conditional statement at the end of the first for loop that checks the iterator. Such as "if( i == 45) { ALERT:); } That way it only runs when the cycles completes and only alerts once.
how did you get an xray intensifier screen that cheap? been seaching for a long time and cant find one anywhere near that price :( if anyone has any tips i would be really grateful!
I often wonder what the limits of of what we could make if you got all the UA-cam science nerds together with a moderate budget. I bet that not much would be off the table. Great video!
We’d at least have the capabilities of a small university.
@@PyrotechnicalScience we'd be a massive security threat, lol. You just know that Cody would want to build a nuke.
@@chemistryofquestionablequa6252 lol I was just thinking that! Our biggest challenge would be government intervention 🤣
@@chemistryofquestionablequa6252 Nah, build a fusion reactor!! (The fact that nobody has built one sucessfully, ever, might be a challenge though). Or improve on the old Soviet Radioisotope thermoelectric generators, that were portable (kinda).
@@simonwatson5299 those things are kinda terrifying, mostly because there are some just rotting away in Siberia.
Bravo my friend! I was in medical school in the 1970’s when the first CT scanner was developed by the engineering branch of EMI Limited in London, England. They were better known at the time as one of the four largest music publishing companies in the world. I believe at one time they owned the rights to the entire Beatles catalogue. I spent 41 years doing general surgery and, without a doubt, the CT scanner was the most useful of all the technologies in my medical toolbox. Originally it was only able to perform brain imaging and the scans were quite pixelated but, of course, the technology rapidly improved and eventually it was applied to all parts of the body. In the space of about a decade, “exploratory laparotomy” (opening a patient’s abdomen to find out what was causing pain, infection, obstruction, bleeding, etc.) became nearly obsolete. Currently a surgeon generally knows a lot about what he/she will find before the patient ever reaches the operating room allowing for careful preplanning of the procedure. I recall many exploratory surgeries early in my career where there were at least a half dozen possibilities going in. Surgeons had to essentially be ready for almost any eventuality. This forced a very rapid assessment, diagnosis and treatment plan while the surgery was in progress. This was exciting to say the least but also very stressful. It is rare nowadays to be in that sort of situation, though it still sometimes occurs when a patient’s condition is too unstable even to perform a brief CT scan. Excellent work young man. When I read the title of your video, I thought perhaps you misunderstood the complex nature of the reconstruction algorithm. Turns out I was the one trying to keep up with your explanations and logic. Sir Godfrey Hounsfield shared the Nobel Prize for his work in developing computed axial tomography, perhaps one day you might help invent some new technology to make the world a better place. I’m rooting for you.
What kind of computers were they using to collate the x-ray scans and render a graphical result?
Should I not be feeling like I'm watching a kid play with a live grenade?
@@gregorymalchuk272 I believe it was DEC computer and the output was to a dot matrix printer. I had one done of my head at John Hopkins in 1974.
@@Smytjf11 These radiation levels aren't really that dangerous unless you sit in front of it for extended periods of time. If anyone knows how to use these components they also know not to stay next to them while operating.
@@gregorymalchuk272 they are mostly proprietary and sold with the scanner by companies like GE, Siemens, Toshiba, etc. most are about the size of a home refrigerator though I don’t know if most of that is taken up by memory modules. That’s why I was skeptical that the UA-camr could perform the spatial reconstructions using a laptop, but he proved me wrong. What’s more, this was just his initial attempt. He could refine this significantly using an old microwave oven with rotating platform as was suggested by another commenter.
Absolutely incredible that this works as well as it does. After working 4 decades in control systems, I would recommend programming at least one more additional button on your remote - an E-Stop (emergency stop) button to instantly halt the x-ray and high voltage power supply, should someone (or possibly a pet) enter into the area unexpectedly. Impressive that you researched this so completely. Well done!
I fix CT scanners for a living. This is pretty darn cool!! When you started out, I was trying to figure out how you were going to make all of that rotate around your “patient.” You simply rotated your “patient” itself. Well done! You need to get into this business!!
Excellent.
I've not watched all of it carefully so you may have addressed it.
Be careful to not overheat the tube. They are normally submerged in oil and temp controlled.
And buy yourself a digital dose meter. Don't mess around with xrays and cancer.
Your beeper code does not give enough time for LOW. It does HIGH for a second, goes to LOW and immediately back to HIGH. What you need is another pause after the LOW.
Well done.
need to hold HIGH and LOW through prolonged increments.
for(int i = 0; i < 45; i++)
{
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(1000); // this is what you were missing
}
even better is to just use PWM. the atmega's default clocks put all of the PWM frequencies in the human audible range, so you can just set PWM to 50% duty cycle, wait one second, then turn it back off. no need for a loop. example from memory: (it's been a minute since i touched an arduino so double check the syntax lol)
// i believe this is one of the PWM pins, and i think it's in the low kHz range
int beeperPin = 6;
pinMode(beeperPin, OUTPUT);
// beeper on. this is 127 of 255, so 50% duty cycle square wave. (and it's 255 because it's 8-bit, and that includes 0, so it's 256 total)
analogWrite(beeperPin, 127);
// let it beep for one second
delay(1000);
// beeper off
analogWrite(beeperPin, 0);
Protip man, build a little lead or steel vault for that thing to protect yourself AND remove background radiation that is noising up your image.
Then get yourself a survey meter and make sure you are keeping exposure outside the vault to 5mr/Hr or less.
While not medical grade, it still demonstrates the working principle and actually extremely useful for imaging internal structures of all sorts of things!!
Really nice job! Your sense of humor is so awesome 😅
I am a medical engineer (BA and MA degree) and it really reminds me of all that nice experiments during study.
Keep it up! Maybe medical engineering is also the right choice for you 😊
For the next upgrade, you could possibly use a raspberry pi and place a fixed camera on a rig. You could then just export full reconstructed datasets
Sweet, been waiting for this video. Great job and results.
It’s mad impressive that this is actually functional, good job!! Thanks for documenting and explaining your discoveries
I still have hope in humanity and our future because of smart and curious creators/engineers like him. Good job dude.
The nerd glasses - - absolutely awesome. Dang, we need thousands of more STEM kids like this, instead of the vast majority of kids his age staring at their cellphones all day and night.
Impressive! If you are doing this much do not forget radiation safety!
Damn this is really cool! Also props for using a remote control system unlike some other youtubers... Well done, really inspiring!
StyroPyro comes to mind.
That dude would tickle the dragon with a flat bladed screwdriver
@@davidconner-shover51 🤣
dude, seriously impressive.
I’m not going to lie, most of this video confused the hell out of me, but this is actually amazing. I’d love to see what else you come up with, could be saving lives man🙏🏻
This is a great idea for making your own X-ray inspection equipment; welding, solder balls on BGA components, failure analysis, etc..
It was smart to use the remote control to keep away from the X-rays!
If you don't know Matlab, it's not that bad. You can use Octave and get up to speed with Matlab for free (nearly the same).
Python also has LOTS of tools, but Matlab is great for doing this vector math in real time though.
Just like Matlab has Simuling, Octave has Scilabs. They're a LOT of tools to get things done at a high leve, very fast. It's like how Python has a lot of tools out there to use for free.
Python has a lot of modules for medical engineering, image reconstruction, signal analysis etc. And all for free.
I used it a lot at university (studied medical engineering).
Yes thinking about building my own bag inspection machine
man all you gotta do is build a nice rig that keeps the scanner actually true with what its looking at and this thing is already good enough for a lot of scanning projects, still impressive what a cardboard box can do
Arduino needs to sponsor this man
The piezo buzzer not staying on for the specified time is because you need to delay after setting the pin to low, otherwise the code loops then immediately sets the pin high again, not giving any time to stay off, if you want a period of 1 second high and low then you can do that but if you want a total interval as 1 second so time it takes for the buzzer to go on and off then repeat, you would delay for 500 ms after setting pin 2 high and then after setting pin 2 low delay for another 500ms.
Feel free to tweak these values to achieve what you’re looking for.
May i recommend HIGH for 1000ms & LOW for 500ms
You are so smart at such a young age. Great project and very good concept. I've wanted to do a home made xray for a long time. This seems to have all the ingredients I need and extra great stuff. Love the info about reconstruction of the 3d object
THANK YOU!!!! Now I understand the difference between CAT/CT and MRI; before your production I thought these were similar systems. Was I ever wrong, thanks again!
Honestly I didn't expect much but my expectations have been blown away
Amazing work. You're lucky to get a high voltage power supply that works for $60. I've been in the market for one for years.
Made it didn’t buy it, that’s why it’s so cheap
@@PyrotechnicalScience I just discovered your channel. Knowing you built that I'm starting to think I found my new favorite channel. Fantastic job.
This is going to be absolutely golden info for after the apocalypse. Thanks man. Good stuff!
I’d be careful about that direction of the x-rays since you’re not using proper shielding. It’d be terrible to give cancer to your neighbours..
That was friggin' mint! Well done with a budget. I'd say you got better than $200 of image quality as that looks about as good as some airport scanners. lol
Very ingenious setup :) This is what I imagine raw unfettered experimenting with simple means should be. Nicely done, but please remember that Xrays are not a trivial thing ! Always take the necessary precautions. I'm curious how far you'll take the concept :)
hence, why he was across the yard.
BTW, I helped build a general medical scanning facility once, the Xray and CT scanner rooms were lined in lead along the sides.
the MRI room was lined in copper sheeting
7:25 It's probably been mentioned but the issue with the buzzer staying on is that it turns off at the end of the loop cycle, but then immediately starts the cycle over turning itself back on. doing something like "buzzer on, wait 500ms, buzzer off, wait 500ms" would produce something similar to what you want.
Nice job! What a cool project. Always wondered how that back projection worked on imaging like this.
I’m an electrical engineering student and this is the type of tomfoolery shenanigans I signed up for. Oddly enough, I too am guilty of searching for old ultrasound and X-ray machines, and yeah they’re all out of my student budget. Thanks so much for sharing
I might consider doing a version of this project for my signals and systems class and maybe get into signal processing more. I’m really interested in ultrasonic levitation and phased arrays for the purpose of capturing mosquitos and other small insects 🐜 muahaha
your skillset is deadly 🔥🔥🔥
cool project
6:40 Still way better than the software written for the Therac-25 😂
Nice project bro
Absolutely Awesome !
Superb project, very well done !
Don't take any crap about the arduino code - if it works, it's good.
Sure it could be better, so could we all.
Incredible! I wonder how much more accurate it would be with tiny increments like 0.4 degrees per image. How much radiation do they emit? I wonder how long before it would “damage” a person. I’m also imagining if you built a slow revolving almost circular train track, you could have the hardware rotate very slowly and work well. If you had a vertical track on a wall, a patient could stand against a wall while it moved up in 1ft increments and revolved slowly. Obviously very slow and crazy work to develop but it would make ct machines an affordable household appliance.
Someone found a damn use for those crappy buttons on the Roku remote!
This is all so interesting, and love the technical detail. Subbed here!
Really enjoyed your set of videos on X-rays. Thanks. Subscribed. Cheers.
oh for that loop at the end it's going low then immediately back high when the loop starts again, add another wait in the loop
Holy smokes! This channel is going places!
Love the shielding being used, or not in this case.
This is great wow. Question what about radiation cell damage from exposure to x-rays is there shielding etc?
I believe you need a delay (1000) or so after the digitalwrite(2, LOW); statement. After the digitalwrite(2, LOW) you are immediately going back to writing it high again.
Wonderful video
Great video. I have some code suggestions though. Note: this is not in any way intended to be a roast.
First, as you are in a very agressive enviroment where you can get random bit-flips, you should add a watchdog timer to the code. This is on the hardware where if a function isn't called for too long it assumes the MCU crashed and it will reboot it where you can re-initialize all of the outputs into a safe state.
Second, your code is very slow (as in one loop will take many minutes) because you have a lot of blocking code (a delay(1000) will have the execution sit there until it is finished with that line). This makes it difficult to react to any other inputs you may want to add later (like a cancel button). Instead, you should have something more like this pseudo code:
#include //real code, needed for watchdog
setup(
wdt_enable(WDTO_2S); // Real code, Enable the watchdog with a timeout of 2 seconds
)
loop(
wdt_reset(); // Real code, Reset the watchdog if this isn't called before 2 seconds then the arduino will reset itself
if(startButtonPushed || motionRunning){ //see if the enable button has been pushed or if the program is already running
if(!motionRunning){ //check to see if motion is already running to initialize the running variables (pushing the start button again doesn't do anything)
startTime=millis(); //read current time
motionRunning=true; //tell the program it is running
angleStep=360/destiredResolution; //save a variable so the program knows when it is done
currentAngle=0; //reset this counter
}
}
if(millis()-startTime>=1000){ //here is where it gets good. The arduino is running the main loop as fast as it can (many thousands of times per second), this checks to see if one second has passed, if it has then it will do stuff
takePicture(); //call function to tell camera to take a picture
moveTable(); //start table motion
startTime=millis(); //record new time
currentAngle=currentAngle+angleStep; //update table rotation position
if(currentAngle>=360){ //check to see if a full rotation has completed, if it has, shut down the program
motionRunning=false;
}
}
if(stopButtonPushed){ //having non-blocking code allows a stop button to be constantly checked
motionRunning=false;
}
}
If you have any more questions I can help out and would even be willing to make something that actually compiles. Keep up the good work.
After hearing about the Therac-25 story, I would never want to mess with X-ray equipment. Especially if you're relying on a wimpy arduino as your control board.
oh my gosh dude this is awesome. im only slightly jealous cause ive had a simillar idea for a while now but ive gotten distracted by other projects im working on
Ok guy, I have DIY tattooed on me but this fella earned it, this is hardcore DIY.
Bravo for the execution and the presentation!
Your videos are so kool. U actually explained this so well. Keep making great content like these videos.
What type of gas is the cathode tube made of?
Hello, you have a beautiful mind. Keep posting videos
😍
That'd be dope to compare sieverts to a modern x-ray machine
7:30 your beeper code just beeps continuously for 45 seconds...
Great job! One thing, it's probably much harder and slightly questionable regarding safety, but if you manage to run the tube at full power (not sure how many kV you are using) you can probably record video directly of the intensifying screen, then you just do a pretty quick 360spin and then extract the frames, are you using long exposure for the pictures? Excellent video, and sorry if it's something you already considered hahahaha
Very nice channel, hope you keep it up and grow a ton
Nice job, this is great. Stay safe with it.
Enjoyed your video. Have you considered doing video on x-ray fluorescense spectroscopy?
Does the current for the x ray tube matter? Does the current need to be regulated?
Помню в сериале девяностых Вэлари Айронс Протэкшен показывали такой. За 30 лет ничего не поменялось.
What do you think about building a scanner with an array of electronic sensors like those used by Peter Jansen? it can allow you to detect a weak signal directly, with higher sensitivity and much faster. The original "openCT 2" (can be found on 'hackaday') has a pretty low resolution, but signal-to-noize ratio is pretty impressive.
When I was in school my science fair project was a bi-carb volcano. Kids these days are so much more advanced.
Fantastic project!
Is the number of slices tied to the number of original shots, or is it just down to how the data is processed? (I imagine there’s a relationship in terms of useful depth resolution, but probably not a direct one, given multiple other variables.)
What type of x-ray tube did tou use?
Mammogram
Very cool. MATLAB is good and is very well documented so any problems you have can usually be resolved by doing a google search. Also, going into the deep end is always a learning experience, MATLAB might be worth it if you do simulations or data analysis.
this is the best most dangerous thing i'v ever seen
Nifty ! You seem to have quite a lot of technical knowledge/skills, especially for such a young'n. I think its a safe bet that we can expect more great things from you. Instant sub ! 👍 Yup, I did say young'n BTW. 🤪
Random idea: an Ionizing Radiation Detector peripheral for the original GameBoy. The more cost effective you can make it, the better.
You could collaborate with “The Thought Emporium” and/or “stacksmashing”.
You've got your beep in a loop so its going to happen 45 times. It seems to be 'staying on' because there is no delay between the switching off and the switching on. It goes on, waits for a second, goes off, then it changes the value of 'i' and does a check, once that check is done it instantly goes back to the 'switch on' instruction. The time it takes to switch back on is imperceptibly short. It will perceptibly stay on for 45 seconds and then turn off and continue the rest of the code.
Yep this is the reason. I was going to post this exact thing but then I saw this. Set another delay after the LOW or it has zero delay and just stays on all the time.(or set the delay before the HIGH ... I personally don't do anything before the HIGH :) )
Hmm curious how the crazy phone image AI that they use to improve the image interferes/helps. If it’s possible to find an app that turns off some of the magic would be good to compare. During scientific things it’s best to remove as much of the magic and apply it later, especially because it can vary from shot to shot.
Also if you add a counter or something that was visible in the image it would help to map the particular degrees of a shot. Probably the best move is to integrate it with a Pi or something so you can correlate the shots with the actual data on rotation.
Here comes the Arduino kit.. THERE IT IS!!!
Wow that was good video..... I now know. How. It work great work!!
See if chat got can upgrade your code for you?! Could be a neat quick video!
I am actually working on the same thing but a bit more refined 😅 also made a tool in Matlab that outputs a full CTscan file (stacked png) or pointcloud from the scans :) If you want to give that a try leave me a comment.
Oh most definitely! You can email me or discord!
@@PyrotechnicalScience i will get back to this in a few days, catched corona 😅 i already had a look and want to recompile the newest version before i send it to you
I can just imagine handing the doc a CT scan file made from a homemade CT machine of my broken arm. lol
Great video. 🎉🎉
But I have a question. Why do you scan the object 360 degrees? Isn't 180 degree of rotation enough? 0° and 180° images should be just mirror images. What am I missing?
Bro, how do you know all this stuff?! You don’t look very old. Awesome buddy!!
the constant beep thing you have in your code happens because you turn the beeper on, wait 1 second turn it of and repeat this 45 times in a loop, it shoud beep for about 45 seconds
Being technically competent at such a young age is great, you have serious future potential. Since you can produce X-Rays might I suggest an application other than imagery. Try to develop a receiver antenna that would convert X-Rays back into electricity similar to a solar panel converting photons into electricity. Space travel has a problem with cosmic rays penetrating the space ship and damaging the astronauts, like being under constant X-Ray bombardment, current shielding is insufficient. Astronauts during Apollo missions kept seeing flashes of light even when their eyes were closed, those were cosmic rays hitting their bodies. If you can convert X-Rays into useful electricity before they penetrate the ship that would save astronauts lives & produce power for Plasma engines. It is worth the research. X-Rays are different frequency than gamma rays but the approach should be similar. Gamma rays also come from nuclear waste, an antenna encasing nuclear waste would become a battery that last for centuries and worth a Nobel Prize.
Awesome project! Can you provide some details about the X-ray source, such as the high voltage magnitude and the current (mA) that the tube draws? I have experience repairing dental X-ray machines, and so I have a good understanding of the circuitry and how it functions. Do you have a link to your construction details that you can share with others who might want to duplicate this project? THANKS!
that arduino code looks extremely similar to c. Is it based off of C?
Great video! From the point of view of en electronic engineer what you've done is very cool but also I don't see any disclaimer - explanation about X-ray safety. I'm pretty sure that you know risks of ionizing radiation expoasure and extremely high voltage but must consider that viewers might not know it! I'm sorry to bother about safety but I think it is very important, expecially for the most unexperienced viewers, and since you are giving the information (through the video) it is your responsability.
Hope I've pass the message without being too much annoying, peace :)
👆 this!!!
It kinda blows my mind it's still cheaper to build a CT scanner than get a CT scan here in the US 😂
We're the only country with a privatized for-profit healthcare system. :(
Next up? Here Kitty, Kitty! Just kidding, I know, NO living things must be home scanned. Great video!
Awesome ! - hate to be your neighbor however - the x-rays
Very nice video!!
Does your Patreon have step by step instructions and parts to order to build this?
That is very impressive!
I don't know if the algorithm wrought me here because I saw a bunch of videos about incidents with radiation (work in nuclear), or because I look a lot of engineering videos. The CT machine looks nice, but bear in mind you are toying with radiation fields. Did you research on radiation protection? Ie: What if you relay gets stuck? Would you notice?
Great stuff!
i got 3d catscan on my hip, i asked the tec guy for raw data said i was trying to 3d print my bone
got a cd with all the raw data had to run it through a program and got it converted to .stl
So..... Ebay? Or what? Where did you get a working x-ray tube and HV power supply for under $200?
eBay for the tube and I built the power supply myself
Okay I had no clue they went as low as 39k, that's scary
I feel like I have seen your xray videos like 4 ore 54 months ago have you reuploaded them ?
I think it’ll be really cool to repurpose an old microwave machine to do this. Since it’s already got a turning table and stuff.
Hmmm you’re onto something there! I could lead shield it then replace the old electronics with my own, I’ll definitely probably try that in the future!
@@PyrotechnicalScience yep, super excited to see it.
@@PyrotechnicalScience the microwave motor would have to be a non standard one. The motors that I have found inside the microwaves take a random direction when they are turned on.
@@Charlie8food I’d just replace it with a stepper motor
Looking at your code. You have the alert in another for loop. So it's going to execute the alert 45 times before it's stops. Instead write a conditional statement at the end of the first for loop that checks the iterator. Such as "if( i == 45) {
ALERT:);
}
That way it only runs when the cycles completes and only alerts once.
Young William Osman vibes haha
Bring this to open sauce.
Nice video, thank you for sharing it :)
Very nice project. Would it also be possible to build an MRI scanner? I don't like to expose my body too much to X-Ray. MRI is the way to go I.m.o.
how did you get an xray intensifier screen that cheap? been seaching for a long time and cant find one anywhere near that price :( if anyone has any tips i would be really grateful!
I just found it on eBay
you need to add a delay for the beep because the statement is still true so it will instantly turn back on @7:34