segmentation of coronal holes using active

74

Upload: lequynh

Post on 14-Feb-2017

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SEGMENTATION OF CORONAL HOLES USING ACTIVE

SEGMENTATION OF CORONAL HOLES USING ACTIVE CONTOURS

WITHOUT EDGES AND DETECTION OF SMALL BOUNDARY FLASHES

BY

MEGHALA VALLURI

A thesis submitted to the Graduate School

in partial fulfillment of the requirements

for the degree

Master of Science

Major Subject: Electrical Engineering

New Mexico State University

Las Cruces, New Mexico

August 2013

Page 2: SEGMENTATION OF CORONAL HOLES USING ACTIVE

“Segmentation of Coronal Holes Using Active Contours Without Edges and Detec-

tion of Small Boundary Flashes,” a thesis prepared by Meghala Valluri in partial

fulfillment of the requirements for the degree, Master of Science, has been ap-

proved and accepted by the following:

Linda LaceyDean of the Graduate School

Laura BoucheronChair of the Examining Committee

Date

Committee in charge:

Dr. Laura Boucheron, Chair

Dr. Charles Creusere

Dr. James McAteer

ii

Page 3: SEGMENTATION OF CORONAL HOLES USING ACTIVE

DEDICATION

I would like to dedicate my thesis work to my beloved family and friends. A

special feeling of gradtitude to my loving parents, Raja Valluri and Satya Priya

Valluri and my sister and brother-in-law, Sri Harika and Kapil Kasturi whose

words of encouragement gave me all the strength to complete this work. Also,

I dedicate this work to my little nephew Karthikeya who always brings smile on

my face. I would also like to dedicate my work to Tapaswy Muppaneni, Harika

Vedam, Navya Makkapati and many other friends who supported me throughout

my Masters.

iii

Page 4: SEGMENTATION OF CORONAL HOLES USING ACTIVE

ACKNOWLEDGMENTS

I would like to give special thanks to my advisor, Dr. Laura E. Boucheron, for

her guidance, support, encouragement and patience whose insight and experience

is vital in this work. I would also like to thank my committee members Dr.

Charles Creusere and Dr. James McAteer for agreeing to serve on my committee.

Special thanks to members of astronomy department and NMSU solar and stellar

research group for their help and support.

A special thanks to Dr. Bernard McNamara and Dr. Jason Jackiewicz for

funding my reasearch through NSF PAARE grant AST-0849986 and NASA EP-

SCoR grant NNX09AP76A. I give special thanks to Dr.Laura Boucheron for pro-

viding research support through Internal NMSU funds and Klipsch School of Elec-

trical and Computer Engineering Department for teaching assistant funds.

iv

Page 5: SEGMENTATION OF CORONAL HOLES USING ACTIVE

VITA

September 21, 1986 Born in Andhra Pradesh, India

2004-2008 B.S.E.C.E., Acharya Nagarjuna University,Andhra Pradesh, India

2008-2011 Application Developer, Computer Sciences Corporation(CSC), India.

2011-Present Graduate Research Assistant,Electrical and Computer Engineering Department,New Mexico State University, Las Cruces, New Mexico.

PUBLICATIONS [or Papers Presented]

1. Segmentation of Coronal Holes using Active Contours Without Edges and

Detection of Small Boundary Flashes. Meghala Valluri, Laura E. Boucheron and

R. T. James McAteer. Solar Information Processing Workshop, 2012.“Talk”.

2. Segmentation of Coronal Holes using Active Contours Without Edges and

Detection of Small Boundary Flashes, Meghala Valluri, Laura E. Boucheron, and

R. T. James McAteer. Solar Physics, 2013. “To be Submitted”

FIELD OF STUDY

Major Field: Digital Signal Processing and Pattern Recognition

v

Page 6: SEGMENTATION OF CORONAL HOLES USING ACTIVE

ABSTRACT

Segmentation of Coronal Holes Using Active Contours Without Edges and

Detection of Small Boundary Flashes

BY

Meghala Valluri

MASTER OF SCIENCE

New Mexico State University

Las Cruces, New Mexico, 2013

Dr. Laura E. Boucheron, Chair

Coronal holes are regions of low-density plasma on the Sun with open mag-

netic field lines, and are the source of the fast solar wind. The detection and

characterization of these regions is important to both testing theories of their for-

mation and evolution and from a space weather perspective. We present results

of the application of active contours without edges for automated detection of

coronal holes. We use full disk solar images from the Solar Dynamics Observatory

(SDO) Atmospheric Imaging Assembly (AIA) at multiple wavelengths to test the

vi

Page 7: SEGMENTATION OF CORONAL HOLES USING ACTIVE

proposed algorithm. The proposed method can detect coronal holes without de-

pendence on a fixed threshold value, as used by many previous methods. Instead,

the active contour segmentation employs an energy-minimization in which coronal

holes are assumed to have more homogeneous intensities than surrounding active

and quiet sun. The obtained segmented results are verified using magnetogram

data and solar wind data. We also introduce an algorithm to detect small transient

flashes occurring around the boundary of coronal holes and the co-occurrence of

these flashes and the detected coronal hole boundary.

vii

Page 8: SEGMENTATION OF CORONAL HOLES USING ACTIVE

CONTENTS

LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 The Sun and Its Corona . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Coronal Holes and the Solar Wind . . . . . . . . . . . . . . . . . . 4

1.3 Automatic Segmentation of Coronal Holes . . . . . . . . . . . . . 6

1.4 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 ACTIVE CONTOUR MODELS . . . . . . . . . . . . . . . . . . . 9

2.1 Basic Active Contours: “Snakes” . . . . . . . . . . . . . . . . . . . 9

2.2 Active Contours Without Edges (ACWE) . . . . . . . . . . . . . 11

2.2.1 Background and Algorithm . . . . . . . . . . . . . . . . . 11

2.2.2 Advantages of ACWE over Basic Snakes . . . . . . . . . . 13

2.3 Application of ACWE to Image Segmentation . . . . . . . . . . . 14

3 DATASETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.1 Instruments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.1.1 Atmospheric Imaging Assembly (AIA) . . . . . . . . . . . 16

3.1.2 Helioseismic and Magnetic Imager (HMI) . . . . . . . . . . 17

3.1.3 Advanced Composition Explorer (ACE) . . . . . . . . . . 17

viii

Page 9: SEGMENTATION OF CORONAL HOLES USING ACTIVE

3.2 Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4 APPLICATION OF ACWE TO SOLAR IMAGERY . . . . . . . 21

4.1 Pre-Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.2 Initialization by Thresholding . . . . . . . . . . . . . . . . . . . . 22

4.3 Application of ACWE . . . . . . . . . . . . . . . . . . . . . . . . 25

4.3.1 Parameter Optimization . . . . . . . . . . . . . . . . . . . 25

4.3.2 Initial Mask . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.3.3 Stopping Criterion . . . . . . . . . . . . . . . . . . . . . . 33

4.3.4 Segementation Results . . . . . . . . . . . . . . . . . . . . 33

5 DETECTION OF BOUNDARY FLASHES . . . . . . . . . . . . . 40

5.1 Theoretical Background . . . . . . . . . . . . . . . . . . . . . . . 40

5.2 Flash Detection Algorithm . . . . . . . . . . . . . . . . . . . . . . 41

5.3 Flash Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.3.1 Time Period of the Flashes . . . . . . . . . . . . . . . . . . 44

5.3.2 Size of Flashes . . . . . . . . . . . . . . . . . . . . . . . . 47

5.3.3 Brightness of Flashes . . . . . . . . . . . . . . . . . . . . . 48

5.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

6 VALIDATION OF CORONAL HOLE SEGMENTATION . . . . . 52

6.1 Validation with Magnetogram Data . . . . . . . . . . . . . . . . . 52

6.2 Validation with ACE data . . . . . . . . . . . . . . . . . . . . . . 53

6.3 Validation using Flashes . . . . . . . . . . . . . . . . . . . . . . . 56

ix

Page 10: SEGMENTATION OF CORONAL HOLES USING ACTIVE

6.4 Validation Compared to Previous Standard Detection Method . . 56

6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

7 CONCLUSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

8 FUTURE WORK . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

APPENDICES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

A MATLAB CODE . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

A.1 Get Datasets Code . . . . . . . . . . . . . . . . . . . . . . . . . . 67

A.2 Active Contours Without Edges Calling Program Code . . . . . . 69

A.3 Active Contour Without Edges Function Code . . . . . . . . . . . 74

A.4 Flash Detection Algorithm Code . . . . . . . . . . . . . . . . . . . 83

A.5 Flash Time Period Code . . . . . . . . . . . . . . . . . . . . . . . 89

A.6 Skewness Calculation Code . . . . . . . . . . . . . . . . . . . . . . 94

REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

x

Page 11: SEGMENTATION OF CORONAL HOLES USING ACTIVE

LIST OF TABLES

1 Data used for testing the CH segmentation algorithm. . . . . . . . 18

2 Average flash characteristics for each dataset, plus or minus stan-

dard deviation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3 Average skewness values plus or minus standard deviation for each

of the datasets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

xi

Page 12: SEGMENTATION OF CORONAL HOLES USING ACTIVE

LIST OF FIGURES

1 Different layers of the Sun. . . . . . . . . . . . . . . . . . . . . . . 2

2 Coronal hole Image of the Sun from Atmospheric Imaging Assem-

bly (AIA). The darker portion seen in the center of the solar disk

indicates the coronal hole [2] . . . . . . . . . . . . . . . . . . . . . 4

3 Initial curve propagating in normal directions from [10] . . . . . . 12

4 Example images of AIA data. . . . . . . . . . . . . . . . . . . . . 19

5 Example HMI magnetogram image. . . . . . . . . . . . . . . . . . 19

6 Histrogram Equalized Image. . . . . . . . . . . . . . . . . . . . . 22

7 Thresholded Output Image. . . . . . . . . . . . . . . . . . . . . . 23

8 Output of the processing to obtain the initial mask. . . . . . . . . 24

9 Evolution of the initial curve based on ACWE energies at different

iterations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

10 Plots of skewness and area versus varying smoothness. . . . . . . 27

11 Difference in the contour for low and high values of smoothness

parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

12 Plots of skewness and area by varying lambda values. . . . . . . . 29

13 Plots of λ1 vs skewness and λ1 vs area by varying λ1 value and with

λ2 = 0.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

xii

Page 13: SEGMENTATION OF CORONAL HOLES USING ACTIVE

14 Plots of λ2 vs skewness and λ2 vs area by varying λ2 value and with

λ1 = 15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

15 Segmented images obtained with different initializations. . . . . . 31

16 Difference image of the two segmented images Fig15(a)-Fig 15(b)

described in Figure 15 . . . . . . . . . . . . . . . . . . . . . . . . 32

17 Original AIA image and final segemented image for the period 06-

01-2012 to 06-07-2012. . . . . . . . . . . . . . . . . . . . . . . . . 35

18 Original AIA image and final segemented image for the period 01-

01-2011 to 01-10-2011. . . . . . . . . . . . . . . . . . . . . . . . . 36

19 Original AIA image and final segemented image for the period 02-

27-2013 to 03-04-2013. . . . . . . . . . . . . . . . . . . . . . . . . 37

20 Original AIA image and final segemented image for the period 08-

22-2012 to 08-26-2012. . . . . . . . . . . . . . . . . . . . . . . . . 38

21 Original AIA image and final segemented image for the period 01-

25-2012 to 01-29-2012. . . . . . . . . . . . . . . . . . . . . . . . . 39

22 Image showing individual flashes. . . . . . . . . . . . . . . . . . . 42

23 Different regions of interest considered for calculating number of

flashes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

24 Plot showing the average time period of the flashes. . . . . . . . . 46

25 Plot showing the average size of the flashes. . . . . . . . . . . . . 47

26 Plot showing the average brightness of the flashes. . . . . . . . . . 48

xiii

Page 14: SEGMENTATION OF CORONAL HOLES USING ACTIVE

27 Histogram plot showing the average time period of the flashes. . . 50

28 Histogram plot showing the average size of the flashes. . . . . . . 50

29 Histogram plot showing the average brightness of the flashes. . . . 51

30 Plot showing the skewness of magnetic field distribution. . . . . . 54

31 Plot showing the Solar wind measurements. . . . . . . . . . . . . 55

32 Segmented outputs for 01-03-201, 01-05-2011 and 01-07-2011. . . . 55

33 Count of flahes in each region of interest considered . . . . . . . . 57

34 Output of CHARM algorithm for the day 11-28-2012. . . . . . . . 58

35 Output of ACWE for the day 11-28-2012. . . . . . . . . . . . . . . 59

xiv

Page 15: SEGMENTATION OF CORONAL HOLES USING ACTIVE

1 INTRODUCTION

1.1 The Sun and Its Corona

The Sun is the nearest star to the earth and is the source of energy for life on

earth. It is a middle aged star with an age of ∼ 4.9 billion years. It is 1.3 million

times larger in volume than earth and is composed of 90% hydrogen and ∼ 10%

helium, with traces of few other gases [27]. Solar gas pressure and gravity are

responsible for maintaining the equilibrium in the solar interior which otherwise

would result in a massive explosion.

There are several different layers of the Sun as shown in Figure 1: the core,

radiation zone, convection zone, photosphere, chromosphere, and corona. The

core is the innermost layer of the Sun with a temparature of about 15M K which

is enough to ignite the thermonuclear reactions which results in the solar energy

output. However, it takes several million years for this energy to be transferred

to the solar surface. The layer above the core is the radiative zone, where the

energy from the core starts getting transferred to the surface of the Sun by means

of electromagnetic radiation. The next layer is the convection zone, where the

energy is primarily carried to the surface of the sun by heat convection currents.

The convection zone is less dense than the core and temperature gradients are so

1

Page 16: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Figure 1: Different layers of the Sun [3].

high that the plasma becomes unstable creating structures known as supergranular

cells.

The photosphere is generally considered as the apparent surface of the Sun and

is the layer from which solar light is emitted. The photosphere is relatively cooler

with temparatures around 5000 K, so only a small fraction (0.1%) of the gas is

ionized in the plasma state. It is thus the densest part of the solar atmosphere.

The photosphere has dark regions called sunspots which tend to coincide with

active regions which are the sites for strong magnetic activity. The next layer, the

chromosphere, is generally not visible as the light from the photosphere overpowers

it. The temparature of the chromosphere rises from about 5000 K to 8500 K

towards its edge. The active regions associated with sunspots produce strong

magnetic fields and cause eruptions in the corona. Flares begin in seconds and

2

Page 17: SEGMENTATION OF CORONAL HOLES USING ACTIVE

may end in minutes or hours [8].

The corona is the outermost layer of the sun and is visible to the naked eye

only during a total solar eclipse or by using a coronagraph telescope. It can also

be observed on the solar disk at extreme ultraviolet (EUV) or X-ray wavelengths

using space-borne instruments and ground based telescopes. With the magnetic

configuration of the sun, the shape of the corona changes accordingly, i.e., during

solar maximum the corona is visible all around the limb due to shrunken coronal

holes and during solar minimum the corona streches farther from the Sun in eq-

uitorial than in the polar direction. The temparature of the corona reaches over

a million degrees. These high temparatures in the corona have elements that con-

tinuously stream into interplanetary space due to a large pressure gradient which

is responsible for the solar wind. A number of theories [42], [50], [53] suggest that

Alfvén waves which are created during chromospheric magnetic footpoint motions

deposit their energy through magnetic reconnection and magnetohydrodyanmic

turbulance which are responsible for high temparatures of the corona. Some other

