hands-on morphological processing using the max-tree data...

89
SIBGRAPI 2016 Hands - on Morphological Processing using the Max - tree Data Structure BY ROBERTO SOUZA, LUIS TAVARES, LETÍCIA RITTNER AND ROBERTO LOTUFO OCTOBER 2016 School of Electrical and Computer Engineering University of Campinas

Upload: others

Post on 01-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

SIBGRAPI 2016

Hands-on Morphological Processing using the Max-tree

Data Structure

BY

ROBERTO SOUZA, LUIS TAVARES,LETÍCIA RITTNER AND ROBERTO LOTUFO

OCTOBER 2016

School of Electrical and Computer Engineering University of Campinas

Page 2: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

1. Introduction

2. Basic concepts

3. Max-tree and component Tree

4. Max-tree array-based representation

5. Max-tree signature analysis

6. Interactive max-tree tool

7. Applications

8. Conclusions

Outline

2

Page 3: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

1.1. Context● The max-tree is a data structure that represents all

connected components resulting from all upperthresholds of an image;

● It is a powerful structure that has been used in manyapplications such as segmentation, feature extraction,filtering, remote sensing…;

● It has also been used in interactive applications;

● The target audience of this tutorial are students andresearchers interested in mathematical morphology andits application to image processing and machine learningproblems.

31.Introduction

Page 4: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

1.2. Tutorial Goals● Introduce the tutorial participants to the max-tree data

structure;

● Present the iamxt toolbox. A max-tree toolbox thatcontains efficient implementations of many max-treeprocessing and visualization routines;

● Present the max-tree interactive tool;

● Introduce a methodology for developing automaticapplications using the max-tree.

41.Introduction

Page 5: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

1.3. Tutorial Environment● The tutorial will be developed at Adessowiki

