Wednesday, July 3, 2019

3D Printed Pneumatic Headphones for 32 Ch. Headcoil

A common complaint when using the 32 channel head coil is that there are few options available for delivering auditory stimuli to subjects. The inner diameter of the coil is considerably smaller compared to that of the 12 channel coil and limits the use of the standard Siemens pneumatic headphones that come with the 3T Tim Trio. Some current alternatives are to purchase an expensive electronic ear bud system or to crank up the volume for the speaker inside the magnet room and hope that the subject can hear at least some of what you're saying. For most researchers neither of these are adequate solutions, so I was tasked to come up with an alternative that fit the following criteria:
  • Integrates into existing pneumatic systems
  • Durable
  • Low cost
  • Slim profile
  • Comfortable
  • Easily reproducible
If you've read my last few posts then it's no surprise that I decided to use Tinkercad and our in-house 3D printer to come up with a suitable solution. A link will be provided at the bottom of the post for those wishing to print their own.

The Siemens Option

The default Siemens headphones work wonderfully...if you are using the 12 channel coil. But when using the 32 channel it's useless to all but the smallest of heads. The headband and thick headphone chambers simply do not fit inside the coil along with a subject's head and adequate padding. Thankfully pneumatic systems like this don't have many components, so I won't have to alter the design too drastically to come up with a solution that fits our criteria. 

Figure 1 - Siemens pneumatic headphones 
Figure 2 - Siemens tube connector

The 3D Solution

Keeping in mind the aforementioned criteria, I used the Siemens system as a starting point. Eliminating the headband and slimming down the profile of the headphone chamber instantly gave us the extra space required. Creating a ridge in the headphone chamber is the simplest design solution (see Note 1) as it provides a means to secure the cushion in place and slim down the design even further. I moved the tube connection to the bottom of the headphone for a more streamlined appearance and to make it easier to attach the "Y" connector. The original Y connector never posed a problem, but I tapered the holes just slightly for a tighter fit around the tubing and slimmed down the design to save on material cost.

Figure 3 - Slim 32 Ch headphone chamber design
Figure 4 - Y connector solid and transparent
For those a bit more interested in the design details, I used a pair of Bose headphone cushions as the template for the shape. They are similar in size and shape to the Siemens cushions, though any cushions would work fine. It's mostly a matter of personal preference so long as all the proper measurements are taken to ensure a snug fit. Same goes for the tubing, though for the sake of easy integration I'd recommend sticking with the 1/4" and 1/2" tubing that is standard for this system.

Final Print

Due to the simple nature of these components, the material and settings for printing them is largely up to personal preference. Though because they're likely to take a bit of a beating I printed them out of ABS with 2 mm layers, 95% infill and supports. 95% infill may seem like overkill, but since we're dealing with a pneumatic system you have to make sure there are no holes that could reduce the quality of the audio (See Note 2). Plus the pieces are so thin and small that you don't want to run the risk of them being too brittle for every day use.

Figure 5 - Components w/supports on build plate
After a few hours of printing I got the following results:

Figure 6 - Headphone chamber printed with ABS
Figure 7 - Y Connector printed with ABS
The tubing fits securely inside the connectors without the need of any extra adhesive, though you can use a bit of superglue to make sure it stays put (see Note 3). It takes some effort to insert the 1/4 inch tubing into the Y connector, but that makes for a better fit!

Since I used a personal pair of headphones as the template, replacement cushions were ordered that match the dimensions. They are of higher quality than the Siemens headphones and serve multiple purposes; providing comfort, support, and ear protection. The cushions come with a black mesh that I super-glued to the inside to cover up the headphone chamber. Since I measured the dimensions of the hard plastic ring that shapes the cushion earlier it should fit snug on the ridge. Once satisfied that the fit was correct I went ahead and used superglue again to secure it in place.

Figure 8 - Headphone with cushion and mesh
Figure 9 - Pair of headphones with cushions installed
When it came time to integrate these into the Siemens system we purchased the following connectors and inserted them into the tubing for our new headphones as well as the originals. Some modification of the Siemens headphone tubing is required (See Note 4), but now it only takes a quick push of the button to switch between multiple pneumatic options.  As you can see in Figure 11, the quick release connector allowed us to created a microphone using a funnel. The possibilities are endless!

Figure 10 -  Quick release connector
Figure 11 - Siemens headphones (A), slim 32 ch headphones (B) and funnel microphone (C) 