theories [13], [56] suggest that the primary source of coronal heating lies in the

small-scale magnetic reconnection processess occuring between open and closed

field lines in the transition region and lower corona.

3

Page 18: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Figure 2: Coronal hole Image of the Sun from Atmospheric Imaging Assembly

(AIA). The darker portion seen in the center of the solar disk indicates the coronal

hole [2]

1.2 Coronal Holes and the Solar Wind

Coronal holes (CHs) are identified as darker, colder, and lower-density plasma

regions of the Sun’s corona that have lower EUV and X-ray emission than nominal

quiet and active regions [5], [52], [40], [51], [37]. As the electron density in CHs

is 2 - 3 times lower than that of quiet Sun (QS), and the temparature is around

105−106K, CHs appear as dark areas in X-ray and EUV wavelengths [28]. Figure

2 shows an example coronal hole image from the Atmospheric Imaging Assembly

(AIA); dark regions indicate the coronal hole.

Coronal holes were first discovered using K-coronameter data [5] in soft X-

4

Page 19: SEGMENTATION OF CORONAL HOLES USING ACTIVE

ray images of the solar corona. Earlier theories on the origin of the coronal

holes [59], [6], [7], [47] considered the birth of holes as a process that depends

on the emergence of bipolar magnetic regions. According to those theories when

several bipolar regions interact to produce a large region of ‘locally unbalanced’

magnetic flux, coronal holes are born. Magnetic properties of coronal holes are

different compared to QS regions. CHs are regions of conglomerated unipolar

open magnetic field, whereas QS regions are dominated by small and large closed

magnetic fields. Due to different solar wind acceleration mechanisms like Alfvén

wave acceleration [42], [50], [53], velocity of the solar wind at the coronal holes is

higher than that of the QS which has weak solar winds.

The fundamental nature of high speed solar wind was not recognized for at

least a decade after its intial detection in 1972 [11]. The high speed component of

solar wind represents the more amorphous ambient state of plasma [18] whereas

the slow component is more variable. These high speed winds primarily emerge

from the coronal holes of the Sun, and expand to fill the majority of volume of the

heliosphere [26], [30]. The association of high-speed solar wind with solar coronal

holes is of great importance for space weather forecasting. Characterizing the

high speed solar wind can allow us to determine the arrival time of coronal mass

ejections at earth and other positions in heliosphere [40], [26]. It is still unknown

how specific properties of CHs (e.g., size, shape) affect the characteristics of high

speed solar wind.

5

Page 20: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Several theories were proposed confirming open magnetic fields of the CHs.

One of the main theories is the interchange model [55], which is based on the as-

sumption that the dominant process in the coronal open field evolution is the re-

connection between open and closed magnetic field lines. The other standard the-

ory for the solar-heliospheric magnetic field is the so-called quasi-steady model [31]

in which the field is determined by the observed magnetic flux at the photosphere

and the balance between magnetic plasma forces in the corona. In recent years the

most sophisticated implementation of the quasi-steady theory, which solves the

fully time-dependent 3D Magnetohydrodynamics (MHD) equations for the corona

and wind were developed [34].

1.3 Automatic Segmentation of Coronal Holes

CHs must be detected in consistent manner for studying their properties. Numer-

ous methods were proposed for the detection of coronal holes. The first quantita-

tive observations of coronal holes were made by Waldmeier in 1956 and 1957 [54]

at the Swiss Federal Observatory in Zurich. These features were identified as

long-lived regions of negligible intensity in coronagraphic (off-limb) images of the

5303 Å green emission line. Initial attempts to obtain coronal hole boundaries

involved hand drawn synoptic maps [21] based upon 1083mm He I images and

photosphere magnetograms.

Recently a number of automated detection methods have been proposed. Henny

6

Page 21: SEGMENTATION OF CORONAL HOLES USING ACTIVE

& Harvey [22] present an algorithm which uses morphological image process-

ing, thresholding and smoothing to detect the coronal hole boundaries. Another

method proposed by Scholl & Habbal [45] used an image segmentation technique

based on a combination of region and edge-based methods using 171Å, 193Å, 304Å

(HE II) images and Michelson Doppler Imager (MDI) magnetograms. Most recent

techniques include detection of polar coronal holes by Kirk et al. [25] using perime-

ter tracing, thresholding and extracting coronal holes; this method, however, can

detect only polar coronal holes. There are several other models [28], [43], [41]

which mostly used thresholding techniques for obtaining the coronal hole con-

tours. The method of Krista et al. [28] is considered by many in the astrophysics

community to be the standard method. It is also implemented in the SDO image

processing pipeline. This method uses a histogram based intensity thresholding

technique to obtain the coronal hole boundaries. All these methods discussed used

threshold based detection techniques whereas the proposed algorithm uses active

contour models for the detection of coronal holes which will be discussed in detail

in Chapter 2.

1.4 Thesis Outline

The outline of this thesis is as follows. Chapter 2 introduces basic snakes which

are active contour techniques and then gives an overview of active contours with-

out edges and the advantages of this technique for segmentation of coronal holes.

7

Page 22: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Chapter 3 presents the instruments and data used in this study. Chapter 4 shows

the results obtained by applying active contours without edges to solar data, se-

lection of different parameters for optimization, and implementation of a stopping

criterion used to obtain the results. Chapter 5 gives brief description about the

theory behind the boundary flashes and introduces our flash detection algorithm,

discusses the flash characteristics, and the results of the algorithm. Chapter 6

presents and discusses the results of validating the obtained CH segmentations

with magnetograms, solar wind data, obtained flashes and previous thresholding

techniques. We discuss conclusions in Chapter 7 and future work in Chapter 8.

8

Page 23: SEGMENTATION OF CORONAL HOLES USING ACTIVE

2 ACTIVE CONTOUR MODELS

This chapter details the concept of active contour models. Firstly classi-

cal snakes are introduced, then the algorithm and advantages of active contours

without edges are described.

2.1 Basic Active Contours: “Snakes”

A snake is an energy minimizing, deformable spline affected by external constraint

forces (e.g., smoothness) and by internal image forces that pull it towards object

features such as lines and edges [24]. Snakes are active contour models which

are generally used for object detection, image segmentation, motion tracking and

stereo matching [24]. Snakes will dynamically move towards an object contour

by iteratively minimizing an energy functional. Snakes can be visualized as a

rubber band of arbitrary shape that is deforming with time trying to get as close

as possible to the object contour.

In their most common formulation, snakes use an edge detector (i.e., dependent

on the gradient of the image) to stop the evolving curve on the boundary of

the desired object. The energy functional defined is minimized with respect to

the contour parameters in order to obtain contours. Contours of the snake are

represented parametrically as v(s) = (x(s), y(s)) where x(s) and y(s) are the

coordinates along the contour and v(s) is the parameterized curve such that v(s) :

9

Page 24: SEGMENTATION OF CORONAL HOLES USING ACTIVE

[0, 1] [10]. The energy functional for the snake is a sum of several terms, each

corresponding to some force acting on the contour and is given by

E∗snake =

∫ 1

0

Esnake(v(s))ds =

∫ 1

0