(http://adessowiki.fee.unicamp.br/adesso) an onlinecollaborative environment.

● The hands-on portion of the tutorial will be build uponthe iamxt toolbox available at GitHub(http://github.com/rmsouza01/iamxt).

● The environment will be available for the participantsuntil December 4th, 2016.

51.Introduction

Page 6: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

1. Introduction

2. Basic concepts

3. Max-tree and component Tree

4. Max-tree array-based representation

5. Max-tree signature analysis

6. Interactive max-tree tool

7. Applications

8. Conclusions

Outline

6

Page 7: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

2. Basic Concepts

2.1. Grayscale ImageDefinition: It is a function:

𝑰 𝒛 : 𝑬 → {𝟎,… , 𝒌}, 𝑬 ⊂ ℵ𝟐 𝒂𝒏𝒅 𝒌 ∈ 𝚭

7

Figure. Grayscale image.

● Low values are black, darkgray;

● High values are bright gray,white;

Page 8: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

2. Basic Concepts

2.2. Binary ImageDefinition: It is a function:

𝑰 𝒛 : 𝑬 → {𝟎, 𝟏}, 𝑬 ⊂ ℵ𝟐

8

Figure. Binary image.

● 0 → black;

● 1 → White;

Page 9: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

2. Basic Concepts

2.3. Threshold

9

● Upper threshold: 𝜒ℎ≥ = ቊ

1 𝑖𝑓 𝐼(𝑧) ≥ ℎ0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

● Lower threshold: 𝜒ℎ< = ቊ

1 𝑖𝑓 𝐼 𝑧 < ℎ0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

Figure. Left to right: original image, upper threshold, lower threshold.

Page 10: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

2. Basic Concepts

2.3. Connectivity and Connected components

10

Figure. Connectivity 4 (right) and connectivity 8 (left).

Figure. Connected component illustration.

How many CCs are in the figure above?

Page 11: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

2. Basic Concepts

2.4. DefinitionsDefinition – flat zone- are connected components defined by pixels of the same gray-level.

Definition - threshold set - The threshold set is the set of connected components {𝐶ℎ,1, 𝐶ℎ,2, … , 𝐶ℎ,𝑛𝑐𝑐 }.

Definition – Partition – A partition P of a set X is a set of nonempty subsets of X, such that every element x in X is in exactly one of these subsets.

P X = X0, X1, Xn−1 , Xi∩ Xj = ∅, i ≠ j

X = X0 ∪ X1 ∪⋯∪ Xn−1

11

Page 12: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

2. Basic Concepts

2.4. DefinitionsDefinition - Image ordering - f z ≤ I z , ∀z

Definition – anti-extensive filter –𝝍 𝑰 ≤ 𝑰, ∀𝑰

Definition – Connected filter – is a filter in which thepartition of the input image flat zones is always finer thanthe partition of the filtered image.

𝑃𝐼 ⊆ 𝑃𝜓 𝐼 , ∀𝐼

12

Page 13: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

2. Basic Concepts

2.4. DefinitionsDefinition – extinction value- consider M a regional maximum of an image I, and Ψ(ψλ)λ is a family of decreasing connected anti-extensive transformations. The extinction value ϵΨ(M) is given by:

ϵΨ M = sup{λ ≥ 0|∀μ ≤ λ,M ⊂ Max(ψμ i )}

Extinction values are a measure of persistence of extrema.

13

Page 14: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

1. Introduction

2. Basic concepts

3. Max-tree and component Tree

4. Max-tree array-based representation

5. Max-tree signature analysis

6. Interactive max-tree tool

7. Applications

8. Conclusions

Outline

14

Page 15: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

3. Max-tree and component tree

3.1. Component TreeThe component tree is a structure for image representationthat represents every connected component of everypossible threshold of the image.

It is an efficient structure for implementing connected anti-extensive filters and by duality extensive filters.

It provides an attribute signature as means ofdiscriminating features in the image .

15

Page 16: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

3. Max-tree and component tree

3.1. Component Tree

16

Figure. Image I = [0,5,2,4,1,1,4,4,1,0] (bottom) and component tree construction (top).

Page 17: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

3.2. Max-treeIt is a compact structure for the component tree representation.

17

Figure. Image I = [0,5,2,4,1,1,4,4,1,0] (bottom) and max-tree construction (top).

3. Max-tree and component tree

Page 18: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

3.3. Component Tree vs Max-tree

18

Figure. Component tree (left) and max-tree (right) of the image I = [0,5,2,4,1,1,4,4,1,0].

3. Max-tree and component tree

Page 19: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

3.4. Filtering the max-tree

19

Figure. Max-tree filtering pipeline.

3. Max-tree and component tree

Pruning strategies Non-pruning strategies

Page 20: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

3.5. Area open filter

203. Max-tree and component tree

A = 20

Input Filter result

𝝉𝟏 = 𝝍𝑨 𝝉𝟎 = 𝒊 ∈ 𝝉𝟎 𝑨𝒓𝒆𝒂 𝒊 ≥ 𝑨 }

Figure. Illustration of the area open filter.

Page 21: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

3.5. Area open filter

21

𝝉𝟏 = 𝝍𝑨 𝝉𝟎 = 𝒊 ∈ 𝝉𝟎 𝑨𝒓𝒆𝒂 𝒊 ≥ 𝑨 }

A = 200

Input Filter result

3. Max-tree and component tree

Figure. Illustration of the area open filter.

Page 22: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

3.6. Extinction filter

22

𝝉𝟏 = 𝝍𝑵𝑳,𝑬𝑿(𝝉𝟎)

Preserves relevantmaxima.

• NL: number ofleaves to bepreserved.

• EX: extinctionvalues of thevolume attribute.

3. Max-tree and component tree

A CB

Figure. Illustration of the extinction filter.

Page 23: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

3.6. Extinction filter

23

𝝉𝟏 = 𝝍𝑵𝑳,𝑬𝑿(𝝉𝟎)

Preserves relevantmaxima.

• NL: 3 leaves.

• EX: extinctionvalues of thevolume attribute. Input Filter result

3. Max-tree and component tree

Figure. Illustration of the extinction filter.

Page 24: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

1. Introduction

2. Basic concepts

3. Max-tree and component Tree

4. Max-tree array-based representation

5. Max-tree signature analysis

6. Applications

7. Conclusions

Outline

24

Page 25: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

4.1. Array-based representationThe max-tree representation we are going to use is array-based and node-oriented;

It consists of two arrays: node array (NA) and node index (NI);

NA is ordered in a way it is easier to perform tree traversals;

NA minimally stores the parent relationship of the max-tree nodes and the gray level of each node. It can also store other attributes like area, bounding-box coordinates,...;

254. Max-tree array-based representation

Page 26: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

4.1. Array-basedrepresentation

26

Image

Figure. Left to right: sample image. NA/NI max-tree representation of the sample image , and the node oriented max-tree illustration (node ID: h [area]).

Root toleaves