Final Fitting

With the headphones finished it is time to test them out! As you can see below, even with the headphones inside the coil there is still room for more padding on the side of the head if needed. But the standard headphones only fit inside when set to the smallest setting and adding extra padding is no longer an option (see Note 5).

Figure 12 - New headphones inside 32 ch coil
Figure 13 - Siemens headphones inside 32 ch coil
OK so they fit, but do they work? Of course they do! Pneumatic systems like this are simple and straightforward. So long as you secure all the connections and there are no holes in the tubing then you're good to go.

You can access the original TinkerCAD model and download it here. If you are using the same cushions and tubing that I mentioned earlier, then you should not have to alter the models much if at all (See Note 3). But if you decide to go a different route then you'll have to use TinkerCAD and do a bit more in-depth adjustments. Thankfully they have several basic tutorials that should be enough to get you going.

Note 1: I went through several iterations before going with this design. Some required cutting holes in padding, while others proved difficult for my 3D printer to complete. You can't make an omelet without breaking a few eggs, but for the sake of simplicity I chose not to include every step.

Note 2: PLA, ABS, PETG or just about any other material would be suitable. It's mostly a matter of personal preference, but durability should definitely play a factor in your decision. I would even suggest printing out a few pairs and keeping them handy in case something should happen

Note 3: All 3D printers are not created equally. You may need to use adhesive or alter the size of the tubing holes in the STL model if the parts don't fit snug after you print them.

Note 4: The modifications are simple: 1) Cut a length of tubing roughly a foot long from the end of the 1/4" thick tubing that connects to the foot of the bed. Leave it plugged into the foot of the bed. 2) Insert the larger quick connector piece (the one with the button on it!) into it. 3) Insert the smaller quick release connector into the long piece of tubing that connects to the headphones. 4) Repeat for every pneumatic system you want to integrate (in case you design your own headphones later on!)

Note 5: The polystyrene head is by no means meant to show that everyone will have as much room when they use the slim headphones. It is meant to showcase that there is more room than if attempting to use the standard Siemens headphones. 

Wednesday, October 24, 2018

Designing and 3D Printing Custom Lens Holders