Eint((v(s)) +Eimage((v(s)) +Econ((v(s))ds (1)

where Eint is the internal energy, Eimage is the image energy and Econ is the

constraint energy.

The internal energy term tries to keep the snake smooth and relatively close

to its original initialized shape. It is given by

Eint = (α(s)|vs(s)|2 + β(s)|vss(s)|2)/2 (2)

α(s) and β(s) are weights that control the first order (vs(s)) and second order

terms (vss(s)) of the initial curve which needs to be adjusted so that the system

will not be either too rigid or too flexible.

Image energy is the term which drives the model towards the desired object of

the image. Three different energy functionals attract snakes towards lines, edges,

and terminations. Image energy is given as the weighted combination of these

three energy functionals:

Eimage = wlineEline + wedgeEedge + wtermEterm (3)

where Eline = I(x, y) which is the image intensity itself, Eedge = −|∇I(x, y)|2

which is image gradient, and Eterm is the curvature level of the contours. The

weights wline, wedge, and wterm can be adjusted to observe a wide range of behavior

10

Page 25: SEGMENTATION OF CORONAL HOLES USING ACTIVE

in snakes. The effect of image energy is very local, however; if just a small portion

of an active contour model finds a low-energy feature then the internal constraints

will pull neighboring elements of the contour towards that feature. Although these

are the image energies that are primarily defined, they can be chosen according

to a particular image application.

The external constraint forces are responsible for putting the snakes near the

desired local minimum. They can be used to interactively guide the snakes towards

or away from particular features in terms of their energies. Most snakes do not

try to solve the entire problem of finding salient image features, they rely on other

mechanisms to place them somewhere near a desired solution.

2.2 Active Contours Without Edges (ACWE)

2.2.1 Background and Algorithm

The model active contours without edges [10], unlike the classical snakes, does not

depend on the gradient of the image. The model is based on trying to seperate the

image into regions based on homogenity of intensities. The initialized curve will

propagate in the normal directions until the defined energy is minimized. Figure 3

shows the normal propagation of an initial curve defined by C = {(x, y) : φ(x, y)}

where c is the initialized curve, x and y are the coordinates of the initial curve

and φ is the function of the level set formulation. The energy functional for this

11

Page 26: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Figure 3: Initial curve propagating in normal directions from [10]

model will have additional regularizing terms added to the basic snake model:

F (c1, c2, C) = µ · Length(C) + ν · Area(inside(C))

+λ1

∫inside(C)

|u0(x, y)− cin|2dxdy

+λ2

∫outside(C)

|u0(x, y)− cout|2dxdy

where µ ≥ 0, ν ≥ 0, λ1, λ2 > 0 are fixed parameters and u0 is the image formed

by two regions of approximately piecewise-constant intensities of distinct values

ui0 (intensities inside the desired boundary) and uo0 (intensities outside the desired

boundary). It is assumed that C0 is the desired boundary and C is the evolving

curve or the initial curve. cin and cout are average intensity levels inside and outside

of the contour repectively. The parameters µ, ν, λ1, and λ2 are the weights that

can be adjusted for different evolving behavior.

The energy minimizer of the above functional is given by

infc{F1(C) + F2(C)} ≈ 0 ≈ F1(C0) + F2(C0). (4)

12

Page 27: SEGMENTATION OF CORONAL HOLES USING ACTIVE

where F1(C) and F2(C) are energy functionals inside and outside the defined

initial curve repectively. It can be understood from the above equation that, for

instance, if the curve C is outside the object, then F1(C) > 0 and F2(C) ≈ 0. If

curve C is inside the object, then F1(C) ≈ 0 but F2(C) > 0, and if the curve C is

both inside and outside the object, then F1(C) > 0 and F2(C) > 0. Finally the

fitting energy is minimized if C = C0 i.e. if the curve C is on the boundary of

the object. This idea of active contour model without edges can be implemented

using the Mumford-Shah level set formulation [10], [36].

2.2.2 Advantages of ACWE over Basic Snakes

The classical active contour (snakes) model has a stopping criterion that depends

on the gradient of the image. Thus, limitations of classical snakes are that the

models usually only incorporate edge information, ignoring other image charac-

teristics such as texture and color. While snakes can only detect edges having

gradient change, ACWE can detect contours with or without gradient change, for

instance objects with very smooth boundaries or even with discontinuous bound-

aries.

Additionally, classical snakes must be initialized close to the feature of interest

to avoid being distracted by noise and clutter whereas ACWE is insensitive to the

initialization of the curve. The initial curve propagates in the normal directions

according to the active contour energies and will stop at the desired boundary.

13

Page 28: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Extensions made in ACWE compared to classical snakes are that the gradient

of the image is replaced by the curvature of its level sets and by orientations which

is useful in texture segmentation. The assumption of having the image gradient

was removed in ACWE thus allowing piecewise smooth solutions to the variational

problem. Also the level set formulations of active contours without edges are such

that interior contours (i.e., “holes”) are automatically detected [10].

In the ACWE model, along with the terms in the energy functional, the reg-

ularization terms which involves the length and area of the boundary are also

minimized. This enables the segmentation of image into piecewise smooth re-

gions. One important remark concerning this model as opposed to other level set

evolutions is its global nature where all the levelsets defined have the potential to

be important so that contours of the image are properly obtained.

2.3 Application of ACWE to Image Segmentation

In the context of image processing, there are several applications of ACWE be-

cause of its advantages in segmentation of the images. Medical image processing

is one field where this algorithm is more widely used. There are several important

publications where this algorithm is used.

Shenghua Ni et al. [38] published a book on DNA microarray image segmenta-

tion using ACWE. In this work, the authors used ACWE to segment two types of

DNA microarrays with improvement in segmentation accuracy compared to the

14

Page 29: SEGMENTATION OF CORONAL HOLES USING ACTIVE

existing techniques. Another work [58] used ACWE for segmentation of intra-

retinal layers from optical coherence tomography images. Some other works in-

clude automatic tooth segmentation using ACWE [46], real shape inner iris seg-

mentation using ACWE [23], and semi-automatic cervical cancer segmentation

using ACWE [33]. Along with medical image processing, ACWE has applica-

tions in other fields like texture segmentation [44], and tracking of probability

distributions of any variable [14].

15

Page 30: SEGMENTATION OF CORONAL HOLES USING ACTIVE

3 DATASETS

3.1 Instruments

In this section, we discuss the various instruments used in the present research.

This discussion includes the data used for segmentation of coronal holes as well

as validation of segmentation. SDO Atmospheric Imaging Assembly (SDO/AIA)

data is used for applying the algorithm and validating the obtained results. For

space weather forecasting purposes the detected CHs are linked to high-speed

solar wind streams using in-situ solar wind data from the Advanced Composition

Explorer (ACE) solar particle moniters. In order to determine whether a low

intensity region is a CH, magnetic field analysis was carried out using full-disk

magnetograms provided by Helioseismic and Magnetic Imager (SDO/HMI).

3.1.1 Atmospheric Imaging Assembly (AIA)

The Solar Dynamics Observatory (SDO) Atmospheric Imaging Assembly (AIA)

is designed to take images spanning >1.3 solar diameters in multiple wavelengths

nearly simultaneously, at a resolution of <1.5 arcsec and high cadence [1]. The

primary goal of the AIA Science Investigation is to “use these data, together with

data from other SDO instruments and from other observatories, to significantly

improve our understanding of the physics behind the activity displayed by the

16

Page 31: SEGMENTATION OF CORONAL HOLES USING ACTIVE

atmosphere, which drives space weather in the heliosphere and in planetary en-

vironments” [1]. AIA is designed to provide date covering a wide temperature

range, with the aim to resolve fundamental observational ambiguities between

magnetic field evolution (observed by moving coronal loops) and thermal and

density changes in adjacent strcutures [1].

3.1.2 Helioseismic and Magnetic Imager (HMI)

The SDO Helioseismic and Magnetic Imager (HMI) instrument was primarily

built to study solar variability and to characterize the Sun’s interior and various

components of magnetic activity. HMI produces data to explore mechanisms of

solar variability and how the physical processes inside the Sun are related to

surface magnetic field and activity. HMI takes high-resolution measurements of

the longitudinal and vector magnetic field over the entire visible solar disk [4].

We will use longitudinal (line-of-sight) measurements for validation of unipolarity

underlying CHs.

3.1.3 Advanced Composition Explorer (ACE)

The Advanced Composition Explorer (ACE) was launched in 1997. ACE observes

the Sun without interruption from a distance of 148.5x106 km from the Sun and

about 1.5 million km from the Earth [48]. Due to its continuous ability to sample

the solar wind, ACE can provide space weather warnings shortly before a magnetic

17

Page 32: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Starting day Period Wavelength (in Å)

01-01-2011 10 days 193

06-01-2012 7 days 193

02-27-2013 7 days 193

08-22-2011 5 days 211

01-25-2012 5 days 193

Table 1: Data used for testing the CH segmentation algorithm.

storm hits Earth [48] .

3.2 Datasets

The datasets used for testing this algorithm are summarized in Table 1. We pri-

marily use 193Å data, but choose one dataset at 211Å to show the applicability of

the proposed method to other wavelengths. High resolution images (4096×4096)

of wavelength 193Å and 211Å are used. Figure 4 shows example AIA data for the

same day for both 193Å and 211Å. With the full cadence of 12 seconds, the size

of the dataset is prohibitively large (more than 12 TB for the period of 10 days),

so data is taken from AIA in such a way that full cadence (12 seconds) images are

taken for 5 minutes each hour for the entire period of data. This dataset allows

for analysis at full cadence for flash detection and also for long term analysis of

coronal hole evolution. With these datasets, for each period of 10 days, there will

be approximately 6000 images.

18

Page 33: SEGMENTATION OF CORONAL HOLES USING ACTIVE

(a) AIA Image for 193Å . (b) AIA Image for 211Å .

Figure 4: (a)AIA 193 Å wavelength image and (b)AIA 211Å wavelength image.

Figure 5: Example magnetogram image for the same day closest time to the AIA

data in Figure 4.

Magnetogram data for the same days as AIA data with cadence of 720 seconds

are chosen to most closely coincide with the AIA times and are used for measure-

19

Page 34: SEGMENTATION OF CORONAL HOLES USING ACTIVE

ment of magnetic polarity of detected coronal hole boundary. Figure 5 shows one

magnetogram image for the same day and time to the AIA data shown in Figure

4. Segmented coronal hole images are compared with magnetograms for each hour

and skewness of the underlying magnetic field is calculated to give a measure of

the unipolarity of the underlying magnetic field.

ACE data for the same period of AIA data is used to confirm the detected

coronal holes by observing wind speeds.

20

Page 35: SEGMENTATION OF CORONAL HOLES USING ACTIVE

4 APPLICATION OF ACWE TO SOLAR IMAGERY

The ACWE algorithm described in Chapter 2 is applied to solar imagery. This

chapter discusses the steps to obtain the final segmented coronal hole boundary.

These steps include pre-processing, thresholding, and the ACWE algorithm. Pre-

processing and thresholding are used to obtain the initial mask which subsequently

evolves via ACWE into the segmented coronal hole area.

4.1 Pre-Processing

AIA images are initially scaled such that their intensity levels are distributed

between 0 and 1. The scaled data is then histogram equalized in order to increase

the global contrast. Histogram equalization is the process of distributing the

intensities evenly on the histogram by effectively spreading out the most frequent

intensity values [16]. This method is especially useful as the AIA images have

different contrast values in the background and foreground.

We used a global histogram equalization technique as we need improvement in

the contrast of entire image. Figure 6 shows the original AIA image of wavelength

193Å and the result of scaling and histogram equalizing. From the result of the

histogram equalization, the contrast between the dark areas (coronal holes) and

background is obvious. This improved contrast will be helpful for CH detection.

21

Page 36: SEGMENTATION OF CORONAL HOLES USING ACTIVE

(a) Original AIA Image of 193Å . (b) Histogram Equalized Image.

Figure 6: (a) original AIA 193 Å wavelength image and (b) result of applying

scaling in order to adjust intensity values to between 0 and 1 and then histogram

equalizing.

4.2 Initialization by Thresholding

To obtain the segmented coronal hole image by applying ACWE to a series of solar

imagery, we must define an initial curve which subsequently evolves according to

ACWE energies and stops at the desired boundary. The ACWE algorithm is

insensitive to the initialization, but we want to initialize the contour to contain

the CH on the interior. We thus choose to initialize the contour at some low

intensity for which we are certain to be well within the CH boundary. A percentage

thresholding technique is used to get this initial mask.

A threshold is chosen to be the intensity value where the cumulative sum of

22

Page 37: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Figure 7: Output obtained by applying percentage thresholding to the histogram

equalized image. White regions are those segmented as CHs using threshold level.

pixel intensities is closest to 10% of the maximum intensity value present in the

histogram equalized image. This value of 10% was empricially determined to yield

initialization within the CHs. A percentage thresholding technique is chosen as

it is effective for automatic threshold selection. Figure 7 shows the thresholded

image obtained by applying the 10% threshold to the same histogram equalized

image as shown in Figure 6.

Note that this image has the outer boundary of the Sun and regions off the solar

disk segemented along with the desired interior region of the CHs. Thus, these

images are further processed to remove the outer boundaries of the Sun using

morphological reconstruction of images. Morphological reconstruction involves

transforming the image constrained by a structuring element [17]. The structuring

23

Page 38: SEGMENTATION OF CORONAL HOLES USING ACTIVE

(a) Clearing the borders by morphological

reconstruction

(b) Eroded output

Figure 8: (a) output of clearing borders by using morphological reconstruction

and (b) erosion output which is done to remove the isolated pixels.

element in this case is chosen as an 8-connected component which represents 8

neighbours of any considered pixel. This transformation suppresses structures that

are lighter than their surroundings and that are connected to an image border.

Then the image is eroded in order to remove any isolated pixels. Figure 8 shows

the resultant images after boundary removal and erosion. The final image obtained

after boundary removal and erosion is used as the initial mask which is given as

input to the ACWE algorithm along with the original AIA image.

24

Page 39: SEGMENTATION OF CORONAL HOLES USING ACTIVE

4.3 Application of ACWE

The ACWE algorithm detailed in Section 2.2 is applied to a series of AIA imagery.

Several important parameters of ACWE must be determined to obtain the desired

segmented boundary, including the initial mask, length of the curve (µ), interior

and exterior homogenity parameters (λ1 and λ2), and number of iterations. Each

of these parameters will be considered in turn in the next section.

Figure 9 shows the initialization and final convergence of ACWE applied to

the first image in a data sequence, along with several intermediate evolutions of

the contour. Once the initial contour has reached the desired boundary according

to ACWE energies, even with increasing number of iterations the contour will not

grow further. So percentage change in area is chosen as the stopping criterion

which is explained in Section 4.5.

4.3.1 Parameter Optimization

As mentioned in Section 2.2.1, selection of various parameters like length of the

curve (µ), and interior and exterior homogenity parameters (λ1 and λ2) are critical

for the evolving curve to get to the desired boundary according to ACWE energies.

Length of the curve (µ) is the parameter that controls the total length of the

evolving curve and will thus penalize longer and more discontinuous curves. Figure

10 shows how varying the length of the curve parameter (µ) affects the area and

magnetic skewness of the converged CH segmentation. From Figure 10 (a), it can

25

Page 40: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Initialization

(a) Initialization.

100 Iterations

(b) At 100 iterations.

200 Iterations

(c) At 200 iterations.

300 Iterations

(d) At 300 iterations.

Figure 9: Evolution of initial curve based on the ACWE energies for first image in

a data sequence where the stopping criteria is the number of iterations.(a) initial

mask, (b), (c) and (d) evolution of the curve for 100, 200 and 300 iterations.

26

Page 41: SEGMENTATION OF CORONAL HOLES USING ACTIVE

0 0.2 0.4 0.6 0.8 14.5

4.6

4.7

4.8

4.9

5

5.1

5.2

5.3

5.4

5.5Smoothness vs Skewness

Smoothness

Ske

wne

ss

(a) Smoothness vs Skewness

0 0.2 0.4 0.6 0.8 10.7

0.8

0.9

1

1.1

1.2

1.3x 10

7 Smoothness vs Area

Smoothness

Are

a

(b) Smoothness vs Area

Figure 10: (a)plot of skewness versus varying smoothness parameter (b)plot of

area of segemented coronal hole versus varying smoothness parameter.

be seen that the skewness value is highest for a low value of length parameter

(µ) while CH area is largely unaffected. Thus, for the segementation of coronal

holes, a low length parameter of µ=0 is chosen; this results in curves that are

not penalized for length. Figure 11 illustrates the difference in contours for two

extreme values of µ. Although the difference in the contour is not significant, from

the skewness value in Figure 10 (a), it is obvious that low length is better.

Lambda values (λ1 and λ2) are the parameters which control the direction

of movement of the evolving curve based on the homogenity of the intensities.

Specifically λ1 tends to look for homogenity of intensities inside the defined contour

whereas λ2 tries to evolve the curve for homogenity outside the defined initial

contour. These values are chosen in our application such that they will put much

larger weight on keeping the interior of the contour (interior of the CH) more

27

Page 42: SEGMENTATION OF CORONAL HOLES USING ACTIVE

(a) Segementation of coronal hole with µ =

0

(b) Segementation of coronal hole with µ =

1

Figure 11: (a) Coronal hole boundary with µ = 0 and (b) coronal hole boundary

with µ = 1.

homogeneous. The decision is based on the hypothesis that the interior of CHs

will be more homogeneous than the remainder of the Sun taken in aggregate

(including quiet Sun and active regions). Figure 12 shows the plots of the ratio

λ = λ1/λ2 vs. area of the segmented CH and lambda vs. skewness calculated

using magnetograms. From this plot, we can infer that λ1 value should be high

and λ2 value should be low for the skewness value to be high. Figure 13 shows

the plot of λ1 vs. skewness and λ1 vs. area by varying just λ1 and by having λ2

as a constant at a low value of 0.2. Similarly, Figure 14 shows the plot λ2 vs.

skewness and λ2 vs. area by varying λ2 and by having λ1 as a constant at a high

value of 15. From Figures 12, 13, and 14 it is obvious that the λ1 value should

be chosen at a high value and λ2 should be chosen relatively low for the skewness

to be a high value and thus for the evolving curve to detect the CH’s correctly.

28

Page 43: SEGMENTATION OF CORONAL HOLES USING ACTIVE

1 1.5 2 2.5 35.2

5.4

5.6

5.8

6

6.2

6.4

6.6

6.8

7Lambda vs Skewness

Lambda = Lambda1/Lambda2

Ske

wne

ss

(a) Skewness vs λ

1 1.5 2 2.5 33

4

5

6

7

8

9

10

11x 10

6 Lambda vs Area

Lambda = Lambda1/Lambda2

Are

a

(b) Area vs λ

Figure 12: (a) Skewness versus λ = λ1/λ2 (b) area of segemented coronal hole

versus λ = λ1/λ2.

Additionally from these plots, it can be seen that the area of the detected coronal

hole boundary is relatively unaffected by the parameter variation. Thus, in this

work, we have chosen λ1 as 15 and λ2 as 0.2 for all subsequent application of

ACWE.

4.3.2 Initial Mask

The initial mask is the basis from which the contour will propagate to the final

segementation. The output image from the thresholding step as described in

Section 4.2 is taken as the initial mask. As we are running this algorithm on

thousands of images, for speedy computation, the segmented coronal hole image

obtained from the previous image in the image sequence is given as initial mask

for the next image. This is based on the assumption that the CH boundary

29

Page 44: SEGMENTATION OF CORONAL HOLES USING ACTIVE

0 2 4 6 8 10 12 14 166.4

6.6

6.8

7

7.2

7.4

7.6

7.8

8

8.2

8.4Lambda1 vs Skewness

Lambda1

Ske

wne

ss

(a) λ1 vs skewness with λ2 = 0.2

0 2 4 6 8 10 12 14 162

2.5

3

3.5

4

4.5

5

5.5

6

6.5x 10

6 Lambda1 vs Area

Lambda1

Are

a

(b) λ1 vs area of segemented boundary

with λ2 = 0.2

Figure 13: (a)λ1 vs skewness with λ2 = 0.2 (b)λ1 vs area of segemented coronal

hole with λ2 = 0.2.

0 5 10 155

5.5

6

6.5

7

7.5

8

8.5Lambda2 vs Skewness

Lambda2

Ske

wne

ss

(a) λ2 vs skewness with λ1 = 15

0 5 10 152

4

6

8

10

12

14x 10

6 Lambda2 vs Area

Lambda2

Are

a

(b) λ2 vs skewness with λ2 = 15

Figure 14: (a)λ2 vs skewness with λ1 = 15 (b)λ2 vs area of segemented coronal

hole with λ1 = 15.

will not change significantly in the 12 seconds between images. This minimizes

the number of iterations to converge, speeding the computation. As mentioned

30

Page 45: SEGMENTATION OF CORONAL HOLES USING ACTIVE

With prior segmented image used as initialization

(a) Segmented image with previous ob-

tained segmented image as initialization

With generating initial mask everytime

(b) Segmented image with initialization ob-

tained from thresholding

Figure 15: (a) segmented image obtained by applying ACWE algorithm, with ini-

tialization defined from previous obtained segmented image (b) segmented image

obtained by applying ACWE algorithm with initialization obtained from thresh-

olding.

earlier, the ACWE algorithm is insensitive to initialization, so using the previously

evolved image as the input mask for the next image should not affect the output

segmented image.

Figure 15 shows the resultant segemented images obtained with different ini-

tializations. Figure 15(a) shows the segmented result with the previous segmented

image as the initial mask after 200 subsequent images and 15(b) shows the resul-

tant image with the initial mask defined by thresholding as explained in Section

31

Page 46: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Difference Image

Figure 16: Difference of the two segemented images described in Figure 15.

4.2. Figure 16 shows the image difference image of the results obtained in Figure

15. We note that initialization with the previously segmented image does intro-

duce a small bias in the segementation versus reinitialization via thresholding for

each image. For Figure 16, this bias is 6.08% difference which is calculated using

mathematical expression in equation 5.

bias =ΣiΣjD(i, j)

ΣiΣjC(i, j)(5)

where D is the difference image and C is the segmented image obtained by initial-

ization via thresholding. This bias could be minimized by periodic reinitialization

via thresholding and will be studied further in future work.

The advantage of this initialization by the previous converged segmentation

is speedy computation. For 200 images, the time taken to run ACWE with ini-

tialization from the previous image and using percentage change in area as the

32

Page 47: SEGMENTATION OF CORONAL HOLES USING ACTIVE

stopping criterion is approximately 180 minutes (average of 1 minute per image),

whereas if the initial mask is defined for every image via thresholding it takes

approximately 600 minutes (average of 3 minutes per image).

4.3.3 Stopping Criterion

In ACWE, the stopping criterion is number of iterations. Once the evolving curve

converges to the boundary, the resultant segementation will not change even with

increasing number of iterations. Although there is not much impact to have large

number of iterations on the result of segmentation, more iterations will affect the

computational time taken to obtain the final image.

Thus, in our current work, a stopping criterion is chosen based on the measure

of percentage change in area between subsequent iterations. Change in percentage

of area for each iteration is calcuated with respect to the previous iteration and the

iteration is stopped if the relative change is less than 5% using the same measure

as Equation 5. The average number of iterations to first converge is approximately

300, and it takes much fewer iterations of about 40-60 to converge on subsequent

images when initialized with the output of previous image.

4.3.4 Segementation Results

This section shows the results obtained by applying the ACWE algorithm for

datasets of different periods discussed in Section 3.2 and summarized in Table

33

Page 48: SEGMENTATION OF CORONAL HOLES USING ACTIVE

1. Figure 17(a) shows the first AIA image of the data sequence from 06-01-

2012 to 06-07-2012 and (b) shows the final segemented image overlaid on the

histogram equalized image for better visibility of detected coronal holes. Figures

17 (c) and (d) show similar images for alter day in the image sequence. Similarly

Figures 18-21 show the segmented outputs for other datasets. Validation of these

segementations will be considered in Chapter 6.

34

Page 49: SEGMENTATION OF CORONAL HOLES USING ACTIVE

06−01−2012 AIA 193

(a)

06−01−2012 segmented output

(b)

06−07−2012 AIA 193

(c)

06−07−2012 segmented output

(d)

Figure 17: (a), (b) AIA 193Å and segmented output for 06-01-2012 (c), (d) AIA

193Å and segmented output for 06-07-2012.

35

Page 50: SEGMENTATION OF CORONAL HOLES USING ACTIVE

01−01−2011 AIA 193

(a)

01−01−2011 segmented output

(b)

01−10−2011 AIA 193

(c)

01−10−2011 segmented output

(d)

Figure 18: (a), (b) AIA 193Å and segmented output for 01-01-2011 (c), (d) AIA

193Å and segmented output for 01-10-2011.

36

Page 51: SEGMENTATION OF CORONAL HOLES USING ACTIVE

02−27−2013 AIA 193

(a)

02−27−2013 segmented output

(b)

03−05−2013 AIA 193

(c)

03−05−2013 segmented output

(d)

Figure 19: (a), (b) AIA 193Å and segmented output for 02-27-2013 (c), (d) AIA

193Å and segmented output for 03-05-2013.

37

Page 52: SEGMENTATION OF CORONAL HOLES USING ACTIVE

08−22−2012 AIA 211

(a)

08−22−2012 segmented output

(b)

08−26−2012 AIA 211

(c)

08−26−2012 segmented output

(d)

Figure 20: (a), (b) AIA 211Å and segmented output for 08-22-2012 (c), (d) AIA

211Å and segmented output for 08-26-2012.

38

Page 53: SEGMENTATION OF CORONAL HOLES USING ACTIVE

01−25−2012 AIA 193

(a)

01−25−2012 segmented output

(b)

01−29−2012 AIA 193

(c)

01−29−2012 segmented output

(d)

Figure 21: (a), (b) AIA 193Å and segmented output for 01-25-2012 (c), (d) AIA

193Å and segmented output for 01-29-2012.

39

Page 54: SEGMENTATION OF CORONAL HOLES USING ACTIVE

5 DETECTION OF BOUNDARY FLASHES

Flashes are the small brightening events happening on the entire Sun. This

chapter details the importance of flashes in the detection of coronal holes and an

algorithm for automated CH boundary flash detection. Also, the characteristics

of these boundary flashes are studied.

5.1 Theoretical Background

There were studies in late 1970’s showing that the small scale and and short

term evolution of CH boundaries [39], [12] is strongly connected to bright point

(flash) occurences [29]. Earlier studies on these flashes [15] indicate that they

have uniform distribution over the surface of the Sun. In recent years, there are a

number of studies using high resolution observations, detailing small scale changes

in the coronal hole boundaries [32], [49]. The process of interaction between the

open magnetic fields of the coronal hole and closed fields of the quiet and active

sun is called reconnection which could be a means of flux transportation and

diffusion of the open flux [39].

A more in-depth discussion on reconnection at coronal hole boundaries was

provided by Muallan [35], who proposed that reconnection was also a driver of

the high speed solar wind emanating from the coronal holes. Flashes are hypoth-

esized to be the small scale reconnection events occuring at the boundaries of the

40

Page 55: SEGMENTATION OF CORONAL HOLES USING ACTIVE

coronal holes. These reconnection events are expected to manifest themselves as

spatially small and temporally short increases in EUV intensity at the coronal

hole boundary. Flashes are widely distributed especially in polar coronal holes

and coronal hole boundaries. Flashes are associated with small loop structures

at coronal hole boundaries which also contribute to the small-scale evolution of

coronal hole boundaries [57], [49]. Spatial and temporal variations of these flashes

have been studied and these studies indicate that the typical life time of these

flashes varies on several time scales [19], [9].

A closer look at shape of coronal holes indicate that their day-by-day and even

hour-by-hour evolution demonstrates a significant dynamics [32]. Thus the study

of these flashes are important in confirming the boundaries of the coronal holes

and for further determination of evolution of the coronal holes. Figure 22 shows

the flashes around a coronal hole in an AIA image; the rectangular box highlights

the flashes. The next section discusses the algorithm that is used in this work to

identify the flashes.

5.2 Flash Detection Algorithm

Small flashes present throughout the Sun are detected and characteristics of these

flashes present at the coronal hole boudnaries are analyzed. AIA data of 12

second cadence for the same time period as for the ACWE algorithm are used. As

mentioned in Section 5.1, detecting these flashes aids in confirming the accuracy

41

Page 56: SEGMENTATION OF CORONAL HOLES USING ACTIVE

(a) (b)

Figure 22: (a) shows histogram equalized image and (b) shows the individual

flashes. Rectangular box highlights the flashes

of the detected segmented coronal hole boundary. The main steps in the flash

detection algorithm are :

1. Finding difference images

2. Threshold the difference images

3. Mask the thresholded difference images with region of interest (ROI)

4. Count number of flashes occuring in the resultant ROI images

5. Repeat steps 3 and 4 for different regions of interest

Flashes are initially detected by taking the difference of two subseqent images

(subseqent in the sense of cadence). Difference images are obtained by pixel-

by-pixel subtraction. This difference image will contain positive values in regions

42

Page 57: SEGMENTATION OF CORONAL HOLES USING ACTIVE

where the intensity has increased over time and negative values where the intensity

has decreased.

Difference images need to be thresholded to remove small changes that are

occuring over the entire Sun. So, an appropriate threshold level should be deter-

mined. The threshold level after which there is not much change in the number

of flashes visually observed is selected.

Output of the thresholding will highlight flashes occurring across the entire

solar disk. So certain regions of interest (i.e., near the detected coronal hole

boundary) are selected and flashes in those areas are obtained by masking the

thresholded difference image with the selected region of interest (ROI).

As described in the algorithm, the number of flashes in each region of in-

terest are counted. Individual flashes are defined as 8-connected regions in the

thresholded difference image. An 8-connected region is the component having 8

neighbors (4 horizontal and vertical and 4 diagonal neighbors) around it.

In our work, we applied the flash detection algorithm on four different regions of

the solar image to verify the segmented coronal hole boundary. The first region is

a region 20 pixels wide centered at the segmented coronal hole boundary obtained

by applying ACWE to the solar imagery, where more flashes are expected due

to reconnection events. The second region is the inner coronal hole region i.e.,

the region within the segmented coronal hole boundary excluding any pixels in

Region1. The third region is the one which is 10 pixels wide just outside the first

43

Page 58: SEGMENTATION OF CORONAL HOLES USING ACTIVE

region. The fouth region is the region somewhere in the quiet sun (QS) where we

anticipate relatively fewer flashes compared to all other regions. Figure 23 shows

these four regions of interest for the segmented coronal hole boundary in Figure

9. We will use the number of flashes in each region as a quantitative verification

of correct coronal hole segmentation in Chapter 6.

5.3 Flash Characteristics

As discussed previously, flashes are the small dynamic structures that are observed

all over the solar corona and more densely around the coronal hole boundaries. As

these flashes are important in confirming the boundaries of the detected coronal

hole, certain characteristics of flashes like the time period, size, and brightness

are analyzed in this section. Analyzing these characteristics may help validate

theories of temporal evolution of the coronal hole boundary and may be used to

help tune models of solar evolution.

5.3.1 Time Period of the Flashes

The average time period of flashes occuring around the boundary of the segmented

coronal hole (region 1) in each of the AIA images is calculated and plotted as

shown in Figure 24. Below we summarize the steps in the algorithm used to find

the average time period of the flashes. Initial steps in this algorithm are similar

to those of the flash detection algorithm as we need to obtain the flashes first to

44

Page 59: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Region 1

(a) Region 1.

Region 2

(b) Region 2.

Region 3

(c) Region 3.

Region 4

(d) Region 4.

Figure 23: Shows different regions of interest described in Section 5.2. (a) Region

1 which is 20 pixels wide centered at the segmented coronal hole boundary, (b)

Region 2 is inner coronal hole, (c) Region 3 is 10 pixels outside region 1 and (d)

Region 4 is in quiet Sun.

45

Page 60: SEGMENTATION OF CORONAL HOLES USING ACTIVE

0 1000 2000 3000 4000 50001

2

3

4

5

6

7

8

9

10Flashes average time period

No of Images

Ave

rage

No

of fr

ames

eac

h fla

sh la

sts

Figure 24: Average time period of the flashes for dataset 01-01-2011 to 01-10-2011

calculate their average time period.

1. Obtain flashes from each difference image by following the steps detailed in

Section 5.2

2. Centroid of each flash is calculated

3. Centroids are compared with the centroids of flashes obtained from subse-

qent difference images

4. Each flash in an image is compared with flashes for 15 frames

5. Average of the obtained flash period is calculated

6. Above steps are repeated for each image

Firstly, flashes are obtained from the difference images by thresholding and

then masking with the Region 1 ROI. Then, the centroid of each of the flash is

46

Page 61: SEGMENTATION OF CORONAL HOLES USING ACTIVE

0 1000 2000 3000 4000 5000 60000

20

40

60

80

100

120

140Average size of flashes

No of Images

Ave

rage

siz

e in

pix

els

Figure 25: Average size of the flashes for dataset 01-01-2011 to 01-10-2011

calculated. The centroid is defined as the arithematic mean of all points in the

region weighted by its area. Centroids in the image are then compared to those

for 15 subseqent frames and the period of each flash is noted. The mean of the

periods gives the average period of the flashes. Centroids are compared until 15

frames, as we hypothesized that flashes will not last more than few minutes.

From Figure 24 it can be inferred that on an average each flash lasts for

aproximately 2 frames (24 seconds). However there are some flashes that last as

long as 9 frames (108 seconds). Figures shown are obtained by applying these

algorithms to data of 10 days period (i.e., from 01-01-2011 to 01-10-2011).

5.3.2 Size of Flashes

The size of a flash is defined as the area of each flash. In this work, we compute

the average area of flashes in an image. Figure 25 shows the plot of the average

47

Page 62: SEGMENTATION OF CORONAL HOLES USING ACTIVE

0 1000 2000 3000 4000 5000 60000

100

200

300

400

500

600

700

800Average Brightness of flashes

No of Images

Ave

rage

inte

nsity

Figure 26: Average brightness of the flashes for dataset 01-01-2011 to 01-10-2011

size of the flashes for AIA images, for one data set. It can be inferred from the

plot that the average size of a flash is ∼ 5 pixels (corresponding to ∼ 3.625Mm2).

5.3.3 Brightness of Flashes

The average intensity of the flashes in AIA images are calculated and plotted as

shown in Figure 26. Mostly, average brightness varies around 100 photon counts.

5.4 Conclusions

Table 2 summarizes the characteristics of flashes for each dataset considered in this

work. These characteristics can be used to understand more about the evolution

of the boundaries of the coronal hole. These values may also be used to validate

or drive models of solar evolution. Future work will compare these characteristics

to characteristics of flashes in different regions of the Sun (QS or AR).

48

Page 63: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Starting day Period Ave. Size Ave. Brightness Ave. Period (seconds)

06-01-2012 7 days 6.8±2.7 98.6±43.4 15.0±3.0

01-01-2011 10 days 5.0±2.5 94.2±27.6 18.8±7.5

02-27-2013 7 days 5.3±2.2 106.6±37.1 21.6±9.8

08-22-2011 5 days 6.3±2.48 120.8±72.2 13.3±4.0

01-25-2012 5 days 4.6±2.6 97.2±32.4 14.6±4.0

Table 2: Average flash characteristics for each dataset, plus or minus standard

deviation.

Along with the count of flashes in each of the region, modeling the characteris-

tics of the flashes are also important for analyzing the evolution of the boundaries

of coronal holes. Figures 27-29, show the histogram of each of the flash charac-

teristics like brightness, time period, and size. These histograms are computed

by considering flashes from all the datasets. From these figures, it can be inferred

that the average period that a flash lasts is 1-2 frames which is 12-24 seconds, the

average size of flashes is 4-7 pixels corresponding to 2.9Mm2 to 5.075Mm2 and

the average brightness of the flashes is approximately 100 photon counts.

49

Page 64: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Figure 27: Histogram of average period of flashes averaged over images from all

datasets.

Figure 28: Histogram of average size of flashes averaged over images from all

datasets.

50

Page 65: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Figure 29: Histogram of average brightness of flashes averaged over images from

all datasets.

51

Page 66: SEGMENTATION OF CORONAL HOLES USING ACTIVE

6 VALIDATION OF CORONAL HOLE SEGMENTATION

This section details the results obtained by applying the ACWE algorithm to

solar imagery and validates the segmentation results using some quantitative mea-

surements like skewness of the magnetogram data, speed of ACE data, boundary

flashes, and compared to a current existing method [28].

6.1 Validation with Magnetogram Data

There are strong indirect evidences that magnetic fields in coronal holes are always

open [20]. Thus, measurement of skewness of the magnetic field in magnetograms

underlying coronal holes serves as an important metric for the verification of the

detected coronal hole boundary. The magnetogram that is closest to the AIA

observation time is overplotted with the resulting active contour coronal hole

boundaries. Thus, we use the active contour segmentation to mask the coincident

magnetogram. The flux imbalance is measured by skewness of the flux distribution

within the coronal hole. Coronal holes are well known to show one dominant

polarity either dominantly poistive or dominantly negative.

The skewness of the field strength distribution for the data considered are

tabulated in Table 3. The results from the table strongly indicates the existence of

a unipolar magnetic field which implies that the obtained segmented boundaries

are the actual coronal holes. Figure 30 shows the plot obtained by calculating

52

Page 67: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Starting day Period Average Skewness

01-01-2011 10 days 4.92±0.83

06-01-2012 7 days 5.53±0.83

02-27-2013 7 days 7.67±0.86

08-22-2011 5 days 6.05±1.44

01-25-2012 5 days 3.77±0.42

Table 3: Average skewness values plus or minus standard deviation for each of the

datasets.

skewness of the magnetic flux distribution, by overplotting segmented image from

ACWE algorithm on to magnetogram. The plot shown is for one data set for a

period of 10 days (i.e. from 01-01-2011 to 01-10-2011). A skewness value above

2.5 and below -2.5 are considered to be having dominant uni-polarity [28] and so

from Figure 30 it can be seen that the average skewness is around 5 and even the

lowest value is above 2.5 which proves that the segmented boundaries are coronal

hole boundaries.

6.2 Validation with ACE data

As coronal holes are sources of high speed solar winds [11], [56], [30], the obtained

segmented results are compared with the solar wind stream samples at the same

period of time. The main aim of this study is to link the properties of coronal holes

with the high speed solar wind streams measured with the Advanced Composition

53

Page 68: SEGMENTATION OF CORONAL HOLES USING ACTIVE

0 50 100 150 2002.5

3

3.5

4

4.5

5

5.5

6

6.5

7Skewness of Magnetogram

No of segmented images

skew

ness

Figure 30: Skewness of magnetic field distribution obtained using segmented im-

ages from ACWE algorithm and magnetograms for one dataset.

Explorer (ACE). Knowing the exact location of the coronal holes enables us to

make more accurate estimates of arrival times and duration of high speed solar

wind streams at the Earth.

Figure 31 shows the solar wind measurements for the period 01-01-2011 to

01-10-2011 which is one of the data sequence considered. Figure 32 shows the

segmented coronal hole boundary for the days 01-03-2011, 01-05-2011, 01-07-2011.

As a coronal hole rotates through the right hemisphere, the solar wind speed at

earth should increase approximately 2 days later. Thus, we want to look for

the segmented coronal hole boundary to be on the right side of the solar disk

approximately 2 days before the rise in the solar wind measurements. From Figure

31, it can be seen that there is rise in the solar wind measurement around 2011-

01-07, and from Figure 32, segmented coronal hole boundary is in the left side of

54

Page 69: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Figure 31: Solar wind measurement profile from ACE

01−03−2011

(a) segmented output for 01-

03-2011 .

01−05−2011

(b) segmented output for 01-

05-2011 .

segmented output 01−07−2011

(c) segmented output for 01-

07-2011 .

Figure 32: (a) segmented output for 01-03-2011 (b) segmented output for 01-05-

2011 and (c) segmented output for 01-07-2011.

solar disk on 01-03-2011 as seen in Figure 32(a) and started moving towards right

on 01-05-2011 seen in Figure 32(b). The segmented coronal hole was on the right

for 01-07-2011 where the solar wind measurements are high in Figure 31. These

plots provide additional confirmation of the accuracy of the detection of coronal

hole boundaries.

55

Page 70: SEGMENTATION OF CORONAL HOLES USING ACTIVE

6.3 Validation using Flashes

As mentioned in Chapter 5, flashes are the brightenings that occur along the

boundary of the coronal hole and can serve as an important metric for the ver-

ification of the segmented coronal hole boundary. As described in Section 5.2,

different regions around the detected coronal hole boundary are chosen and the

number of flashes normalized with area of each region are counted and plotted.

Figure 33 shows the plot of number of flashes in each region of interest. Since

each of the four regions has different areas (sizes), the number of flashes in each

region are normalized with respect to areas. It can be observed from Figure 33

that number of flashes are relatively high in Region 1 which is 20 pixels wide

around the predicted coronal hole boundary. The other regions have less than

1/2 the number of flashes. This provides evidence supporting the hypothesis of

reconnection events at the CH boundaries.

6.4 Validation Compared to Previous Standard Detection Method

The results of our algorithm using ACWE applied to solar imagery are compared

with the output of CHARM algoritm [28] which is a standard detection method

used in National Oceanic and Atmospheric Administration (NOAA) for solar wind

forecast purposes.

The Coronal Hole Automated Recognition and Monitoring (CHARM) algo-

rithm uses a Lambertian equal area projection (LEAP) to project a spherical

56

Page 71: SEGMENTATION OF CORONAL HOLES USING ACTIVE

0 1000 2000 3000 4000 5000 60000

1000

2000

3000

4000

5000

6000

7000

8000No of flashes in region1

No of Images

No

of fl

ashe

s

(a) Number of flashes in Region 1.

0 1000 2000 3000 4000 5000 60000

500

1000

1500

2000

2500

3000

3500No of flashes in region2

No of Images

No

of fl

ashe

s(b) Number of flashes in Region 2.

0 1000 2000 3000 4000 5000 60000

200

400

600

800

1000

1200

1400

1600

1800

2000No of flashes in region3

No of Images

No

of fl

ashe

s

(c) Number of flashes in Region 3.

0 1000 2000 3000 4000 5000 60000

50

100

150

200

250

300No of flashes in region4

No of Images

No

of fl

ashe

s

(d) Number of flashes in Region 4.

Figure 33: plot for the count of flashes in each of the four regions of interest

discussed in section 5.2.(a) number of flashes in Region 1, (b) number of flashes

in Region 2 (c) number of flashes in Region 3 and (d) number of flashes in Region

4 for dataset from 01-01-2011 to 01-10-2011.

57

Page 72: SEGMENTATION OF CORONAL HOLES USING ACTIVE

Figure 34: Output of CHARM algorithm which is a standard detection method

surface to a cylindrical surface. Then, the solar image is partioned into sub-

images and a threshold is obtained by taking the intensity histogram for each of

the sub-images. The obtained threshold is then used to obtain segmented coronal

hole boundaries. The CHARM algorithm uses LEAP as it divides the images into

sub-images of equal sizes and so projection of a spherical surface to a cylindrical

surface is required. In our current algorithm, a Lambertian equal area projection

is not neccesary as we are not concerned with areas.

Figure 34 shows the output of the CHARM algoritm for the day 11-28-2012.

Figure 35 shows the output of ACWE algorithm for the same date. From these

figures it can be seen that, both the outputs are mostly similar in detecting the

boundaries of the coronal hole.

58

Page 73: SEGMENTATION OF CORONAL HOLES USING ACTIVE

ACWE output

Figure 35: Output of ACWE for the same day as in Figure 34

6.5 Summary

From all the above sections, it can be summarized that the detected coronal hole

boundary is validated with several quantitative metrics, and the results prove that

the segmented region is actual coronal hole boundary. An important property of

coronal holes are their dominant unipolar nature which is confirmed by calculating

the skewness values of the detected coronal hole areas which are summarized in

Table 3 and Figure 30. Solar wind measurements provides an accurate way to

validate the obtained coronal hole boundaries. From Figures 31 and 32 it can

be confirmed that the segmented coronal hole boundaries are in accordance with

the solar wind measurements. Counts of flashes in each region of interest shown

in Figure 33 clearly indicate that the detected coronal hole boundaries are the

actual coronal holes. Finally, comaparision of the proposed algorithm output to

59

Page 74: SEGMENTATION OF CORONAL HOLES USING ACTIVE

a standard method [28] output gives affirmation of the accuracy of the current

work. Although, accuracy of the algorithm is verified with several quantitative

measurements and to the previous existing techniques lack of ground truth for the

comparision of the output makes the study incomplete.

60

Page 75: SEGMENTATION OF CORONAL HOLES USING ACTIVE

7 CONCLUSION

In this work, we proposed an algorithm to segment the coronal hole boundaries

in automated manner as the main goal of this thesis is to improve the coronal

hole detection method compared to the existing threshold based techniques. For

this study, data for > 7 days of time is collected for different dates and output is

verified using various measurement techniques and parameters.

The segmentation algorithm first identifies coronal hole boundaries using ACWE

energies. Critical parameters of ACWE like length of the contour, interior and

exterior homogenity parameters, initialization and stopping criterion are chosen

by measuring the skewness of the underlying magnetogram. After obtaining the

segmented coronal hole boundaries, small scale changes happening at the bound-

aries are analyzed using a flash detection algorithm and various characteristics

of these flashes like average size, average brightness and average time period are

observed. Additionally, the flux imbalance was determined using HMI magne-

tograms, to establish whether the detected region was actually a coronal hole.

Results are validated with flashes, ACE solar wind speed plots, and by comparing

to a standard detection method.

The developed algorithm is fast, robust, and allows use of data from different

instruments and for different wavelengths. As opposed to previous methods, where

threshold based techniques were chosen, here, the method uses image energies

61

Page 76: SEGMENTATION OF CORONAL HOLES USING ACTIVE

based on intensity homogenity to obtain the coronal hole boundaries.

Due to the fast and automated approach of this method, it allows analysis of

large datasets and can be used to study evolution of coronal holes. On a smaller

scale, the flash detection algorithm can also be applied to understand small scale

changes in boundaries of coronal holes.

Although robust, the proposed automated approch is by no means complete,

and it should be considered complementary to other published approches as there

is no ground truth to do the actual comparision. We conclude that an extensive

study of the connection between the coronal hole morphology, physical properties,

and the solar wind profile is needed to have a better understanding of coronal holes

and their interplanetary effects.

62

Page 77: SEGMENTATION OF CORONAL HOLES USING ACTIVE

8 FUTURE WORK

There are several considerations that might lead to a better and more significant

automation in future studies. Firstly, the ACWE algorithm can be improved by

having the energy term related to flashes within itself, so that the intial curve will

evolve to the exact coronal hole boundaries based on the number of flashes. Also,

along with the term related to flashes, another energy term related to skewness of

the magnetogram can also be added. Secondly, although, the ACWE algorithm is

not dependent on the defined initial curve, it is initialized using basic threshold-

ing whose threshold value is chosen based on histogram and visualization. This

threshold can be selected using more quantatively apt techniques rather than just

visualizing the histogram, so that ACWE algorithm will get to the exact con-

tour with less number of iterations. Thirdly, also the threshold value chosen in

the flash detection algorithm was arbitrarily chosen based on visualization of the

histogram. Further analysis needs to be carried out to justify this value.

Although AIA data is analysed for around 10 days, it would be more benefi-

cial to carry out a long-term study to observe the evolution of the coronal hole

boundary. Also, this work can be applied to other wavelengths like 171Å, 304Å,

and 335Å. Possible extension of this work is in filament detection. Filaments are

dark ribbon-like elements that are generally located in the upper chromosphere

and the lower corona. Although filaments are dark structures like coronal holes,

63

Page 78: SEGMENTATION OF CORONAL HOLES USING ACTIVE

they have bi-polar distribution of polarities [45], whereas coronal holes have one

dominant polarity of the magnetic field. Flux imbalance can be determined from

the magnetogram and filaments can be seperated from coronal holes.

The ultimate goal of detecting the coronal holes using segmentation techniques

is for solar wind forecast purposes. Thus, a short term goal of this work would

be to find the changes in evolution of the coronal hole. These temporal changes

in the coronal hole boundary can be used to build a model for the prediction of

solar winds. A long term plan is to extend the analysis of temporal evolution for a

solar cycle and link all the major coronal holes to solar wind speed rises. This will

allow us to build a relationship between coronal hole properties and high-speed

solar wind profiles.

64

Page 79: SEGMENTATION OF CORONAL HOLES USING ACTIVE

APPENDICES

Page 80: SEGMENTATION OF CORONAL HOLES USING ACTIVE

APPENDIX A

MATLAB CODE

Page 81: SEGMENTATION OF CORONAL HOLES USING ACTIVE

A MATLAB CODE

A.1 Get Datasets Code

base_directory = ’/home/meghala/AIA_data ’;

year= 2011;

month = 01;

day = 01;

5 num_days = 10;

for k = 1: num_days *24

current_time = datenum(year ,month ,day ,k-1,0,0);

date_str = [datestr(current_time ,10),’.’,datestr(current_time ,5),’.’,...

10 datestr(current_time ,7),’_’,datestr(current_time ,15)];

jsoc_str = [’’’aia.lev1_euv_12s[’,date_str ,’/5m][193]{ image}’’’];

directory_str = [datestr(current_time ,10),’_’,datestr(current_time ,5),...

’_’,datestr(current_time ,7)];

i f isempty(dir(directory_str ))

15 system ([’mkdir ’,directory_str ]);

end

directory_str = [directory_str ,’/’,datestr(current_time ,30)];

i f isempty(dir(directory_str ))

system ([’mkdir ’,directory_str ]);

20 end

i f ~isempty(dir(directory_str ))

system ([’cp exportfile.csh url_escape.pl ’,base_directory ,’/’,directory_str ]);

eval([’cd ’,base_directory ,’/’,directory_str ]);

system ([’./ exportfile.csh ’,jsoc_str ]);

25 system ([’rm -f exportfile.csh url_escape.pl’]);

% s y s t e m ([ ’ f o r i in ∗. f i t s ; do mv " $i " " $i ". fz ; done ’ ] ) ;

eval([’cd ’,base_directory ]);

end

67

Page 82: SEGMENTATION OF CORONAL HOLES USING ACTIVE

end

68

Page 83: SEGMENTATION OF CORONAL HOLES USING ACTIVE

A.2 Active Contours Without Edges Calling Program Code

clc ;

clear a l l ;

close a l l ;

%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

5 % T h i s is t h e m a i n p r o g r a m w h i c h r e a d s A I A d a t a f o r g i v e n p e r i o d a n d t h e n

% s e n d s e a c h i m a g e to a c t i v e c o n t o u r s w i t h o u t e d g e s a l g o r i t h m , o b t a i n s t h e

% s e g m e n t e d i m a g e a n d s a v e s f i n a l s e g m e n t e d e a c h f o r e a c h h o u r on to a

% s t r u c t u r e w h i c h is f i n a l l y s a v e d in to a m a t f i l e t h a t c a n be a c c e s s e d

% l a t e r f o r f l a s h d e t e c t i o n , p a r a m e t e r s e l e c t i o n e t c .

10 %

% P a t h s to be t a k e n c a r e of : p a t h f o r b a s e _ d i e c t o r y ( b a s e _ d i r e c t o r y )

% p a t h f o r m a t f i l e ( m a t f i l e p a t h )

%

% A u t h o r : M e g h a l a v a l l u r i ( m e g h a l a 9 @ n m s u . e d u )

15 %

% C r e a t i o n D a t a : 26 J a n 2 0 1 2

%

% N o t e s :

%

20 % R e v i s i o n H i s t o r y :

%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

% C o d e f o r r e a d i n g f i l e n a m e s f r o m a l l t h e d i r e c t o r i e s i n t o a s i n g l e s t r u c t u r e

25 base_directory = ’/home/meghala/AIA_data/’;

matfilepath1 = ’/media/Meghala/Uni desktop/DSP Project ’;

mtfilepath2 = ’/DSP Project/ACWE/thesis final folder ’;

matfilepath = strcat(matfilepath1 , matfilepath2 );

30

69

Page 84: SEGMENTATION OF CORONAL HOLES USING ACTIVE

directories = dir(base_directory );

k = 1;

field = ’name’;

35 value = ’’;

files = struct(field ,value);

l = 1;

field1 = ’image ’;

40 value1 = ’’;

seg_im_hr = struct(field1 , value1 );

for i = 1: length(directories)

folder = directories(i).name;

45 folderpath = [base_directory ,folder ];

i f ( isdir(folderpath ))

directories_folder = dir(folderpath );

for j = 3: length(directories_folder)

data_directory = directories_folder(j).name;

50 filenames = dir ([folderpath ,’/’,data_directory ,’/*. fits’]);

for j = 1: length(filenames)

files(k).name = [folderpath ,’/’,data_directory ,’/’,filenames(j).name];

k= k+1;

end

55 end

end

end

% c o d e f o r r e a d i n g e a c h f i l e in t h e s t r u c t u r e f i l e s a n d s e n d i n g it to t h e

60 % A C W E a l g o r i t h m

70

Page 85: SEGMENTATION OF CORONAL HOLES USING ACTIVE

for n = 1: length(files)

i f ( n== 1) % F o r t h e 1 st i m a g e m a s k is c r e a t e d f r o m t h e i m a g e

I = fitsread(files(n).name);

65 im_size= s ize (I); % f i n d t h e s i z e of t h e i m a g e

min_intensity=min(min(I)); % f i n d t h e m a x i n t e n s i t y v a l u e in A

max_intensity=max(max(I)); % f i n d t h e m i n i n t e n s i t y v a l u e in A

I_full =(I-double(min_intensity ))

*(255.0/( double(max_intensity)-double(min_intensity ))); % i m a g e s c a l i n g

70 I_scaled = I_full *(1/255); % I m a g e in r a n g e 0−255

% h i s t o g r a m e q u a l i z a t i o n f o r i m p r o v i n g c o n t r a s t

eq_image = histeq(I_scaled );

alpha = 0.2 ; % f a c t o r f o r p e r c e n t a g e t h r e s h o l d i n g

I_max = max(max(eq_image ));

75 I_min = min(min(eq_image ));

level = alpha*(I_max -I_min)+I_min; % 2 0 % t h r e s h o l d i n g

% C o n v e r s i o n to b i n a r y i m a g e u s i n g t h r e s h o l d v a l u e

m = 1-im2bw(eq_image ,level);

m = imclearborder(m); % r e m o v a l of t h e b o u n d a r y

80 % m = i m 2 b w ( m , 0 . 4 ) ;

s = strel(ones (5 ,5));

m = imerode(m,s);

imshow(m);

I = imresize(I,.5); %−− m a k e i m a g e s m a l l e r

85 m = imresize(m,.5); %−−f o r f a s t c o m p u t a t i o n

subplot(2,2,1); imagesc(I); t i t l e (’Input Image’);

subplot(2,2,2); imagesc(m); t i t l e (’Initialization ’);

subplot(2,2,3); t i t l e (’Segmentation ’);

% s e g = r e g i o n _ s e g ( I , m , 400 ,0 , true , 2 , 0 . 2 ) ; %−− R u n s e g m e n t a t i o n

90 seg = acflashesv2(I, m, 200,0,true ,5,5,0,1,1); %−− R u n s e g m e n t a t i o n

subplot(2,2,4); imagesc(seg); t i t l e (’Global Region -Based Segmentation ’);

seg = imresize(seg , 2);

71

Page 86: SEGMENTATION OF CORONAL HOLES USING ACTIVE

else

% % R e g i o n 1 a n d r e g i o n 2 f l a s h e s a r e g i v e n as i n p u t to s e g m e n t a t i o n

95 % % a l g o r i t h m by c a l c u l a t i n g t h e m f r o m t h e p r e v i o u s l y o b t a i n e d

% % s e g m e n t e d i m a g e

% s e 1 = s t r e l ( o n e s ( 1 0 , 1 0 ) ) ;

% s _ i m 1 = i m d i l a t e ( seg , s e 1 ) − i m e r o d e ( seg , s e 1 );

% a r e a 1 = s u m ( t r a p z ( s _ i m 1 ) ) ;

100 % s _ i m 2 = z e r o s ( s i z e ( s e g ) ) ;

% s _ i m 2 = i m e r o d e ( seg , s e 1 );

% a r e a 2 = s u m ( t r a p z ( s _ i m 2 ) ) ;

% f i l e n a m e 1 = f i l e s ( i ). n a m e ; % r e a d e a c h f i l e

% f i l e n a m e 2 = f i l e s ( i + 1 ) . n a m e ; % R e a d s u b s e q u e n t f i l e

105 I1 = fitsread(filename1 );

I2 = fitsread(filename2 );

%

Diff_im = I2-I1;

% % m a s k e d i m a g e w i t h 20 p i x e l s w i d e s t r i p at t h e b o u n d a r y of c o r o n a l h o l e

110 masked_image1 = Diff_im .*s_im1;

thresh_im1 = masked_image1 >60;

[l1 , labelnum1 ] = bwlabel(thresh_im1 );

% % m a s k e d i m a g e w i t h t h e b o u n d a r y of t h e c o r o n a l h o l e

% m a s k e d _ i m a g e 2 = D i f f _ i m .∗ s _ i m 2 ;

115 % t h r e s h _ i m 2 = m a s k e d _ i m a g e 2 > 6 0 ;

% [ l2 , l a b e l n u m 2 ] = b w l a b e l ( t h r e s h _ i m 2 );

% % m a s k is t h e s e g m e n t e d i m a g e o b t a i n e d by s e g m e n t i n g p r e v i o u s i m a g e

m = seg;

I2 = imresize(I2 ,.5); %−− m a k e i m a g e s m a l l e r

120 m = imresize(m,.5); %−−f o r f a s t c o m p u t a t i o n

subplot(2,2,1); imagesc(I2); t i t l e (’Input Image’);

subplot(2,2,2); imagesc(m); t i t l e (’Initialization ’);

subplot(2,2,3); t i t l e (’Segmentation ’);

72

Page 87: SEGMENTATION OF CORONAL HOLES USING ACTIVE

% %

125 % % s e g = r e g i o n _ s e g ( I , m , 400 ,0 , true , 2 , 0 . 2 ) ; %−− R u n s e g m e n t a t i o n

seg = acflashesv2(I2 , m, 300,0,true ,15,0.2,0, labelnum1 ,labelnum2 );

subplot(2,2,4); imagesc(seg); t i t l e (’Global Region -Based Segmentation ’);

seg = imresize(seg , 2);

end

130 % c o d e f o r s a v i n g s e g m e t e d i m a g e i n t o a s t r u c t u r e f o r e v e r y o n e h o u r

i f ( rem(n,25) == 0)

seg_im_hr(l).image = seg;

l = l+1;

end

135 n

end

% s a v i n g s e g m e n t e d i m a g e s to s e g _ i m . m a t f i l e

save([ matfilepath , ’data.mat’], ’seg_im_hr ’);

73

Page 88: SEGMENTATION OF CORONAL HOLES USING ACTIVE

A.3 Active Contour Without Edges Function Code

% R e g i o n B a s e d A c t i v e C o n t o u r S e g m e n t a t i o n

%

% s e g = r e g i o n _ s e g ( I , i n i t _ m a s k , m a x _ i t s , alpha , d i s p l a y )

%

5 % I n p u t s : I 2 D i m a g e

% i n i t _ m a s k I n i t i a l i z a t i o n (1 = f o r e g r o u n d , 0 = bg )

% m a x _ i t s N u m b e r of i t e r a t i o n s to r u n s e g m e n t a t i o n f o r

% a l p h a ( o p t i o n a l ) W e i g h t of s m o o t h i n g t e r m

% h i g e r = s m o o t h e r . d e f a u l t = 0 . 2

10 % d i s p l a y ( o p t i o n a l ) d i s p l a y s i n t e r m e d i a t e o u t p u t s

% d e f a u l t = t r u e

%

% O u t p u t s : s e g F i n a l s e g m e n t a t i o n m a s k ( 1 = fg , 0= bg )

%

15 % D e s c r i p t i o n : T h i s c o d e i m p l e m e n t s t h e p a p e r : " A c t i v e C o n t o u r s W i t h o u t

% E d g e s " By C h a n V e s e . T h i s is a n i c e w a y to s e g m e n t i m a g e s w h o s e

% f o r e g r o u n d s a n d b a c k g r o u n d s a r e s t a t i s t i c a l l y d i f f e r e n t a n d h o m o g e n e o u s .

%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

function seg = acflashesv2(I,init_mask ,max_its ,alpha,display ,lambda1 ...

20 ,lambda2 ,lambda3 ,nr1 ,nr2)

a=lambda1

%−− d e f a u l t v a l u e f o r p a r a m e t e r a l p h a is .1

i f (~ exist (’alpha’,’var’))

25 alpha = .2;

end

%−− d e f a u l t b e h a v i o r is to d i s p l a y i n t e r m e d i a t e o u t p u t s

i f (~ exist (’display ’,’var’))

display = true;

30 end

74

Page 89: SEGMENTATION OF CORONAL HOLES USING ACTIVE

%−− e n s u r e s i m a g e is 2 D d o u b l e m a t r i x

I = im2graydouble(I);

35

%−− C r e a t e a s i g n e d d i s t a n c e m a p ( S D F ) f r o m m a s k

phi = mask2phi(init_mask );

phip = zeros( s ize (phi ));

40

no_flashes = nr1+nr2;

total_flashes = (1-(nr1/no_flashes ))+( nr2/no_flashes)

45 %−−m a i n l o o p

for its = 1: max_its % N o t e : no a u t o m a t i c c o n v e r g e n c e t e s t

idx = find(phi <= 1.2 & phi >= -1.2); % g e t t h e curve ’ s n a r r o w b a n d

50 %−− f i n d i n t e r i o r a n d e x t e r i o r m e a n

upts = find(phi <=0); % i n t e r i o r p o i n t s

vpts = find(phi >0); % e x t e r i o r p o i n t s

u = sum(I(upts ))/( length(upts)+eps); % i n t e r i o r m e a n

v = sum(I(vpts ))/( length(vpts)+eps); % e x t e r i o r m e a n

55 % f o r c e f r o m i m a g e i n f o r m a t i o n

F = (lambda1 *(I(idx)-u).^2) -( lambda2 *(I(idx)-v).^2) -( lambda3*total_flashes );

a = lambda1 *(I(idx)-u).^2;

b = lambda2 *(I(idx)-v).^2;

c = lambda3*total_flashes;

60 curvature = get_curvature(phi ,idx); % f o r c e f r o m c u r v a t u r e p e n a l t y

75

Page 90: SEGMENTATION OF CORONAL HOLES USING ACTIVE

sf = s ize (F);

i f (sf(1) ~= 0)

65 % g r a d i e n t d e s c e n t to m i n i m i z e e n e r g y

dphidt = F./max(abs(F)) + alpha*curvature;

%−− m a i n t a i n t h e C F L c o n d i t i o n

dt = .45/(max(dphidt )+eps);

70 % % % % %

sdt = s ize (dt);

sdphidt = s ize (dphidt );

75 %−− e v o l v e t h e c u r v e

phi(idx) = phi(idx) + dt.* dphidt;

%−− K e e p S D F s m o o t h

phi = sussman(phi , .5);

80

%−− i n t e r m e d i a t e o u t p u t

i f ((display >0)&&( mod(its ,20) == 0))

showCurveAndPhi(I,phi ,its);

85 % d i s p ( ’ a = ’);

% a

% d i s p ( ’ b = ’)

% b

% d i s p ( ’ c = ’);

90 % c

% S t o p p i n g c r i t e r i o n l o g i c

m1 = phi <=0;

76

Page 91: SEGMENTATION OF CORONAL HOLES USING ACTIVE

m2 = phip <=0;

perc_change = sum(sum(abs(m2 -m1 )))*100/sum(sum(m1))

95

% c o n t = c o n t o u r ( p h i );

% p r e v _ c o n t = c o n t o u r ( p h i p );

% x _ v a l = c o n t ( 1 , : ) ;

% y _ v a l = c o n t ( 2 , : ) ;

100 % p r e v _ x _ v a l = p r e v _ c o n t ( 1 , : ) ;

% p r e v _ y _ v a l = p r e v _ c o n t ( 2 , : ) ;

% bw = p o l y 2 m a s k ( x_val , y_val , rows , c o l s );

% b w _ p = p o l y 2 m a s k ( p r e v _ x _ v a l , p r e v _ y _ v a l , rows , c o l s );

105 % f i g u r e , i m s h o w ( bw );

% f i g u r e , i m s h o w ( b w _ p );

% m a s k _ d i f f = bw−b w _ p ;

110 % a r e a = p o l y a r e a ( x _ v a l , y _ v a l );

% p r e v _ a r e a = p o l y a r e a ( p r e v _ x _ v a l , p r e v _ y _ v a l );

% a r e a = t r a p z ( x _ v a l , y _ v a l );

% p r e v _ a r e a = t r a p z ( p r e v _ x _ v a l , p r e v _ y _ v a l );

115

% p e r c _ c h a n g e = ( p r e v _ a r e a −a r e a ) ∗ 1 0 0 / a r e a

i f (perc_change <= 4)

break;

120 else

phip = phi;

end

end

77

Page 92: SEGMENTATION OF CORONAL HOLES USING ACTIVE

end

125 end

%−− f i n a l o u t p u t

i f (display)

130 showCurveAndPhi(I,phi ,its);

end

max_its

%−− m a k e m a s k f r o m S D F

seg = phi <=0; %−− G e t m a s k f r o m l e v e l s e t

135

%

%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

%−− A U X I L I A R Y F U N C T I O N S −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

140 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

%−− d i s p l a y s t h e i m a g e w i t h c u r v e s u p e r i m p o s e d

145 function showCurveAndPhi(I, phi , i)

imshow(I,’initialmagnification ’ ,200,’displayrange ’ ,[0 400]); hold on;

contour(phi , [0 0], ’g’,’LineWidth ’ ,4);

contour(phi , [0 0], ’k’,’LineWidth ’ ,2);

150 hold off; t i t l e ([num2str(i) ’ Iterations ’]); drawnow;

%−− c o n v e r t s a m a s k to a S D F

function phi = mask2phi(init_a)

phi=bwdist(init_a)-bwdist(1-init_a )+ im2double(init_a )-.5;

78

Page 93: SEGMENTATION OF CORONAL HOLES USING ACTIVE

155

%−− c o m p u t e c u r v a t u r e a l o n g S D F

function curvature = get_curvature(phi ,idx)

[dimy , dimx] = s ize (phi);

[y x] = ind2sub ([dimy ,dimx],idx); % g e t s u b s c r i p t s

160

%−− g e t s u b s c r i p t s of n e i g h b o r s

ym1 = y-1; xm1 = x-1; yp1 = y+1; xp1 = x+1;

%−− b o u n d s c h e c k i n g

165 ym1(ym1 <1) = 1; xm1(xm1 <1) = 1;

yp1(yp1 >dimy)=dimy; xp1(xp1 >dimx) = dimx;

%−− g e t i n d e x e s f o r 8 n e i g h b o r s

idup = sub2ind( s ize (phi),yp1 ,x);

170 iddn = sub2ind( s ize (phi),ym1 ,x);

idlt = sub2ind( s ize (phi),y,xm1);

idrt = sub2ind( s ize (phi),y,xp1);

idul = sub2ind( s ize (phi),yp1 ,xm1);

idur = sub2ind( s ize (phi),yp1 ,xp1);

175 iddl = sub2ind( s ize (phi),ym1 ,xm1);

iddr = sub2ind( s ize (phi),ym1 ,xp1);

%−− g e t c e n t r a l d e r i v a t i v e s of S D F at x , y

phi_x = -phi(idlt)+phi(idrt);

180 phi_y = -phi(iddn)+phi(idup);

phi_xx = phi(idlt)-2*phi(idx)+phi(idrt);

phi_yy = phi(iddn)-2*phi(idx)+phi(idup);

phi_xy = -0.25* phi(iddl ) -0.25* phi(idur)...

+0.25* phi(iddr )+0.25* phi(idul);

185 phi_x2 = phi_x .^2;

79

Page 94: SEGMENTATION OF CORONAL HOLES USING ACTIVE

phi_y2 = phi_y .^2;

%−− c o m p u t e c u r v a t u r e ( K a p p a )

curvature = (( phi_x2 .* phi_yy + phi_y2 .* phi_xx - 2*phi_x.* phi_y.* phi_xy )./ ...

190 (phi_x2 + phi_y2 +eps).^(3/2)).*( phi_x2 + phi_y2 ).^(1/2);

%−− C o n v e r t s i m a g e to o n e c h a n n e l ( g r a y s c a l e ) d o u b l e

function img = im2graydouble(img)

[dimy , dimx , c] = s ize (img);

195 i f (isfloat(img)) % i m a g e is a d o u b l e

i f (c==3)

img = rgb2gray(uint8(img));

end

else % i m a g e is a i n t

200 i f (c==3)

img = rgb2gray(img);

end

img = double(img);

end

205

%−− l e v e l s e t re−i n i t i a l i z a t i o n by t h e s u s s m a n m e t h o d

function D = sussman(D, dt)

% f o r w a r d / b a c k w a r d d i f f e r e n c e s

a = D - shiftR(D); % b a c k w a r d

210 b = shiftL(D) - D; % f o r w a r d

c = D - shiftD(D); % b a c k w a r d

d = shiftU(D) - D; % f o r w a r d

a_p = a; a_n = a; % a + a n d a−

215 b_p = b; b_n = b;

c_p = c; c_n = c;

80

Page 95: SEGMENTATION OF CORONAL HOLES USING ACTIVE

d_p = d; d_n = d;

a_p(a < 0) = 0;

220 a_n(a > 0) = 0;

b_p(b < 0) = 0;

b_n(b > 0) = 0;

c_p(c < 0) = 0;

c_n(c > 0) = 0;

225 d_p(d < 0) = 0;

d_n(d > 0) = 0;

dD = zeros( s ize (D));

D_neg_ind = find(D < 0);

230 D_pos_ind = find(D > 0);

dD(D_pos_ind) = sqrt(max(a_p(D_pos_ind ).^2, b_n(D_pos_ind ).^2) ...

+ max(c_p(D_pos_ind ).^2, d_n(D_pos_ind ).^2)) - 1;

dD(D_neg_ind) = sqrt(max(a_n(D_neg_ind ).^2, b_p(D_neg_ind ).^2) ...

+ max(c_n(D_neg_ind ).^2, d_p(D_neg_ind ).^2)) - 1;

235

D = D - dt .* sussman_sign(D) .* dD;

%−− w h o l e m a t r i x d e r i v a t i v e s

function shift = shiftD(M)

240 shift = shiftR(M’)’;

function shift = shiftL(M)

shift = [ M(:,2: s ize (M,2)) M(:, s ize (M,2)) ];

245 function shift = shiftR(M)

shift = [ M(:,1) M(:,1: s ize (M,2) -1) ];

81

Page 96: SEGMENTATION OF CORONAL HOLES USING ACTIVE

function shift = shiftU(M)

shift = shiftL(M’)’;

250

function S = sussman_sign(D)

S = D ./ sqrt(D.^2 + 1);

82

Page 97: SEGMENTATION OF CORONAL HOLES USING ACTIVE

A.4 Flash Detection Algorithm Code

clc ;

clear a l l ;

close a l l ;

5 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

% T h i s p r o g r a m w h i c h r e a d s A C W E f i n a l s e g m e n t e d i m a g e s f o r e a c h h o u r f r o m

% t h e m a t f i l e a n d u s e s t h e m to c a l c u l a t e t h e f l a s h e s in e a c h of t h e f o u r

% d e f i n e d ROI ’ s a n d a l s o g e n e r a t e p l o t s f o r f l a s h c h a r a c t e r i s t i c s l i k e

% a v e r a g e a r e a of f l a s h e s in a d i f f e r e n c e image , a v e r a g e i n t e n s i t y of f l a s h e s

10 % in a d i f f e r e n c e i m a g e

%

% P a t h s to be t a k e n c a r e of : p a t h f o r b a s e _ d i e c t o r y ( b a s e _ d i r e c t o r y )

% p a t h f o r m a t f i l e ( m a t f i l e p a t h )

%

15 % A u t h o r : M e g h a l a v a l l u r i ( m e g h a l a 9 @ n m s u . e d u )

%

% C r e a t i o n D a t a : 26 J a n 2 0 1 2

%

% N o t e s :

20 %

% R e v i s i o n H i s t o r y :

%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

matfilepath1 = ’/media/Meghala/Uni desktop/DSP Project ’;

25 mtfilepath2 = ’/DSP Project/ACWE/thesis final folder/’;

matfilepath = strcat(matfilepath1 , matfilepath2 );

% M a t f i l e w i t h s e g m e n t e d i m a g e s o b t a i n e d by a p p l y i n g A C W E a l g o r i t h m

30 load([ matfilepath , ’acwe_seg_im_1.mat’]);

83

Page 98: SEGMENTATION OF CORONAL HOLES USING ACTIVE

base_directory = ’/home/meghala/AIA_data/’;

directories = dir(base_directory );

35

k = 1;

field = ’name’;

value = ’’;

files = struct(field ,value);

40

l = 1;

field1 = ’image ’;

value1 = ’’;

seg_im_hr = struct(field1 , value1 );

45

for i = 1: length(directories)

folder = directories(i).name;

folderpath = [base_directory ,folder ];

i f ( isdir(folderpath ))

50 directories_folder = dir(folderpath );

for j = 3: length(directories_folder)

data_directory = directories_folder(j).name;

filenames = dir ([folderpath ,’/’,data_directory ,’/*. fits’]);

for j = 1: length(filenames)

55 files(k).name = [folderpath ,’/’,data_directory ,’/’...

,filenames(j).name];

k= k+1;

end

end

60 end

end

84

Page 99: SEGMENTATION OF CORONAL HOLES USING ACTIVE

seg_im = all_seg_im_hr (1).image;

65 se1 = strel(ones (10 ,10));

se2 = strel(ones (10 ,10));

se3 = strel(ones (20 ,20));

sum_diff_im1 = zeros( s ize (seg_im ));

sum_diff_im2 = zeros( s ize (seg_im ));

70 sum_diff_im3 = zeros( s ize (seg_im ));

sum_diff_im4 = zeros( s ize (seg_im ));

i = 1;

c =3;

for a = 1: length(files)

75 seg_im = all_seg_im_hr(a).image;

b = bwboundaries(seg_im );

i f ( length(b) == 0)

a = a+1;

continue;

80 else

s_im1 = imdilate(seg_im , se1) - imerode(seg_im , se1);

area1 = sum(trapz(s_im1 ));

% s _ i m 1 a = i m d i l a t e ( s e g _ i m , s e 1 ) − s e g _ i m ;

85 % M a s k f o r t h e r e g i o n i n s i d e t h e c o r o n a l h o l e b o u n d a r y

s_im2 = zeros( s ize (seg_im ));

[size_x size_y] = s ize (seg_im );

% f o r i = 1: n u m e l ( b )

% a = b { i } ( : , 2 ) ;

90 % a1 = b { i } ( : , 1 ) ;

% p1 = p o l y 2 m a s k ( a , a1 , s i z e _ x , s i z e _ y );

% s _ i m 2 = s _ i m 2 + p1 ;

85

Page 100: SEGMENTATION OF CORONAL HOLES USING ACTIVE

% e n d

s_im2 = imerode(seg_im ,se1);

95 area2 = sum(trapz(s_im2 ));

% m a s k w i t h r i b b o n of 10 p i x e l s w i d e o u t s i d e t h e b o u n d a r y of t h e c o r o n a l h o l e .

s_im3 = imdilate(seg_im , se3) - imdilate(seg_im , se1);

area3 = sum(trapz(s_im3 ));

s_im4 = zeros( s ize (seg_im ));

100 s_im4 (1000:1100 , 1000:1100) = 1;

area4 = sum(trapz(s_im4 ));

d = 25*a;

for k = c:d % l e n g t h ( f i l e n a m e s ) −1

105 I1 = fitsread(files(k).name);

I2 = fitsread(files(k+1). name);

Diff_im = I2-I1;

% m a s k e d i m a g e w i t h 20 p i x e l s w i d e s t r i p a r o u n d t h e b o u n d a r y of c o r o n a l h o l e

110 masked_image1 = Diff_im .*s_im1;

thresh_im1 = masked_image1 >90;

[l1 , labelnum11(i) ] = bwlabel(thresh_im1 );

% C o d e f o r c a l c u l a t i n g a v g a r e a of f l a s h e s

flash_area = regionprops(thresh_im1 ,’area’);

115 total_flash_area = 0;

l = length(flash_area) ;

for j = 1:l

total_flash_area = total_flash_area+flash_area(j).Area;

end

120 avg_flash_area(k) = total_flash_area/l;

no_flashes(k) = l;

% c o d e f o r c a l u l a i n g a v g b r i g h t n e s s of t h e f l a s h e s

86

Page 101: SEGMENTATION OF CORONAL HOLES USING ACTIVE

total_intensity = 0;

125 brightness_im = thresh_im1 .* Diff_im;

cc = bwconncomp(brightness_im );

indarray = cc.PixelIdxList;

n = length(indarray );

130 for m = 1: n

intensity = brightness_im(indarray{m});

i f ( length(intensity) == 1)

total_intensity = total_intensity+intensity;

else

135 total_intensity = total_intensity +(sum(intensity )/n);

end

end

avg_intensity(k) = total_intensity/n;

140 % m a s k e d i m a g e w i t h t h e b o u n d a r y of t h e c o r o n a l h o l e

masked_image2 = Diff_im .*s_im2;

thresh_im2 = masked_image2 > 90;

[l2 , labelnum2(i)] = bwlabel(thresh_im2 );

145 % m a s k e d i m a g e w i t h t h e b o u n d a r y o u t s i d e t h e c o r o n a l h o l e b o u n a r y

masked_image3 = Diff_im .*s_im3;

thresh_im3 = masked_image3 > 90;

[l3 , labelnum3(i)] = bwlabel(thresh_im3 );

150 % m a s k e d i m a g e w i t h r e c t a n g l e o u t s i d e t h e c o r o n a l h o l e b o u n a r y

masked_image4 = Diff_im .*s_im4;

thresh_im4 = masked_image4 > 90;

[l4 , labelnum4(i)] = bwlabel(thresh_im4 );

87

Page 102: SEGMENTATION OF CORONAL HOLES USING ACTIVE

155 i = i+1;

imagesc(Diff_im ); colormap(gray);

% i m a g e s c ( s _ i m ); c o l o r m a p ( g r a y );

% i m a g e s c ( t h r e s h _ i m 3 ) , c o l o r m a p ( g r a y );

160 sum_diff_im1 = sum_diff_im1 + thresh_im1;

sum_diff_im2 = sum_diff_im2 + thresh_im2;

sum_diff_im3 = sum_diff_im3 + thresh_im3;

sum_diff_im4 = sum_diff_im4 + thresh_im4;

end

165 c = (25*a)+1

end

end

170

figure , imagesc(sum_diff_im1 );

t i t l e (’sum of difference images masked with region 1’);

figure , imagesc(sum_diff_im2 );

t i t l e (’sum of difference images masked with region 2’);

175 figure , imagesc(sum_diff_im3 );

t i t l e (’sum of difference images masked with region 3’);

figure , imagesc(sum_diff_im4 );

t i t l e (’sum of difference images masked with region 4’);

180

figure , plot(labelnum11 ); t i t l e (’Number of flashes in region1 ’);

figure , plot(labelnum2 ); t i t l e (’Number of flashes in region2 ’);

figure , plot(labelnum3 ); t i t l e (’Number of flashes in region3 ’);

figure , plot(labelnum4 ); t i t l e (’Number of flashes in region4 ’);

88

Page 103: SEGMENTATION OF CORONAL HOLES USING ACTIVE

A.5 Flash Time Period Code

clc ;

clear a l l ;

close a l l ;

%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

5 % T h i s p r o g r a m r e a d s s a v e d m a t f i l e f o r t h e s e g m e n t e d

% i m a g e s a n d r u n t h e f l a s h d e t e c t i o n a l g o r i t h m to c a l c u l a t e t h e n u m b e r of

% f l a s h e s in e a c h of t h e 4 d e f i n e d ROI ’ s a n d a l s o p l o t s s o m e f l a s h

% c h a r a c t e r i s t i c s l i k e a v e r a g e a r e a of t h e f l a s h e s , a v e r a g e i n t e n s i t y or

% b r i g h n t n e s s of t h e f l a s h e s .

10 %

% P a t h s to be t a k e n c a r e of : p a t h f o r b a s e _ d i e c t o r y ( b a s e _ d i r e c t o r y )

% p a t h f o r m a t f i l e ( m a t f i l e p a t h )

%

% A u t h o r : M e g h a l a v a l l u r i ( m e g h a l a 9 @ n m s u . e d u )

15 %

% C r e a t i o n D a t a : 26 J a n 2 0 1 2

%

% N o t e s :

%

20 % R e v i s i o n H i s t o r y :

%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

matfilepath1 = ’/media/Meghala/Uni desktop/DSP Project ’;

mtfilepath2 = ’/DSP Project/ACWE/thesis final folder/’;

matfilepath = strcat(matfilepath1 , matfilepath2 );

25

% M a t f i l e h a v i n g t h e s e g m e n t e d i m a g e s o b t a i n e d by a p p l y i n g A C W E a l g o r i t h m

load([ matfilepath , ’acwe_seg_im_1.mat’]);

base_directory = ’/home/meghala/AIA_data/’;

30

89

Page 104: SEGMENTATION OF CORONAL HOLES USING ACTIVE

directories = dir(base_directory );

k = 1;

field = ’name’;

35 value = ’’;

files = struct(field ,value);

l = 1;

field1 = ’image ’;

40 value1 = ’’;

seg_im_hr = struct(field1 , value1 );

for i = 1: length(directories)

folder = directories(i).name;

45 folderpath = [base_directory ,folder ];

i f ( isdir(folderpath ))

directories_folder = dir(folderpath );

for j = 3: length(directories_folder)

data_directory = directories_folder(j).name;

50 filenames = dir ([folderpath ,’/’,data_directory ,’/*. fits’]);

for j = 1: length(filenames)

files(k).name = [folderpath ,’/’,data_directory ,’/’...

,filenames(j).name];

k= k+1;

55 end

end

end

end

se1 = strel(ones (10 ,10));

60 c1 = 1;

for a = 1: length(all_seg_im_hr)

90

Page 105: SEGMENTATION OF CORONAL HOLES USING ACTIVE

seg_im = all_seg_im_hr(a).image;

bb = bwboundaries(seg_im );

i f ( length(bb) == 0)

65 a = a+1;

continue;

else

s_im1 = imdilate(seg_im , se1) - imerode(seg_im , se1);

d1 = 25*a;

70 for im = c1:d1 % l e n g t h ( f i l e n a m e s ) −1

I1 = fitsread(files(im).name);

I2 = fitsread(files(im+1). name);

I3 = fitsread(files(im+2). name);

D1 = I2-I1;

75 % m a s k e d i m a g e w i t h 20 p i x e l s w i d e s t r i p a r o u n d t h e b o u n d a r y of c o r o n a l h o l e

masked_image1 = D1.*s_im1;

thresh_im1 = masked_image1 >90;

conn_comp1 = bwconncomp(thresh_im1 );

S1 = regionprops(conn_comp1 ,’Centroid ’);

80

D2 = I2-I3;

masked_image2 = D2.*s_im1;

thresh_im2 = masked_image2 > 90;

conn_comp2 = bwconncomp(thresh_im2 );

85 S2 = regionprops(conn_comp2 ,’Centroid ’);

l = length(S1);

m = length(S2);

d = 1;

90 for b = 1:l

for c = 1:m

i f (S1(b). Centroid == S2(c). Centroid)

91

Page 106: SEGMENTATION OF CORONAL HOLES USING ACTIVE

exclude(d,:) = S1(b). Centroid;

d = d+1;

95 break,

end

end

end

for e = 1:l

100 f(e,:) = S1(e). Centroid;

end

g = setdiff(f,exclude ,’rows’);

k = length(exclude );

period1 = 1*k;

105 period2 = 0;

p = 0;

for h = 1:15

i = length(g);

i f (i>1)

110

I3 = fitsread(files(im+2+h).name);

% I4 = f i t s r e a d ( file4 , ’ image ’ ) ;

D3 = I2-I3;

115 masked_image3 = D3.*s_im1;

thresh_im3 = masked_image3 > 90;

conn_comp3 = bwconncomp(thresh_im3 );

S3 = regionprops(conn_comp3 ,’Centroid ’);

exclude1 = zeros (1,2);

120 l = length(S3);

m = length(g);

d = 1;

for e = 1:l

92

Page 107: SEGMENTATION OF CORONAL HOLES USING ACTIVE

j(e,:) = S3(e). Centroid;

125 end

for b = 1:l

for c = 1:m

i f (j(b,:)== g(c,:))

exclude1(d,:) = j(b,:);

130 d = d+1;

break,

end

end

end

135

g = setdiff(g,exclude1 ,’rows’);

end

i f (exclude1 ==0)

n = 0;

140 else

q = s ize (exclude1 );

n = q(1);

end

period2 = period2 +((h+1)*n)

145 p = p+n

end

flash_time(im) = (period1+period2 )/(p+k);

end

c1 = (25*a)+1;

150 end

end

figure ,

plot(flash_time)

t i t l e (’Period of flashes ’);

93

Page 108: SEGMENTATION OF CORONAL HOLES USING ACTIVE

A.6 Skewness Calculation Code

clc ;

clear a l l ;

close a l l ;

%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

5 % T h i s is t h e p r o g r a m w h i c h r e a d s o n e A I A i m a g e f o r a n d t h e n

% s e n d s t h a t i m a g e to a c t i v e c o n t o u r s w i t h o u t e d g e s a l g o r i t h m , by e a c h t i m e

% v a r y i n g t h e l a m b d a 1 a n d l a m b d a 2 v a l u e s , t h e n c a l c u l a t e s t h e

% a r e a of t h e s e g m e n t e d h o l e a n d s k e w n e s s of t h e m a g n e t o g r a m a n d

% p l o t l a m b d a 1 / l a m b d a 2 vs a r e a a n d l a m b d a 1 / l a m b d a 2 vs s k e w n e s s

10 %

% P a t h s to be t a k e n c a r e of : p a t h f o r b a s e _ d i e c t o r y ( b a s e _ d i r e c t o r y )

% p a t h f o r m a t f i l e ( m a t f i l e p a t h )

%

% A u t h o r : M e g h a l a v a l l u r i ( m e g h a l a 9 @ n m s u . e d u )

15 %

% C r e a t i o n D a t a : 26 J a n 2 0 1 2

%

% N o t e s :

%

20 % R e v i s i o n H i s t o r y :

%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

% C o d e f o r r e a d i n g f i l e n a m e s f r o m a l l t h e d i r e c t o r i e s i n t o a s i n g l e s t r u c t u r e

25 matfilepath1 = ’/media/Meghala/Uni desktop/DSP Project ’;

mtfilepath2 = ’/DSP Project/ACWE/thesis final folder/’;

matfilepath = strcat(matfilepath1 , matfilepath2 );

% M a t f i l e w i t h s e g m e n t e d i m a g e s o b t a i n e d by a p p l y i n g A C W E a l g o r i t h m

30 load([ matfilepath , ’acwe_seg_im_1.mat’]);

94

Page 109: SEGMENTATION OF CORONAL HOLES USING ACTIVE

base_directory = ’/home/meghala/Magnetogram_data/’;

directories = dir(base_directory );

35

k = 1;

field = ’name’;

value = ’’;

files = struct(field ,value);

40

% l = 1;

% f i e l d 1 = ’ image ’;

% v a l u e 1 = ’ ’;

% s e g _ i m _ h r = s t r u c t ( f i e l d 1 , v a l u e 1 );

45

for i = 3: length(directories)

folder = directories(i).name;

folderpath = [base_directory ,folder ];

i f ( isdir(folderpath ))

50 directories_folder = dir(folderpath );

for j = 3: length(directories_folder)

data_directory = directories_folder(j).name;

filenames = dir ([folderpath ,’/’,data_directory ,’/*. fits’]);

for j = 1: length(filenames)

55 mag_files(k).name = [folderpath ,’/’,data_directory ...

,’/’,filenames(j).name];

k= k+1;

end

end

60 end

end

95

Page 110: SEGMENTATION OF CORONAL HOLES USING ACTIVE

j = 1;

65 for i = 1: length(mag_files)

mag = fitsread(mag_files(i).name);

im_size1= s ize (mag); % f i n d t h e s i z e of t h e i m a g e

seg = all_seg_im_hr(j).image;

b = bwboundaries(seg);

70 i f ( length(b) == 0)

j = j+1;

end

seg = all_seg_im_hr(j).image;

j = j+1

75 DD = double(seg ).*( mag);

% f i g u r e , i m a g e s c ( DD ); c o l o r m a p ( ’ gray ’ ) ;

[size_x , size_y] = s ize (DD);

% C o n v e r t m a t r i x i n t o v e c t o r of s a m e s i z e

D = reshape(DD , size_x*size_y , 1);

80 S = skewness(double(DD));

% f i g u r e , i m h i s t ( S ); % H i s t o g r a m of s k e w n e s s

Smeasured(i) = skewness(double(D)); % c a l c u l a t e d S k e w n e s s

end

85 figure ,

plot(Smeasured );

t i t l e (’skewness of magnetogram ’);

96

Page 111: SEGMENTATION OF CORONAL HOLES USING ACTIVE

REFERENCES

[1] Atmospheric imaging assembly team home page. http://aia.lmsal.com/.Accessed: 2013-06-28.

[2] Coronal hole of the sun. http://www.universetoday.com/. Accessed: 2013-06-28.

[3] Hinode mission of the sun homepage. http://www.nasa.gov/. Accessed:2013-06-28.

[4] MDI website homepage. http://soi.stanford.edu/. Accessed: 2013-06-28.

[5] M. D. Altschuler, D. E. Trotter, and F. Q. Orrall. Coronal holes. SolarPhysics, 26:354–365, October 1972.

[6] J. D. Bohlin. The physical properties of coronal holes. In Proceedings ofthe International Symposium on Solar Terrestrial Physics, volume 1, pages114–128, 1976.

[7] J. D. Bohlin and N. R. Sheeley Jr. Extreme ultraviolet observations of coronalholes. Solar Physics, 56:125–151, January 1978.

[8] R. P. Briggs and R. J. Carlisle. Solar physics and terrestrial effects. SpaceEnvironment Center, 2:101–104, 1996.

[9] D. S. Brown, C. E. Parnell, E.E. Deluca, L. Golub, and R.A. McMullen. Themagnetic structure of a coronal x-ray bright point. Solar Physics, 201:305–321, July 2001.

[10] T. F. Chan and L. A. Vese. Active contours without edges. IEEE Transactionson Image Processing, 10:266–277, February 2001.

[11] S. R. Cranmer. Coronal holes and the high-speed solar wind. Space ScienceReviews, 101:229–294, August 2002.

[12] J. M. Davis. X-ray bright points and the sunspot cycle: Further results andpredictions. Solar Physics, 88:337–342, October 1983.

[13] L. A. Fisk and T. H. Zurbuchen. Distribution and properties of open magneticflux outside of coronal holes. Journal of Geophysical Research, 111:1–10,September 2006.

[14] D. Freedman and T. Zhang. Active contours for tracking distributions. IEEETranscations on Image Processing, 13:518–526, April 2004.

97

Page 112: SEGMENTATION OF CORONAL HOLES USING ACTIVE

[15] L. Golub, A. S. Krieger, J. K. Silk, A. F. Timothy, and G. S. Vaiana. Solarx-ray bright points. The Astrophysical Journal Letters, 189:L93–L97, April1974.

[16] R. C. Gonzalez and R. E. Woods. Digital Image Processing. Addison-Wesley,August 2007.

[17] R. C. Gonzalez, R. E. Woods, and S. L. Eddins. Digital Image ProcessingUsing MATLAB. Addison-Wesley, December 2003.

[18] J. T. Gosling, J. R. Asbridge, S. J. Bame, and W. C. Feldman. Solar windspeed variations: 1962–1974. Journal of Geophysical Research, 81:5061–5070,January 1976.

[19] S. R. Habbal and G. L. Withbroe. Spatial and temporal variations of EUVcoronal bright points. Solar Physics, 69:77–97, January 1981.

[20] J. W. Harvey and Jr. N. R. Sheeley. Coronal holes and solar magnetic fields.Space Science Reviews, 23:139–158, April 1979.

[21] K. L. Harvey and F. Recely. Polar coronal holes during cycles 22 and 23.Solar Physics, 211:31–52, December 2002.

[22] C. J. Henney and J. W. Harvey. Automated coronal hole detection usingHe I 1083 nm spectroheliograms and photospheric magnetograms. In ASPConference Series, volume 346, pages 261–268, 2005.

[23] A. Hilal, P. Beauseroy, and B. Daya. Real shape inner iris boundary seg-mentation using active contour without edges. Audio, Language and ImageProcessing, pages 14–19, July 2012.

[24] M. Kass, A. Witkin, and D. Terzopoulos. Snakes: Active contour models.International Journal of Computer Vision, 1:321–331, 1988.

[25] M. S. Kirk, W. D. Pesnell, C. A. Young, and S. A. Hess Webber. Automateddetection of EUV polar coronal holes during solar cycle 23. Solar Physics,257:99–112, June 2009.

[26] A. S. Krieger, A. F. Timothy, and E. C. Roelof. A coronal hole and itsidentification as the source of a high velocity solar wind stream. Solar Physics,29:505–525, April 1973.

[27] L. D. Krista. The Evolution and Space Weather Effects of Solar CoronalHoles. PhD thesis, School of Physics, University of Dublin, Trinity College,2011.

98

Page 113: SEGMENTATION OF CORONAL HOLES USING ACTIVE

[28] L. D. Krista and P. T. Gallagher. Automated coronal hole detection usinglocal intensity thresholding techniques. Solar Physics, 256:87–100, May 2009.

[29] L. D. Krista, P. T. Gallagher, and D. S. Bloomfield. Short-term evolutionof coronal hole boundaries. The Astrophysical Journal Letters, 731:L26–L31,April 2011.

[30] R. H. Levine, M. D. Altschuler, and J. W. Harvey. Solar sources of the in-terplanetary magnetic field and solar wind. Journal of Geophysical Research,82:1061–1065, March 1977.

[31] J. G. Luhmann, Y. Li, X. Zhao, and Seiji Yashiro. Coronal magnetic fieldcontext of simple cme’s inferred from global potential models. Solar Physics,213:367–386, 2003.

[32] M. S. Madjarska and T. Wiegelmann. Coronal hole boundaries evolution atsmall scales: I EIT 195 Å and TRACE 171 Å. Astronomy & Astrophysics,503:991–997, 2009.

[33] O. El Meslouhi, M. Kardouchi, H. Allali, and T. Gadi. Semi-automatic cervi-cal cancer segmentation using active contours without edges. In Fifth Inter-national Conference on Signal Image Technology and Internet Based Systems,pages 54–58, 2009.

[34] Z. Mikić, J. A. Linker, D. D. Schnack, R. Lionello, and A. Tarditi. Mag-netohydrodynamic modeling of the global solar corona. Physics of Plasmas,6:2217–2223, 1999.

[35] D. J. Mullan and I. A. Ahmad. Coronal holes: Mass loss driven by magneticreconnection. Solar Physics, 75:347–350, January 1982.

[36] D. Mumford and J. Shah. Optimal approximation by piecewise smooth func-tions and associated variational problems. Communications on Pure andApplied Math, 42:577–685, 1989.

[37] R. H. Munro and G. L. Withbroe. Properties of a coronal hole derived fromextreme-ultraviolet observations. The Astrophysical Journal, 176:511–520,September 1972.

[38] S. Ni. DNA microarray image segmentation using active contours withoutedges method. PhD thesis, 2011.

[39] J. T. Nolte, J. M. Davis, M. Gerassimenko, A. S. Krieger, C. V. Solodyna, andL. Golub. The relationship between solar activity and coronal hole evolution.Solar Physics, 60:143–153, November 1978.

99

Page 114: SEGMENTATION OF CORONAL HOLES USING ACTIVE

[40] J. T. Nolte, A. S. Krieger, A. F. Timothy, R. E. Gold, E. C. Roelof, G. Vaiana,A. J. Lazarus, J. D. Sullivan, and P. S. McIntosh. Coronal holes as sourcesof solar wind. Solar Physics, 46:303–322, February 1976.

[41] I. G. Persiantsev, A. Yu., J. Ryazanov, and S. Shugai. The automatic pro-cessing and analysis of solar image sequences. Pattern Recognition and ImageAnalysis, 16:30–32, January 2006.

[42] H. Peter. On the nature of the transition region from the chromosphere tothe corona of the sun. Astronomy and Astrophysics, 374:1108–1120, 2001.

[43] M. T. Rotter, A. Veronig, and M. Temmer. Automated detection of coronalhole areas. In 38th COSPAR Scientific Assembly, 2010.

[44] C. Sagiv, N. A. Sochen, and Y. Y. Zeevi. Integrated active contours fortexture segmentation. IEEE Transactions on Image Processing, 15:1633–1646, June 2006.

[45] I. F. Scholl and S. R. Habbal. Automatic detection and classification ofcoronal holes and filaments based on EUV and magnetogram observations ofthe solar disk. Solar Physics, 248:425–439, 2008.

[46] S. Shah, A. Abaza, A. Ross, and H. Ammar. Automatic tooth segmentationusing active contour without edges. In Biometric Consortium Conference,pages 1–6, August 2006.

[47] C. V. Solodyna, A. S. Krieger, and J. T. Nolte. Observations of the birth ofa small coronal hole. Solar Physics, 54:123–134, September 1977.

[48] E. C. Stone, A. M. Frandsen, R. A. Mewaldt, E. R. Christian, D. Margolies,J. F. Ormes, and F. Snow. The advanced composition explorer. In TheAdvanced Composition Explorer Mission, pages 1–22, 1998.

[49] S. Subramanian, M. S. Madjarska, and J. G. Doyle. Coronal hole boundariesevolution at small scales: II XRT can small-scale outflows at CHBs be asource of the slow solar wind. Astronomy & Astrophysics, 1002:545–553,2010.

[50] T. K. Suzuki and S.-I. Inutsuka. Solar winds driven by nonlinear low-frequency alfvén waves from the photosphere: Parametric study for fast/slowwinds and disappearance of solar winds. Journal of Geophysical Research:Space Physics, 111:A06101–A06120, June 2006.

[51] A. F. Timothy, A. S. Krieger, and G. S. Vaiana. The structure and evolutionof coronal holes. Solar Physics, 42:135–156, May 1975.

100

Page 115: SEGMENTATION OF CORONAL HOLES USING ACTIVE

[52] G. S. Vaiana, A. S. Krieger, A. F. Timothy, and M. Zombeck. Atm obser-vations, x-ray results. Astrophysics and Space Science, 39:75–101, January1976.

[53] A. Verdini, M. Vellia, W. H. Matthaeus, S. Oughton, and P. Dmitruk. Aturbulance-driven model for heating and acceleration of the fast wind in coro-nal holes. The Astrophysical Journal Letters, 708:1–5, December 2009.

[54] M. Waldmeier. The coronal hole at the 7 march 1970 solar eclipse. SolarPhysics, 40:351–358, 1975.

[55] Y.-M. Wang, S. H. Hawley, and Jr. N. R. Sheeley. The magnetic nature ofcoronal holes. The Smithsonian/NASA Astrophysics Data System, 271:464–469, 1996.

[56] R. Woo, S. R. Habbal, and U. Feldman. Role of closed magnetic fields insolar wind flow. The Astrophysical Journal, 612:1171–1174, May 2004.

[57] S. H. Yang, J. Zhang, and T. Li. Evolution of coronal hole boundaries ob-served by SDO. EAS Publications Series, 55:29–34, January 2012.

[58] A. Yazdanpanah, G. Hamarneh, B. R. Smith, and M. V. Sarunic. Segmenta-tion of intra-retinal layers from optical coherence tomography images usingan active contour approach. IEEE Transactions on Medical Imaging, 30:pp484–496, February 2011.

[59] J. B. Zirker. Coronal holes and high-speed wind streams. Reviews of Geo-physics, 15:257–269, January 1977.

101