direction

4. Max-tree array-based representation

Page 27: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

4.2. iamxt ToolboxDeveloped by our research group with state-of-the-art algorithms;

Accepts 2D and 3D images of integer type;

Developed in Python/NumPy, loops optimized in C++ and wrapped with SWIG.

274. Max-tree array-based representation

Page 28: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

4.2. iamxt Toolbox

28

Figure. Class diagram of the iamxttoolbox.

4. Max-tree array-based representation

Page 29: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

4.2. iamxt Toolbox

29

Line index Attribute

0 par

1 nchild

2 Level

3 area

4 seed

5 sumx

6 xmin

Line index Attribute

7 xmax

8 sumy

9 ymin

10 ymax

11 sumz

12 zmin

13 zmax

Table. Attributes stored in node array of the iamxt toolbox.

4. Max-tree array-based representation

Page 30: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

4.2. iamxt Toolbox

30

Code fragment. Max-tree construction example.

4. Max-tree array-based representation

Page 31: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

4.2. iamxt Toolbox

31

Code fragment. Maximal max-tree simplification methodology.

4. Max-tree array-based representation

Page 32: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

4.2. iamxt Toolbox

32

Figure. (a) Original image. (b) Result of the area extinction filter set topreserve 8 leaves. (c) Result of the maximal max-tree simplification filter.

4. Max-tree array-based representation

Page 33: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

4.2. iamxt Toolbox

33

Figure. Max-tree after applying the maximal max-tree simplification methodology.

4. Max-tree array-based representation

Page 34: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

4.2. iamxt Toolbox

344. Max-tree array-based representation

Figure. Sample images.

Dimensions Construction Filtering Restitution Total

256x256 17.7 1.7 0.08 19.5

512x512 72.7 2.6 0.3 75.6

1024x1024 216.7 4.3 1.3 222.3

Table. Average iamxtprocessing times in

miliseconds.

Page 35: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

1. Introduction

2. Basic concepts

3. Max-tree and component Tree

4. Max-tree array-based representation

5. Max-tree signature analysis

6. Interactive max-tree tool

7. Applications

8. Conclusions

Outline

35

Page 36: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

5.1. Signature AnalysisThe max-tree signature consists in analyzing an attribute variation starting at a leaf node and going towards the root.

36

Figure. Brain MR image (left) and its area signature (right).

5. Max-tree signature analysis

Page 37: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

5.1. Signature Analysis

37

Figure. Node reconstruction before the sudden drop in the area signature value (right) and node reconstruction after (left).

5. Max-tree signature analysis

Page 38: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

1. Introduction

2. Basic concepts

3. Max-tree and component Tree

4. Max-tree array-based representation

5. Max-tree signature analysis

6. Interactive max-tree tool

7. Applications

8. Conclusions

Outline

38

Page 39: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.1. Context

39

Simple synthetic image

Resulting max-tree with 9 nodes.

6. Interactive max-tree tool

Figure. Max-tree of a simple synthetic image.

Page 40: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.1. Context

40

Max-tree

Simple synthetic image

Resulting max-tree in dendrogram.

6. Interactive max-tree tool

Max-tree of a simple synthetic image.

Page 41: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.1. Context

41

Simple synthetic image

Resulting max-tree in graph format

Max-tree

6. Interactive max-tree tool

Figure. Max-tree of a simple synthetic image.

Page 42: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.2. Motivation

42

Complete max-tree

~41000 nodes512 x 512 pixels

6. Interactive max-tree tool

Figure. Max-tree of a natural image.

Page 43: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.2. Motivation

43

● The development of a method to view a significantgraphic representation of the max-tree;

● The development of interactive features to enablemanipulation of nodes and attributes of the max-tree;

● It was the first proposal for an interactive graphicalrepresentation of the max-tree.

6. Interactive max-tree tool

Page 44: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.3. Contributions of the tool

44

A max-tree simplification method;

A proposal of a new simplifier filter called area difference filter;

A max-tree interactive graphical representation methodology;

Interactive features that allow to manipulate max-tree nodes;

Many applications, such as segmentation, filtering and analysis;

Educative tool for the learning of the max-tree data structure;

Tool that helps the planning of automatic methods.

6. Interactive max-tree tool

Page 45: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.4. Methodology

45

● Interactive max-tree process flow

Build Max-tree

Max-treeSimplification

GenerateDendrogram

Representation

Visualizationof the Result

