Book Image

Image Processing with ImageJ

Book Image

Image Processing with ImageJ

Overview of this book

Digital image processing is an increasingly important field across a vast array of scientific disciplines. ImageJ's long history and ever-growing user base makes it a perfect candidate for solving daily tasks involving all kinds of image analysis processes. Image Processing with ImageJ is a practical book that will guide you from the most basic analysis techniques to the fine details of implementing new functionalities through the ImageJ plugin system, all of it through the use of examples and practical cases. ImageJ is an excellent public domain imaging analysis platform that can be very easily used for almost all your image processing needs. Image Processing with ImageJ will start by showing you how to open a number of different images, become familiar with the different options, and perform simple analysis operations using the provided image samples. You will also learn how to make modifications through ImageJ filters and how to make local measurements using the selections system. You will also find the instructions necessary to record all the steps you perform so they can be saved and re-run on the same image to ensure analysis reproducibility. Finally, you will get to know some different ImageJ plugins and will learn how to implement your own.
Table of Contents (13 chapters)
Image Processing with ImageJ
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Preface

Welcome to Image Processing with ImageJ. Whether you are new to the world of image processing or an advanced researcher, we hope you will enjoy reading this book and find it useful for your analytic tasks.

The ImageJ imaging analysis software is becoming increasingly used among a vast array of different disciplines. As its user interface is far from a spectacular’s view, a novel user may feel there are only a few things that this amazing program can add to its daily tasks. However, once the ImageJ basics are understood, it becomes a basic device in the toolbox of any scientist who needs to work with images on a daily basis.

This book covers briefly many basic image operations in ImageJ, and then proceeds to more complicated topics: advanced regions of interest delineation and management, filtering in spatial and frequency domains, or particle analysis.

One of the powers of ImageJ is the possibility of automating the different operations, so they can be replicated easily or applied to a large number of different images. This macro system is explained in detail through several exercises that help in showing the reader the potential of this system.

As ImageJ is a public domain software, many developers have contributed their own plugins in order to extend what ImageJ can do by itself. The last two chapters are dedicated to this topic from the perspective of the user who just wants to install new plugins, with a list consisting of our own selection, and also from the point of view of the developer who wants to use ImageJ as the platform to build powerful tools.

Independently of your background and objective, we hope this book has something for you.

What this book covers

Chapter 1, Getting Started with ImageJ, introduces the ImageJ image analysis platform and guides the reader through the installation process.

Chapter 2, Basic Image Processing with ImageJ, introduces the concept of digital image and the different types of data that ImageJ can handle, and then presents the intensity histogram and some basic image operations.

Chapter 3, Advanced Image Processing with ImageJ, describes more advanced imaging analysis techniques, such as modifying the pixel values of different images and performing local measurements. It also covers image filtering in the spatial and frequency domains.

Chapter 4, ImageJ Macros, presents one of the most powerful features of ImageJ: its macro system. Here we introduce this concept and show the reader how different operations can be automatized by giving several examples.

Chapter 5, ImageJ Plugins for Users, is used to explain how ImageJ can be extended very easily. There are literally hundreds of different plugins that extend its native features. In this chapter, we explain the ImageJ plugin system from the point of view of a user who does not necessarily need to know how to program. We perform a sample installation and list some plugins that we have found useful.

Chapter 6, ImageJ Plugins for Developers, is addressed for you if you are a developer. You might not just want to stop at using whatever plugins others have coded for you, but might want to try and implement your own algorithms. We explain briefly the ImageJ plugin architecture, the main classes that you will have to deal with, and how to integrate ImageJ with Eclipse, a very powerful Java IDE.

What you need for this book

There is not much material needed in order to follow this book. As ImageJ is a multi-platform public domain software package coded in Java, you just need a desktop computer or a laptop, optionally with the latest Java version installed. And if you don’t have it, don’t worry too much, as ImageJ can provide it for you.

In order to follow the last sections of the sixth chapter, you will also need the Eclipse IDE installed on your system. Please remember that this chapter is aimed at people with prior programming experience, so if that is not your case, you will not need it.

Also, you will probably need some images to keep practicing, apart from the ones we already provided, but that is up to you.

Who this book is for

This book is intended for everyone who does scientific work with images and is interested in knowing what can be achieved with ImageJ. The introductory part is a very broad introduction to the field of digital image processing, while the latter chapters are devoted to more complex analysis techniques in addition to an introduction to the macro and plugin system, that we hope will clarify these concepts to everyone interested in automating their analysis procedures or implementing their own image analysis algorithms. We have tried to accomplish a good balance between a step-by-step guide for non-advanced users and a nice introduction for developers who might want to use ImageJ as the development platform of their choice.

Conventions

In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.

Code words in text are shown as follows:

You can also send the .class files that will be placed in your plugins directory.

A block of code is set as follows:

run(“Split Channels”);
selectWindow(“tuberculosis_full.tif (blue)”);
close();
selectWindow(“tuberculosis_full.tif (red)”);
close();
selectWindow(“tuberculosis_full.tif (green)”);
run(“Subtract Background...”, “rolling=30”);

New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: “It can be done, as the error message states, by navigating to the Options | Memory & Threads command from the menu”.

Note

Warnings or important notes appear in a box like this.

Tip

Tips and tricks appear like this.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.

To send us general feedback, simply send an e-mail to , and mention the book title through the subject of your message.

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.

Customer support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Downloading the example code

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 files e-mailed directly to you.

Errata

Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the errata submission form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded to our website, or added to any list of existing errata, under the Errata section of that title.

Piracy

Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.

Please contact us at with a link to the suspected pirated material.

We appreciate your help in protecting our authors, and our ability to bring you valuable content.

Questions

You can contact us at if you are having a problem with any aspect of the book, and we will do our best to address it.