Building an affordableversion of medicine's mostpowerful diagnostic tool.

Who we are

We are a group of ~15 undergraduate MIT students building a low-field MRI scanner from scratch. We are following the open-source MRI4ALL design and adapting it as we go.

Our goal is to build a working scanner that costs 100x less than the typical hospital scanner, which costs millions. Long term, we hope to use our process and the scanner we build as a launchpad for future research and education. We also hope to become a community for all students interested in making medical imaging more accessible and learning about the full stack — electrical, mechanical, and software/ML engineering.

Why a cheaper MRI?

  1. 01

    Catching disease early

    Most serious diseases are treatable if they're caught early. However, symptoms often show up late, and the scans that could have caught them sooner are too expensive.

  2. 02

    Why MRI

    MRI is the best way to see soft tissue like the brain, organs, and tumors. It also doesn't use any radiation, unlike CT or X-ray, so there's no limit on how often someone can be scanned. The main reason it isn't used for routine screening is the cost.

  3. 03

    Where low-field comes in

    A hospital MRI costs millions of dollars, not to mention it also needs a shielded room and liquid helium. We plan to build a permanent-magnet scanner, which costs a fraction of the price and doesn't come with significant size or material constraints. The tradeoff is image quality, since low-field scans are much noisier. We think better reconstruction, including ML methods, can make up for that.

Subteams

  • Schematic of an MRI transmit/receive switch: crossed diodes from the transmitter, a quarter-wave network guarding the receiver, and the tuned coil

    Hardware

    • Data acquisition
    • RF transmit and receive
    • FPGA pulse sequencing
  • def centered_ifft2(y):    return np.fft.fftshift(np.fft.ifft2(np.fft.ifftshift(y), norm='ortho')) def kspace_center_correction(kspace):    index_max = np.argmax(np.abs(kspace))    max_index_2d = np.unravel_index(index_max, kspace.shape)    h,w,z = kspace.shape    move_h = h//2 - max_index_2d[0]    move_w = w//2 - max_index_2d[1]    kspace = np.roll(kspace, (move_h,move_w,0),axis=(0,1,2))    return kspace

    Software

    • Reconstruction
    • Post-processing
    • Console and tooling
  • CAD render of the MRI4ALL scanner's magnet assembly: stacked rings around the bore, seen from the front

    Mechanical

    • Magnet array
    • Frame and housing
    • Coil formers
  • Wire pattern of a Halbach-system X-gradient coil unrolled from its cylinder: four nested-loop lobes, alternating current direction

    Gradients

    • Gradient coil design
    • Power amplifiers
    • Field mapping

Supported by

  • Hudson River Trading
  • Citadel Securities
  • Athinoula A. Martinos Imaging Center at the McGovern Institute