UserInteraction

6. Interactive max-tree tool

Figure. Interactive max-tree methodology.

Page 46: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.5. Max-tree simplification

46

• The simplification process aims to reduce the number ofmax-tree nodes while maintaining a significantrepresentation, it preserves the most relevant nodes.

• It can be seen as a sequence of three filters, which itsparameters are interactively defined by the user.

6. Interactive max-tree tool

Page 47: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.5. Max-tree simplification

47

• Extinction filter: most important filter of simplificationprocess, it drastically reduces the number of nodes,preserving the most relevant maxima and removingnoise;

• Area open filter: is a filter more intuitive for the user, itremoves nodes less than a area criterion;

• Area difference filter: preserves great changes of areain the image, which is typically relevant information.

6. Interactive max-tree tool

Page 48: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.5. Max-tree simplification

48

𝝉𝒃 = 𝝍𝑵𝑳,𝑬𝑿(𝝉𝒂)

𝝉𝒄 = 𝝍𝑨(𝝉𝒃)

𝝉𝒅 = 𝝍𝑫(𝝉𝒄)

• NL: number of leaves to be preserved;• EX: extinction values for the volume attribute;• A: minimum area;• D: area difference criterion.

6. Interactive max-tree tool

Page 49: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.6. Area difference filter

49

D = 20

where 𝑑𝑖 are descendants of 𝑖,Δ𝐴 𝑖 = 𝐴𝑟𝑒𝑎 𝑝𝑖 − 𝐴𝑟𝑒𝑎 𝑖 ,

𝑝𝑖 is the parent of 𝑖

𝜏1 = 𝜓𝐷 𝜏0 = 𝑖 ∈ 𝜏0 Δ𝐴 𝑖 > 𝐷 } ∪ 𝑖 ∈ 𝜏0 Δ𝐴 𝑘 > 𝐷 𝑤ℎ𝑒𝑟𝑒 𝑘 ∈ 𝑑𝑖 }

6. Interactive max-tree tool

Input Filter resultFigure. Illustration of the area difference filter.

Page 50: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.6. Area difference filter

50

• Preserves great changes of the area attribute.

6. Interactive max-tree tool

Input

Figure. Illustration of the area difference filter.

Page 51: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.7. Simplification method

51

• Sequence of filters:

𝝉𝒃 = 𝝍𝑵𝑳,𝑬𝑿(𝝉𝒂)

𝝉𝒄 = 𝝍𝑨(𝝉𝒃)

𝝉𝒅 = 𝝍𝑫(𝝉𝒄)

• Extinction filter, area open filter and area differencefilter;

• 𝝉𝒂 is the input max-tree and 𝝉𝒅 is simplified tree.

6. Interactive max-tree tool

Page 52: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.8. Dendrogram

52

• The dendrogram is an appropriate representation todisplay hierarchical structures.

• Although we show a simplified version of the max-tree,the operations are processed in the original max-tree.

6. Interactive max-tree tool

gray-levelInput Dendrogram representation.

Figure. Illustration of the simplified tree.

Page 53: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.9. First simplification approach

53

Simplification basedon extinction valuespreserving 362nodes.

1% of max-treenodes.

6. Interactive max-tree tool

Figure. Simplification based on extinction. values.

Page 54: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.10. Current simplification approach

54

Simplification basedon the extinction filter(NL=6), area openfilter (A=50) and areadifference filter(D=34), preserving357 nodes.

~1% of the max-treenodes.

6. Interactive max-tree tool

Figure. Current simplification approach.

Page 55: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.11. Reconstruction of the max-tree

55

NL6 D340 A501% of nodes.

Input Image First simp., 362 nodes New simp., 357 nodes

6. Interactive max-tree tool

Figure. Reconstruction of the dendrogram nodes.

Page 56: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.12. User interaction

56

Nodes selectionand visualization.

6. Interactive max-tree tool

Figure. Interactive dendrogram and some node samples.

Page 57: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.13. Indirect node selection

57

● Select a node by clicking on the input.

6. Interactive max-tree tool

Figure. Illustration of the indirect node selection.

Page 58: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

6.14. Max-tree navigation

58

● Zoom descendantsoperation

● Max-tree navigation

● Recursive feature

After Zoom

Before Zoom

6. Interactive max-tree tool

Figure. Zoom operation.

Page 59: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

59

● Branch+ operation

● Max-tree navigation

