An image analyzer for sorting and pre-processing the microstructure images of high temperature ceramic coatings. The LHT_ImageAnalyzer is an application that follows a wizard-like layout to pre-process the microstructure images (can also be used on any other pictures) for better oxide/phase detection. Challenges addressed during Microstructure analysis:
- Automatically Read magnification based on OCR.
- Sort the images into different folders
- Crop the region of interest (individually or collectively)
- Apply the contrast and brightness enhancements
- An intuitive 'pick colour' based brightness control is applied across the whole image for better uniformity during pore detection
- Finally, the files are viewed on a clickable file tree to track the applied changes easily and view them across directories.
- We connected the application to the Fiji-ImageJ standalone package (not included) to do further complex processing and analysis, including pore percentage calculation.
A detailed presentation of all the functions of the application (as ppt) is given here: https://www.slideshare.net/secret/3ffgmSchNwmutf (please contact me directly for a ppt with better image quality)
Installation:
- Place the portable "Fiji.app" (https://imagej.net/software/fiji/downloads) and "Tesseract-OCR" (https://osdn.net/frs/g_redir.php?m=acc&f=tesseract-ocr-alt%2Ftesseract-ocr-3.02-win32-portable.zip) in ~\Application
- The requirements.txt has the modules to install in a new python environment before running the code
- The source directory has some example images to try
- The images will be automatically moved to destination directory through out the course of the running. Please return them to source directory before testing again
Report on latest bugs:
- There is a keyboard interrupt exception during sudden program termination (within the console or pycharm). This is most probably due to the lack of implementing a signal catching for the interrupt key combination: https://keyboardinterrupt.org/catching-a-keyboardinterrupt-signal/
- The support for xlsx file has been depreciated during the read operation using xlrd package. So, it had to be downgraded to 1.2.0 for the program to run. An alternative is to use openpyxl: https://openpyxl.readthedocs.io/en/stable/.