Inspiration
MRIs play a huge role in detecting the location of a brain tumor, but it is not always clear where the tumor area is. MRIs usually have a lot of noise in the image, and it is important to be able to process the image and identify exactly where the tumor is located. A lot of radiologists need further computer-aided technology to do this!
What it does
This tool takes in an image of an MRI scan, and uses various algorithms and functions to iterate through the pixels of the image and convert it to a cleaner, black and white image highlighting the specific area of the tumor. To write the code for this functionality, I had to code a grayscale filter to convert the image to grayscale, then code a median filter to reduce noise in the image, and lastly convert it to black and white. Another aspect I added was a function to determine if the tumor is a Meningioma, which means that it forms on the membranes that surround the brain. This function returns true or false depending on if the image is of a meningioma or not.
How we built it
I built this using the AP Image class and GUI Window feature of Java (using Eclipse). I created two classes, an Image Processor class with functions and an Image Processor Driver class to actually control user input and run the whole program. I used the Scanner class to take in user input (they can choose the filenames or they can choose to enter "q", which will end the program).
Challenges we ran into
To create this tool, I had to do a lot of research. I looked at previous research papers and identified how images were manipulated to make an MRI scan clearer. I had to figure out an algorithm to identify the Meningioma. The functionality right now only checks for Meningioma on the left side of the brain. Essentially, a variable "measure" is set to 1/6 of the image's width, and since a Meningioma is attached to the membrane, the code checks for continuous white pixels within the "measure" unit to actually identify a Meningioma.
Accomplishments that we're proud of
I am proud of getting to tool to work and successfully figuring out adding user input!
What we learned
I learned how to use the AP Image class to iterate through an image and change the RGB values of the pixels to apply a specific filter. I also better understood how image filters work!
What's next for Team A - Image Processing on MRIs
I want to further develop this tool by perfecting my Meningioma tool! I also want to make the interface more user-friendly by making it an actual app interface! I mostly focused on the backend and functionality, so in the future, I will add to the frontend aspects.
Log in or sign up for Devpost to join the conversation.