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 Version History

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 (2021). MAGIC - MATLAB Generic Imaging Component (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (31)

Abdulrahman Dia

Zicong Wu

Demet Hanife

Andre Longtin

Arslan Javaid

Ritu Ranjan

mohsen Kondori

Inayat Ali


Really Thankful for your valuable contribution.

hadi Shebib

noam gridish

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?

Hysis Shepard

thank you!

Mark Hayworth

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 :)

bashir mohamed

Deepak Kumar

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...

Febin Benjamin

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

Dr Oluleye Babatunde

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


Pooja Deshmukh

Mohd Hanif


Sang Mai-Phuoc



Changqing Xu

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

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

Inspired by: export_fig

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!