● Recursive feature

New sub-branch

6.14. Max-tree navigation

6. Interactive max-tree tool

Figure. Branch+ operation.

Page 60: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

60

6.15. Creating sub-sets of nodes

● Creating sub-sets of nodes for segmentation,filtering and analisys tasks.

6. Interactive max-tree tool

Input Image

Reconstruction

Figure. The reconstruction of a sub-set of max-tree. nodes.

Page 61: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

61

6.16. Segmentation

Input Image Segmentation

● Segmenting the carotid artery wall from an MR image.

6. Interactive max-tree tool

Figure. Segmentation of the carotid artery wall.

Page 62: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

62

6.17. Association with othertechnique

● Nodes subsets as markers for the watershed.

6. Interactive max-tree tool

Input

Markers

Dendrogram

ResultFigure. Selecting markers for the watershed transform.

Page 63: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

63

6.18. Filtering

● Local filtering.

Input Image Result

6. Interactive max-tree tool

Dendrogram

Figure. Illustration of a filtering task.

Page 64: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

64

6.19. Visualization of attributes

● Gray-level;

● Area;

● Volume;

● Rectangularity ratio: area of the connected componentdivided by the area of its bounding box;

● Eccentricity: how elongated it is;

● MSER: area stability measure.

6. Interactive max-tree tool

Page 65: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

65

6.19. Visualization of attributes● Input image and the color scale

used to demonstrate theattribute values.

Figure. Input image.

Figure. Color scale

6. Interactive max-tree tool

Page 66: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

66

6.19. Visualization of attributes● Analysing eccentricity.

6. Interactive max-tree tool

Figure. Samples of nodes with high eccentricity values.

Page 67: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

67

6.19. Visualization of attributes● Analysing eccentricity.

6. Interactive max-tree tool

Figure. Samples of nodes with low eccentricity values.

Page 68: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

68

6.19. Visualization of attributes● Evolution of the eccentricity through the gray levels.

6. Interactive max-tree tool

Figure. Evolution of eccentricity values in a sub-branch.

Page 69: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

69

6.19. Visualization of attributes● 1st depth image and its dendrogram with eccentricity values.

Fig. 1

6. Interactive max-tree tool

Figure. Eccentricity values of the depth image 1.

Page 70: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

70

6.19. Visualization of attributes● 2nd depth image and its dendrogram with eccentricity values.

6. Interactive max-tree tool

Figure. Eccentricity values of the depth image 2.

Fig. 2

Page 71: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

71

6.19. Visualization of attributes● 3rd depth image and its dendrogram with eccentricity values.

6. Interactive max-tree tool

Figure. Eccentricity values of the depth image 3.

Fig. 3

Page 72: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

72

6.19. Visualization of attributes● 4th depth image and its dendrogram with eccentricity values.

6. Interactive max-tree tool

Figure. Eccentricity values of the depth image 4.

Fig. 4

Page 73: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

735. Applications

6.19. Visualization of attributes● 5th depth image and its dendrogram with eccentricity values.

Figure. Eccentricity values of the depth image 5.

Fig. 5

Page 74: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

74

6.19. Visualization of attributes● 6th depth image and its dendrogram with eccentricity values.

6. Interactive max-tree tool

Figure. Eccentricity values of the depth image 6.

Fig. 6

Page 75: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

75

6.19. Visualization of attributes● First sub-brach of the 6th depth image.

Fig. 6

6. Interactive max-tree tool

Figure. Analysing the first sub-branch of the depth image 6.

Page 76: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

76

6.20. Max-tree of 3D images● 3 views for the user navigate through the slices of the image.

Figure. CT of the lungs

6. Interactive max-tree tool

Page 77: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

77

6.20. Max-tree of 3D images● Max-tree of the CT image of the lungs.

6. Interactive max-tree tool

Figure. Samples of max-tree nodes of the CT image.

Page 78: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

78

6.21. Processing time

Operation Timing

Building the max-tree 0,021 s

Max-tree simplification 0,035 s

Generation of the initial dendrogram 1,508 s

Updating the dendrogram interface 0,143 s

Reconstruction of a single node (binary image) 0,003 s

Reconstruction of a node and its descendants (gray-scale) 0,008 s

● The processing time was computed by averaging five userinteractions. The max-tree was built from an image with 256 x256 pixels.

6. Interactive max-tree tool

Table. Timing samples.

Page 79: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

79