There are often times when subjects require corrective lenses in order to properly perform tasks while inside the MRI machine. We purchased a pair of MRI-safe goggles with interchangeable lenses some years back (see Note #1) and using them with our 12 channel head coil is easy because the inner diameter of the coil is large enough to comfortably fit the subject, a support pillow, and the goggles without any issue.

Figure 1 - MRI-safe goggles with prescription lenses

Using them with the 32 channel head coil however, is considerably more difficult to do. It is already hard enough to fit a subject comfortably inside the coil with support padding, so attempting to include the goggles as well is simply not an option. To solve this problem we designed and machined lens holders (Figures 2 and 3) that fit inside the eye sockets of the 32 channel coil. They're easy to set up and the fit is snug so that they don't move. Sometimes we use a velcro strap to keep them together but it's not required.

Figure 2 - 32 ch coil lens holder with velcro strap

Figure 3 - lens holders inserted into coil eye sockets

Problem solved, right? Ah but what if these holders break? What if other researchers have this same issue but don't have a mechanical engineer on staff who can design and machine pieces like these? The best solution to both of these scenarios (and many more!) is to create 3D CAD models and make them available for anyone to download. So let's get started!

Recreating Parts in Tinkercad and Blender

Tinkercad is a free, easy-to-use 3D CAD design tool that works in your browser and uses Boolean addition and subtraction of simple shapes to allow the creation of more elaborate models. I have to be honest, I am more comfortable with Blender, which is also free, but Tinkercad is far easier to pick up and ideal for (relatively) simple designs like these holders. I had zero experience with Tinkercad beforehand but doing their tutorials for about an hour familiarized me enough with their UI to complete the project. Using calipers to get as accurate as possible, I measured the various dimensions of one of the holders and after a few hours I came up with the following design:

Figure 4 - Lens holder in Tinkercad

Not too shabby, right? I know it's hard to get a sense for 3D models in pictures but hopefully you can make out some details. If not, no need to worry. I'll provide a link later on so you can download the model yourself and take a closer look. The next step is to export the model to Blender and bevel some edges to make for a smoother fit inside the eye socket. Beveling is not an option in Tinkercad (See Note #2) so importing the STL file to Blender is the easiest way to finish it up.

Figure 5 - Beveling in Blender

After beveling, the final step in this section is to duplicate the part and mirror it about the X axis to create the second holder.

Figure 6 - Duplicating and mirroring in Blender

The hardest part of this project is done, though we can always make changes should the need arise (See Note #3). Now it's time to manufacture the pieces.

3D printing the Holders

It's possible to take drawings to a machinist and have them create the parts out of nylon or some other plastic but if you've got a 3D printer handy than the best/easiest solution is to print them out yourself in just a few hours. I even printed a few versions using different material to see which one suited our needs best.

Figure 7 - Holders printed using PLA 
Figure 8 - Holders printed using PETG

Figure 9 - Holders printed using NylonX

Although it may look like all I did was print the same thing in three different colors, there's more than meets the eye! Figures 7, 8 and 9 are images of completed lens holders printed using PLA, PETG and NylonX, respectively (See Note #4). Printing the pieces in NylonX was the best solution because of its durability and flexibility, allowing for the holders to be crammed into the eye sockets and thicker lenses to be placed inside them without fear of breakage. Below are images of a thin lens and a thick lens held securely inside the holders (See Note #5).

Figure 10 - Top view of lens in NylonX holders

Figure 11 - Side view of lens with different thicknesses

There you have it! Hopefully these designs are a help to other research groups looking to use corrective lenses alongside their 32 channel coil. Here's the link to the original Tinkercad design for those that are interested, but be aware that the design would still need to be beveled, duplicated and mirrored before it's ready. This Dropbox link contains the Blender file with the two finished pieces as well as stl files for each individual piece. I would suggest bookmarking the link since I plan on adding the designs for our mirror holders soon. So be on the lookout for those blog posts in the future as well!


#1 The merchant we purchased the interchangeable MRI-safe goggles from has since gone out of business, but a quick Google search returns other vendors with similar products.

#2 Technically you CAN create a beveling effect using some tricks but it is far more trouble than it's worth.

#3 It's easy enough to go back and alter the dimensions of the piece if need be -- that's what I did! The design was revised several times before I found the best fit. You may have to do this as well depending on the shape of the lenses you are using, just make sure you edit the areas that hold the lens and not the ones that secure the holder to the eye socket.

#4 The only 3D printer setting worth changing from whatever default you have is upping the infill to 100%. As with any print that gets handled quite often, you'll want them to be dense and sturdy so it can take a bit of abuse.

#5 If you're still having trouble with fitting thicker lenses then increase the height of the small square in the middle of the Tinkercad piece by a few millimeters until you find a value that works

Monday, July 16, 2018

Eye Tracking with Arrington

This blog post will cover the basic principles behind eye tracking, the customization done to our Avotec eye tracking system, and it’s use in conjunction with Arrington’s Viewpoint software to obtain simultaneous eye tracking data during an fMRI experiment.

Why collect eye tracking data?
The use of simultaneous eye tracking is common in vision fMRI experiments where frequent eye movements are expected, but it can also be a useful way to monitor alertness in your subject. Resting-state fMRI scans in particular, where it is generally assumed that the subject is awake with their eyes open, can benefit greatly from monitoring subject eye movement in real-time. Catching your subject asleep two minutes into a ten-minute EPI can be disheartening, but it’s better than finding out after the fact that you wasted 10 minutes and their data is unusable. (See Note 1)

How does eye tracking work?
In a typical system, near infrared (IR) light is used to produce corneal reflections that can be monitored and recorded by a camera, producing a time series of the pupil diameter for the target eye (See Note 2). For some applications, such as compliance with instructions during a resting-state scan, sufficient information may be obtained from a simple bore-mounted optical camera directed at the subject’s face. In either case, however, it is necessary to ensure that the monitoring system does not interfere with visual stimuli or other peripheral equipment essential for fMRI, a requirement that can be challenging in the cramped space in and around a typical MR head coil. The Avotec unit is not affected by these limitations because of its design, though we still modified the unit in order to optimize performance. Our EyeLink unit (which may be the subject of a future post) however did have to be heavily modified before it could even be used in our facility.

The Avotec RE-5601 Eye Monitoring System
Avotec’s system uses special mirrors that allow IR light to pass through the front of the carriage whilst simultaneously allowing the subject to view images on a rear-facing projector system. Their RE-5601 model has since been discontinued and replaced with the RE-5700 unit, so the modifications we’ve done may not be required/ideal/possible with that unit.

Figure 1 - Original Avotec mirror system (left) and the mirror system after our modifications (right)

The most obvious modification made was completely scrapping the carriage and re-making it in black nylon; which is a bit sturdier and the opacity eliminates ambient light interference. The green felt on the sides minimize unwanted reflections and the lens of the camera was replaced with an after market one from Avotec. Design changes were made to the separate camera stage so as to allow for a greater degree of freedom to adjust the camera and IR source independently of each other. The basic idea of Avotec’s design remains intact but the changes made led to a significant improvement in image quality and a reduction in setup time.

Figure 2 - Modified Avotec mirror and camera on 12 Ch. Siemens coil 
Figure 2 features the mirror system and camera attached to our 12 Ch. coil. The camera and IR source cables are wrapped in a protective plastic sheath to help minimize strain on the sensitive fiber optic cables. Although not common, it is also possible to use this mirror for non-eye tracking experiments by leaving the camera unit off.  Figure 3 shows our custom mirror for the 32 Ch coil. It’s the same basic idea, with a base to secure the camera and IR sources, but several other factors had to be considered when designing it to fit within the bore of the magnet.

Figure 3 - Modified Avotec mirror for 32 Ch. Siemens coil
The eye tracker interface unit sits on the side of the bore during experiments, see Figure 4. Nylon casings were fixed onto the connectors and an extended platform (where the camera is sitting in the photo) were added after several incidences of the unit being damaged and cables coming loose. This might seem like overkill, but sometimes it’s necessary for a piece of equipment that contains fiber optics and gets used as often as this.

Figure 4 - Eye tracking camera interface with support structure and modifications
Setting up the Avotec camera and recording
Even before we made any of our modifications, the Avotec system was quick to set up. The mirror slides easily into position on the coil and it is just a matter of finding the subject’s eye, focusing on it and adjusting the IR illumination to eliminate as much shadow as possible. The issue of shadows on the subject’s face can be a problematic source of frustration, however. Shadows cause the camera to lose sight of the subject’s eye, figure below, so adjusting to eliminate as much as possible from the get go is strongly recommended even though it can take some time and fine-tuning. Our modifications allow some adjustment to the camera and IR source, so I recommend allocating at least 10 minutes to eye tracking setup and optimization.  The position and lighting shown in the figure below is an accurate representation of the image quality required for obtaining proper eye tracking data.

Figure 5 - Example of excessive (left) and acceptable (right) shadow  
A video demonstration of both acceptable and unacceptable shadow can be seen by clicking on the corresponding links (see Note 3).

The Avotec unit came with Arrington’s Viewpoint software. Once the subject’s eye placement and illumination is within acceptable parameters (see Note 4), recording data is a simple matter of clicking a button at the start and at the end of a scan.  A calibration sequence should be performed often (see Note 5) and it’s recommended that each scan be recorded separately to keep the file sizes manageable. Figure 6 is a screenshot of the program and the sort of information that is displayed and collected. 

Figure 6 - Viewpoint software screenshot
Don’t forget Voltage Pro!
The final piece of the puzzle is easily one of the most important. Arrington also sells a separate add-on, though it should really come standard with the system, package called Voltage Pro that is absolutely essential for fMRI and eye tracking data.

Figure 7 - Voltage Pro Add-on
Once installed, Voltage Pro inserts a marker into the eye tracking data set every time it receives a TTL signal from the MRI equipment. This allows researchers to sync up eye tracking data to the start of data acquisition with relative ease, so long as the add-on is opened before recording starts.  Once data is collected it is saved as a .txt file, see below, that can easily be imported to other programs for analysis.

And that’s it! Hopefully this encourages more users to consider acquiring such useful data. While significant modifications were done to the unit, it is still quite recognizable as the same system. The same cannot be said, however, for the Eyelink unit that we purchased some years back. But that is a post for another day!

Note 1: An even worse scenario would be unknowingly using the sleepy subject data set in your study!

Note 2: Some eye trackers are capable of capturing data from both eyes. Our Avotec system does not have this option.

Note 3: These videos were intentionally taken before any calibration was done, since the primary focus was to showcase the issue of shadow, and I was unfortunately not able to zoom in on the image of the eye before posting. Because of this all information present on the screen other than the video image should be disregarded.

Note 4: From previous experience, research groups have their own parameters for what is and is not considered acceptable when acquiring eye tracking data.

Note 5: my recommendation is to run it before every scan, but time does not always allow for that.