You are previewing Image Processing with ImageJ - Second Edition.
O'Reilly logo
Image Processing with ImageJ - Second Edition

Book Description

Extract and analyze data from complex images with ImageJ, the world’s leading image processing tool

About This Book

  • Design automated image-processing solutions and speed up image-processing tasks with ImageJ

  • Create quality and intuitive interfaces for image processing by developing a basic framework for ImageJ plugins.

  • Tackle even the most sophisticated datasets and complex images

  • Who This Book Is For

    The book has been created for engineers, scientists, and developers eager to tackle image processing with one of the leading tools available. No prior knowledge of ImageJ is needed. Familiarity with Java programming will be required for readers to code their own routines using ImageJ.

    What You Will Learn

  • Install and set up ImageJ for image processing.

  • Process images using ImageJ’s built-in tools

  • Create macros to perform repetitive processing tasks

  • Set up and use an integrated development environment for ImageJ plugins

  • Create plugins with a user-friendly interface for processing

  • Use established ImageJ plugins for processing and quantification

  • Generate a simple interface based on a real world example and create other interfaces for other projects

  • Speed up interface development by setting multiple parameters interactively

  • In Detail

    Advances in image processing have been vital for the scientific and technological communities, making it possible to analyze images in greater detail than ever before. But as images become larger and more complex, advanced processing techniques are required. ImageJ is built for the modern challenges of image processing – it’s one of the key tools in its development, letting you automate basic tasks so you can focus on sophisticated, in depth analysis.

    This book demonstrates how to put ImageJ into practice. It outlines its key features and demonstrates how to create your own image processing applications using macros and ImageJ plugins. Once you’ve got to grips with the basics of ImageJ, you’ll then discover how to build a number of different image processing solutions. From simple tasks to advanced and automated image processing, you’ll gain confidence with this innovative and powerful tool – however and whatever you are using it for.

    Style and approach

    A step-by-step guide to image processing and developing macros and plugins in ImageJ. The book will progress from using the built-in tools to macros and finally plugins for image processing.

    Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

    Table of Contents

    1. Image Processing with ImageJ Second Edition
      1. Table of Contents
      2. Image Processing with ImageJ Second Edition
      3. Credits
      4. About the Authors
      5. About the Reviewer
      6. www.PacktPub.com
        1. Support files, eBooks, discount offers, and more
          1. Why subscribe?
          2. Free access for Packt account holders
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
      8. 1. Getting Started with ImageJ
        1. ImageJ distributions
        2. The uses of ImageJ
        3. The current state of ImageJ
          1. ImageJ2
          2. SciFIO and OME-XML
          3. Bio-formats
        4. Integrated environment for acquisition and processing
        5. Obtaining and installing ImageJ
          1. Installation of ImageJ
          2. Installing on Windows
          3. Installing on Mac OS X
          4. Installing on Linux
        6. The ImageJ folder structure
          1. Plugins folder
          2. Macros folder
        7. Configuring a fresh ImageJ installation
        8. Summary
      9. 2. Basic Image Processing with ImageJ
        1. Images in ImageJ
          1. Image types
            1. Grayscale images
            2. Color images
          2. Stacks and hyperstacks
            1. Color images and multichannel stacks
            2. Z-stack images and volumes
            3. Time series
            4. Multidimensional images
          3. Extracting image and pixel information
          4. Loading and saving images
            1. Loading images and sequences
            2. Saving images
          5. Image calibration
          6. Viewing images in ImageJ
            1. Viewing multichannel images
            2. Viewing time series
        2. Summary
      10. 3. Advanced Image Processing with ImageJ
        1. Correcting images
          1. Technical background
          2. Correcting Shot noise
          3. Correcting dark noise
          4. Uneven illumination – background subtraction
          5. Image normalization
          6. Bleach correction
        2. Stack processing
          1. Processing Z-stacks
            1. Stack projections
              1. Maximum projection
            2. Volume viewing and rendering
          2. Processing time series
          3. Normalizing time series data
        3. Summary
      11. 4. Image Segmentation and Feature Extraction with ImageJ
        1. Image segmentation
          1. Image thresholding
            1. Thresholding grayscale images
            2. Thresholding color images
        2. Morphological processing
          1. Morphological operators
            1. Erode and dilate
            2. Skeletonize and watershed
        3. Image filtering
          1. Filtering in the frequency domain
          2. Image filtering in the spatial domain
        4. Feature extraction
          1. Edge detection
        5. Summary
      12. 5. Basic Measurements with ImageJ
        1. Selections and regions in ImageJ
          1. Area selections
          2. Line selections
          3. Point selections
        2. Basic measurements
          1. Area selections and measurements
            1. Oval selections
            2. Polygon selections
          2. Line selections and measurements
            1. Kymographs
            2. Line profiles
        3. Colocalization
          1. Semiquantitative colocalization
        4. Particle analysis
          1. Preprocessing and preparations
        5. Summary
      13. 6. Developing Macros in ImageJ
        1. Recording macros
          1. Recording a macro for conversion
        2. Modifying macros
          1. User input in macros
            1. Opening a specific file
            2. Saving an image to a folder
            3. Adding choices
            4. Performing input checking
        3. Showing progress in macros
          1. Processing the time series
        4. Running macros in batch process mode
        5. Installing macros
        6. Summary
      14. 7. Explanation of ImageJ Constructs
        1. Frameworks for macros and plugins
          1. Macros and scripting languages
            1. BeanShell scripting
              1. ImageJ main class
              2. Functions to process images
              3. Functions for selections
            2. Saving and running your scripts
          2. Plugins for ImageJ
            1. ImageJ main class
            2. WindowManager
            3. ImagePlus
            4. ImageProcessor
            5. RoiManager
            6. The Roi class
        2. The Application Programming Interface
        3. Setting up NetBeans IDE
          1. Gathering all components
          2. Setting up a project
          3. Building ImageJ
          4. Creating a plugin
          5. Creating documentation
            1. ImageJ Javadoc
            2. Plugin Javadoc
          6. Developing plugins using Maven
            1. Construction of the POM
            2. Creating a Maven plugin project
            3. Creating an ImageJ2 plugin
          7. Pros and cons of using an IDE
        4. Summary
      15. 8. Anatomy of ImageJ Plugins
        1. The basic anatomy of a plugin
          1. Legacy plugins
            1. The PlugIn type
            2. The PlugInFilter type
            3. The PlugInFrame type
            4. Implementing a legacy plugin
            5. Combining macros and legacy plugins
          2. SciJava plugins
            1. The @Plugin annotation
            2. Services
            3. Commands
        2. Running and debugging plugins
          1. Compiling plugins
            1. Compiling SciJava plugins
          2. Debugging plugins
        3. Examples of available plugins
          1. Example plugins available in ImageJ and Fiji
            1. MultipleKymograph
            2. ColorTransformer2
            3. MtrackJ
            4. Coloc2
            5. Goutte_pendante
        4. Summary
      16. 9. Creating ImageJ Plugins for Analysis
        1. Plugin background and goal
        2. Basic project setup
        3. Creating a basic PlugInFilter
          1. Testing our current implementation
          2. Implementing the setup method
            1. The return type and autocomplete
            2. Javadoc for methods
            3. Finishing the setup method
          3. Implementing the run method
            1. Detecting an object
            2. Refining the detection
            3. Detecting multiple objects
          4. Implementing the measurements
        4. Adding user interaction and preferences
          1. Settings and options dialog
        5. Adding external libraries
          1. Adding the dependency for Apache POI
          2. Creating an Excel file
        6. Sharing your plugin
          1. Creating a site
          2. Uploading your plugin
        7. Summary
      17. 10. Where to Go from Here?
        1. Basic development
        2. Additional tools
        3. Project management and feedback
        4. Other resources
        5. Summary
      18. Index