6.22. Conclusions

• Educative tool for the learning of max-tree data structure;

• Tool to analyze the nature of an image through thevisualization of many attributes;

• It allows to manipulate the max-tree nodes by browsing,selecting and visualizing the max-tree nodes.

6. Interactive max-tree tool

Page 80: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

80

6.22. Conclusions

• Potential to be used in segmentation and filtering tasks.

• It can be used in association with other techniques;

• Contribution of the area difference filter and thesimplification process, which can also be a pre-processingstep for operations on the max-tree;

6. Interactive max-tree tool

Page 81: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

81

6.22. Conclusions

• The 3D extension of the interactive max-tree allows towork with medical images such as CT and MRI;

• The visualization of attributes provides insight to developautomatic methods.

• The tool is a web-based application which has manyfeatures, is intuitive and has good usability.

6. Interactive max-tree tool

Page 82: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

82

6.23. Demonstration

• http://adessowiki.fee.unicamp.br/adesso/wiki/iamxt-tutorial/view/

6. Interactive max-tree tool

Page 83: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

1. Introduction

2. Basic concepts

3. Max-tree and component Tree

4. Max-tree array-based representation

5. Max-tree signature analysis

6. Applications

7. Conclusions

Outline

83

Page 84: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

84

6.1. Applications List

• Size filtering and shape filtering

• Extraction of size and shape information of the max-treenodes

• Max-tree signature

• Attribute profile

• Marker selection

• Maximal max-tree simplification methodology

• Suggestions from the audience?

6. Interactive max-tree tool

Page 85: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

1. Introduction

2. Basic concepts

3. Max-tree and component Tree

4. Max-tree array-based representation

5. Max-tree signature analysis

6. Applications

7. Conclusions

Outline

85

Page 86: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

86

7.1. Conclusions

• We illustrated the power of the max-tree and introducediamxt an efficient toolbox to process it;

• Many possible applications of the max-tree were illustrated;

• Current trends:

- There are other tree structures similar to the max-tree

gaining popularity;

- Algorithms for color images;

- Construction of a max-tree of a max-tree.

6. Interactive max-tree tool

Page 87: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

References[Salembier1998] P. Salembier, et al., "Antiextensive connected operators forimage and sequence processing," IEEE Tran on Image Processing, vol.7,no.4, pp.555,570, Apr 1998. doi: 10.1109/83.663500

[Jones1999] R. Jones, R., "Connected filtering and segmentation usingcomponent trees", Computer Vision and Image Understanding, v.75 n.3,p.215-228, Sept. 1999. doi>10.1006/cviu.1999.0777.

[Matas2002] J. Matas, O. Chum, M. Urban and T. Pajdla, "Robust widebaseline stereo from maximally stable extremal regions," Proc. of BritishMachine Vision Conference, pages 384-396, 2002.

[Souza2014a] R. Souza, "Maximal Max-tree Simplification," M.Sc.dissertation presented at the University of Campinas (UNICAMP), March2014.

[Souza2014b] R. Souza, L. Ríttner, R. Machado and R. Lotufo, "MaximalMax-tree Simplification," Proceedings of the 22nd International Conferenceon Pattern Recognition, Stockholm, Sweden, August 2014.

87

Page 88: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

References[Carlinet2014] E. Carlinet, T. Geraud, "A Comparative Review ofComponent Tree Computation Algorithms," Image Processing, IEEETransactions on , vol.23, no.9, pp.3885,3895, Sept. 2014.

[Souza2015a] R. Souza, L. Rittner, R. Machado, R. Lotufo: A comparisonbetween extinction filters and attribute filters. In: InternationalSymposium on Mathematical Morphology, 2015, Reykjavik.

[Souza2015b] R. Souza, L. Rittner, R. Machado, R. Lotufo: An Array-based Node-Oriented Max-tree Representation. In: InternationalConference on Image Processing, 2015, Quebec.

[Tavares2015a] L. Tavares, R. Souza, L. Rittner, R. Machado and R.Lotufo, "Interactive max-tree visualization tool for image processing andanalysis," 2015 International Conference on Image Processing Theory,Tools and Applications (IPTA), Orleans, 2015, pp. 119-124.

88

Page 89: Hands-on Morphological Processing using the Max-tree Data ...adessowiki.fee.unicamp.br/media/Attachments/iamxt-tutorial/MainPa… · Introduce the tutorial participants to the max-tree

89