Second Level Analysis - Object Classification (introducing IF-ELSE)
Condition Testing (IF - ELSE - ELSE IF)
Macro Project - Part 7: Object Classification Example
Macro Project - Part 8: Analysis Fine Tuning and Saving Remaining Data
File and Batch Processing
Introduction to Arrays
Simple File Reader using Arrays
Processing Decisions for Relevant Files (and Folders)
Macro Project - Part 9: Create a Basic File Processor
Writing Reusable Code - Custom Functions
Learning Functions over a Coffee
Macro Project - Part 10: Creating a Flexible File Processor
Combining Analysis and Batch Processing
Macro Project - Part 11: Marriage of File Processor and Analysis
Fine Tuning Macros
The WHILE Loop
Macro Project - Part 12: Unique Output Folders and Convenience Improvement
Saving Tables Options (Exporting Excel Tables)
Saving Excel Tables (using Macro Extensions)
Adding Images to Excel Tables
Adding Custom Dialogs
Dialogs - Part 2: Different Dialog Types in Fiji
Generic Dialogs
Dialogs via Scripting Parameters
Final Macro Download
Bonus Lessons
Creating Date Stamps for Saving
Create Reusable Macros and your own Macro Library
Creating your own Menu
Creating Macro Tool Menus with Icons
Batch Processing Bio-Formats >160 File Type
ImageJ Macro Scripting for Automatic Image Analysis
ImageJ Macro Scripting
The ImageJ Macro Language
What is the difference between an ImageJ Macro and Plugin ?
Plugins are usually considered being written in ImageJ's core programming language - Java. This is not 100% strict, since plugins can also be written in scripting languages, such as JavaScript, Groovy, Ruby, Beanshell, ... If written in Java, plugins are not simple to be adapted or changed by the standard ImageJ user. If written in a scripting language, the afford is less to access and adapt a plugin. Macros are written in ImageJ's specific macro language. This is an internal small scale scripting language that links back to Java commands inside ImageJ and is therefore a little bit slower than the actual plugins itself (but hardly noticeable).
Is is worth learning it, since it is ImageJ specific ?
You would not be here if you would not consider that already and my opinion is... definitely YES! If you work a lot with image analysis and ImageJ, it is a super asset, flexible and versatile enough allowing you to automate pretty much everything in ImageJ. It is super easy to learn and a good starting point to learn more complex scripting or programming languages such as Python or Java. Especially, if you script image analyses not only for yourself but automate for your colleagues, users of your facility or even commercially for industry it serves. Advantage is that even your users or clients can later on adapt things without the absolute dependency on you.
ImageJ Macro Scripting Macros in ImageJ / Fiji, besides their relative simplicity compared to full-fledged programming or versatile scripting languages like C++, Java or Python are a very powerful tool. Macros make image editing, processing and analyses reproducible, repeatable, reduce user bias and errors while keeping error rates more constant over complete experiments. Additionally, they foster the FAIR principle in scientific data management. FAIR stands for Findability, Accessibility, Interoperability, and Reuse of data.
Macros help to:
Image editing tasks can be reported and reproduced
Even small image processing steps can be speed up massively
Image processing, analysis and data storing tasks can be streamlined.
To get into macros the best start is the ImageJ Macro Recorder which can be started via Plugins > Macros > Record....
Image Analysis Forum The potentially most powerful resource is the actual image analysis community for the complete universe of uncountable scientific image analysis software. Since ImageJ and Fiji is one of the oldest and most used software, there are many experts around which can help you in case you get stuck with an analysis task or a specific macro.