File Exchange

image thumbnail

MAGIC - MATLAB Generic Imaging Component

version (588 KB) by Mark Hayworth
Tutorial GUI to demonstrate basic functionality of various controls on the GUI


Updated 24 Oct 2017

View License

This GUI will help the novice user get up to speed very quickly on using GUI-based applications. Everything is laid out in a very simple Step 1, Step 2, Step 3, etc. layout. It is a very good starting point for a typical image or data file analysis application. This application uses GUIDE to do the user interface design, and has most of the basic controls such as buttons, listboxes, checkboxes, radio buttons, scrollbars, etc. It allows the user to select a folder of images (or other data files), select one or more images or files and display them, to specify a series of options, and to individually or batch process one or more images or data files. The results are optionally sent to Excel. To customize/adapt this GUI, the user should replace the simple demo code (msgbox, etc.) in the function AnalyzeSingleImage() with their own code. Works with Windows or Unix since paths are all forward slashes. The LoadImageList() and DisplayImage() function could be adapted to list and display any type of data file (not just images), for example open CSV files and display them as bar charts or line plots.

Cite As

Mark Hayworth (2020). MAGIC - MATLAB Generic Imaging Component (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (28)

Ritu Ranjan

Inayat Ali


Really Thankful for your valuable contribution.

hadi Shebib

AJ Geiger

Very Interesting if you can see if you can integrate my toolbox into your GUI

Sebastian B

Perfect time for that update, thank you!


Thanks for sharing the tutorial. I am using R2012B, but I believe this should not be a problem (most of the code runs). However, when testing histogram I am getting an error:

About to plot histogram...
Error in function PlotRGBHistograms.
Error Message:
Undefined function 'SetImageVisibility' for input arguments of type 'struct'.

Can't find references to SetImageVisibility in Matlab's docs. This would help to understand the tutorial. Where can I find some documentation on SetImageVisibility?

Btw: this link ( has the code; is this THE version?

thank you!

bhanai, you replace that simple demo code in the function AnalyzeSingleImage() with your own code. In other words, replace the message box that says "Now is when it would be running your custom code" with whatever custom code you want it to execute instead.


how to link this code with my coding sir??


Sorry for my wrong comment :)

ramin bba

Yogesh Babu

This is nice code!!
I used an image to find the area of the object.But in the excel file Area of the each object is shown.It would like to plot number of occurrence of same object size in graph...

Amazing work! Works just fine.... Kudos!

This is a nice code and great efforts must have been put in to get this done.
This is a good contribution to knowledge.


Mohd Hanif




Great! A nice display on how to use gui to play vedio


Updated and made sure it works with R2017b. Still uses set() and get(), instead of modern OOP syntax, so it should still work for those of you with versions older than R2014b.

Got rid of masking and image analysis to make it simpler for beginners.

Updated to add colorbars and renamed from magic to magic_gui to avoid conflict with built-in MATLAB magic() function.

Added vertical and horizontal scroll bars.

MATLAB Release Compatibility
Created with R2017b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: export_fig