M.I.S. — the meteosat image simulator

M.I.S. — the meteosat image simulator

Mathematics and Computers @North-Holland Publishing in Simulation Company IX1 (1977) 151-158 M.I.S. - THE METEOSAT IMAGE SIMULATOR * Giora RAM *...

851KB Sizes 0 Downloads 63 Views

Mathematics and Computers @North-Holland Publishing

in Simulation Company

IX1 (1977)

151-158

M.I.S. - THE METEOSAT IMAGE SIMULATOR

*

Giora RAM ** European Space Operations Centre (ESOC), 61 Darmstadt, West Germany

A simulator has been implemented which produces simulated telemetry data for the high speed image (radiometer) channel and the attitude part of the housekeeping channel. In this paper we shall describe parts of this simulator*** which are interesting from the point of view of image processing and computer graphics. The simulator was implemented on an IBM 370/155 using an IBM 2250 display, a microfilm recorded SD4060, and a photowrite unit - OPTRONICS International. [

1. Introduction In the last decades image analysis or picture processing has become an indispensable tool for analysing various types of images, especially in space oriented sciences, e.g. satellite pictures used for meteorological or other purposes. In our case, a simulator was implemented which accepts graph-like images (graph+topology) and transforms them to digital ones [2]. The given image may consist of the following regions (components): earth, sea, clouds, horizon, and space. The clouds can overlap earth and/or sea regions, and of course other clouds. The elements considered are sets of simply closed polygons (polygons which do not intersect themselves). The image simulator consists of 3 main modules: 1. The Cloud Generator - The interactive part of the simulator using the IBM 2250. 2. The Transformer - A geometric projetion taking into account the moving sub-satellite point over one image. 3. The Scanner - An algorithm which finds the intersection points between the scan lines and the relevant image components. * This research was performed

at the European Space Operations Centre (ESOC), 61 Darmstadt, Robert-Bosch-Strasse 5, West Germany, Dept. of Information Handling, under contract no. 550/73/T.

** Postal address: Elscint Ltd, Advanced Technology Center, P.O. Box 5258, Haifa 31-051, Israel. *** The full simulator including the attitude and the telemetry parts, is described in detail in [ 11. The attitude part was implemented by Mr. Philippe Reboul.

In the following sections we shall describe these modules in more detail, especially from the image processing point of view.

2. The Cloud Generator This is the interactive part of the METEOSAT simulator using the IBM 2250. The operator can control the flow of this part by means of lightpen, programmed Function Key Buttons (FKB), and keyboard. The worldmap is displayed in the required window range (appendix 1). Initially, the clouds have an elliptic form defined by eq. (I). Ck=~i,(~0,~o),u,6,cu,a,b,g,h~

k=1,2

,..., n,, (1)

where : i (X@ Yg) u 6 cr a, b g h %

cloud identification; initial center location; initial velocity; direction of movement; rotation; the ellipse parameters; the gray level; the height; the number of the clouds.

These clouds are stored in the Symbolic Cloud Catalog (SCC) and updated accordingly. From the symbolic representation, each cloud is

152

G. Ram/&US.

- the METEOSTAT

transformed to a simply closed polygon. Each cloud is updated according to location of center, displacement at time of simulation, using the velocity and direction of movement. This cloud representation is randomized in order to achieve a more realisitc shape. In sect. 4 we shall see that we can have almost any cloud shape by allowing overlapping of two or more clouds with the same u, 6, (Y,g, h. This overlapped cloud will be treated as one cloud. The earth coordinates are given in the Earth Contour Map file (ECM). This fde is arranged in the following way: Let P = {pi, j = 1, k} a set of k connected components with:

lxm+l 0

IYm+l ( > 180,

and (~,+I)(v~+~) = (ind, ind) where ind is a signal for the termination of a component. (Xi, yi) are the longitude and the latitude of the ith point respectively. The sequence of points of pi should describe a simply closed polygon. The maximum number of points that can be displayed is less than the number of points of the given image. For sampling, a feedback method was used for displaying the maximum number of points in each step. This feedback method is efficient especially when only a selected window is displayed. From the various options of this interactive system, we shall describe a few: 1. Entering window parameters via keyboard or via lightpen. 2. Hardcopy in each step. 3. Define, delete, display, and update clouds, using manual input, FKB-s, and lightpen.

3. The transformer The transformer projects the Earth Contour Map (ECM) and the clouds given in the geodetic reference (latitude, longitude) onto a reference plane R, which is perpendicular to the spacecraft center of earth line and goes through the center of the earth. This is a geometric projection taking into account the moving subsatellite point over one image.

image simulator

The output from this module is a subset of ECM. This subset is the visible part of the globe at time t0 as seen from the spacecraft (appendix 2). The complement of this subset is the invisible part. The visible set of coordinates are in the horizon ellipse (the horizon circle is corrected in order to achieve the realistic ellipsoid earth). Those components which are intersected by the horizon are no longer closed. In order to keep the feature of “simply closed polygons” and in order to achieve an efficient analysis in the next step (the scanner), we shall reorder the coordinates. A file, INO, will have the information about the entry and exit points relative to the horizon (for earth and cloud components). The components considered in this module are: 1. The earth components which are stored in the Ideal Earth Image file (IEI). 2. The cloud components which are stored in the Ideal Clouds Image tile (ICI). During the scissoring of a component (by the horizon), we can distinguish between the 3 main cases (fig. 1). There are two possibilities: 1. If the component is completely in (or out of) the horizon then there are no changes. 2. If the component is intersected by the horizon then we shall rearrange the sequence of points describing the current component such that Pi, will be the first point and Pout the one before the last, and Plast= ind where ind will indicate the termination of the component . This rearrangement will make the scanning step faster and more modular. 4. I. The scanner This module is the main part of the simulator. The input files are: IEI, ICI, IN0 and SLF where SLF is the Scan Line File. The output file is the Line Sequence File (&SF). This file contains a condensed representation of important events encountered when the radiometer sweeps over the earth disk at nearly constant latitude for one line. Important events mean here transitions (either direction) sea-earth, sea-cloud, sea-space, earth-cloud, earth-space, cloud-space. The radiometer divides the earth into n lines (in our case n = 5000) which need to be represented at this stage. For creating this file we have to develop an efficient

G. Ram/ML

S. - The METEOSTAT

Fig. 1. In/Out

with respect

algorithm that finds for each line the transition points mentioned above. Actually these transition points are the intersection points between the scan lines and a set of polygons. A different shading algorithm is described in [3]. A digitizer program will receive this file (LSF) to produce the final digitized image representing the gelemetry data by the corresponding gray 1eveIs (appendix 3). Before describing the scanner algorithm we shall discuss some problems concerning the scanning.

image simulator

153

to the horizon.

4.2. The starting/ending domain problem The transformer step provides information concerning the correct coordinates of the earth and cloud components, taking into account the moving sub-satellite point. When a component intersects the horizon ellipse we obtain extra information about the entry/exit coordinates of the corresponding component. Let pi be the ith component and Lj the ith scan line. If pi is completely in the horizon domain then we have no problem because every intersection with such a

154

G. Ram/M.I.S. - The METEOSTAT

image simulator

a

b Fig. 2. Possible intersections.

component will give an even number of intersection points (excluding tangent cases, see 4.3). During data acquisition we shall find easily the corresponding domain that is: from xl until x2 we have the domain s with the gray level g (Fig. 2a). If pi is intersected by the horizon then we have a problem to determine the starting/ending domains. Intersection with such a component can give an even or odd number of intersection points (fig. 2b). To solve this problem we have to associate the “corresponding horizon arc” - ($2~~) with the appropriate domain. Be plA and p; the intersection points between the horizon and the jth scan line (x/ < x$. Let Ak = (P;~Z”, ) the kth arc and A = {Ak, k = 1, nA} where nA is the number of the arcs centered by the pairs - (j&t, p”,). Note that the set A is received from the file IN0 (see sect. 3). The scanner algorithm is applied twice, first for the earth components (IEI), then for the cloud components (ICI). Initially, all the intersection points between the scan lines and the horizon, that is p; and pi”, will be associated with sea region. If p/ (or pi’) belongs to A, for some k, then p/ ($) will be associated with earth or cloud region according-

the horizon region, then the points pi and $ are ordered (otherwise semi-ordered). This criterion is simple and is implemented by comparing central angles (ok) of the corresponding arc (Ak), with the angles created by 6; cop,?) and the xaxis. The angles are measured in the positive direction that is counterclockwise. 4.3. The intersection behveen the scan lines and the

components Be si the ith segment of a polygon (component) given by the edge coordinates, that is Si = (pi, pi+l) where pi = (xi, vi) and let Lj be the ith scan line. There are 4 possibilities of relations between Si and Lj’ 1. pi IS on Lj and pi+1 is on Lj. 2. pi is on Lj and pi+1 is not on Lj. 3. pi is not on Lj and pi+1 is on Lj. 4. pi is not on Lj and pi+1 is not on Lj. If the coordinates are given in a floating point format, then the cases 1,2, and 3 (especially 1) are very unlikely to occur. We shall still consider all four cases

ly. If p;b;) belongs to Ak for some k, and it has already been associated with earth or cloud regions, then it will be updated to sea region. In fig. 3 we can see an example where pi2 will be earth (or cloud) region. $ will be first earth (cloud) region and again earth (cloud) then it will be updated to be sea region. It remains to find a criterion for determining whether a point p/b,?) belongs to an arc A, EA. This criterion must be applied to all the points - p,A and ~7, that is 2n times where IZis the number of the scan lines. If the scan lines do not intersect themselves in 1

Li

Lj

Fig. 3. The starting/ending

domains

of p/ /pi’.

G. Ram/M.I.S. - The METEOSTAT

because of the following reason. Suppose that we want to wave storage and we are satisfied with less accuracy. In this case we can use coordinates given in INTEGER*2 (assuming that the range of half-word is enough for the coordinate representation), so the intersection points will be given in integer units. Here all the four possibilities above must be considered. The decision in each of these 4 cases will be: Case 1: Move pi+l randomly to its E neighborhood Oi”+r). IF Pi- 1 and pF+l are on the same side with respect to Lj THEN select pi as an intersection point ELSE continue. Case 2: Continue to the next segment (or to the next scan line). Case 3: IF pi+2 is also on Lj THEN select pi+1 as an intersection point. IF pi+2 and pi are on the same side with respect t0 Lj THEN continue ELSE select pi+l as an intersection point. Case 4: IF pi and pi+1 are on the same side with respect to Lj THEN continue ELSE find the intersection point between si and Li. Note that special consideration is necessary for opened (first and last points) and closed components.

image simulator

155

two transition points xi and xk, where Xi < xk. For each segment of the component we shall find a set of scan lines which will intersect this segment. A parameter is defined for selecting this subset of scan lines. This parameter is a function of the position of the current segment and the slope of the current scan line with respect to the X-axis. During implementation it was found that much computer time can be saved by using this parameter for selecting only a subset of scan lines for the intersection. 4.5. The algorithm for earth components (LSFE) 1. Find the intersection points between the horizon and the scan lines. 2. Update LSFE with the starting/ending domains of the intersection points found in 1. 3. Find the intersection points between the earth components and the corresponding subset of scan lines. 4. Sort LSFE according to the following criterion: Be (x~ gi) and (xk, gl) two consecutive expressions IF Xi < xk THEN (x~ gi) will be before (xk, gl). 5. Apply the following simplification rules to LSFE according to this order, each rule for all the entries of LSFE: a. (Xi, gj)(Xti

gj>

b. (Xi,

glr

gi)(xk,

c. Cxfi g_

xkXxlP

+

(Xi,

gi;

x/J

Xm >

+

Cxc

gp

Xk)(xk9

819 Xm>

47,)

+

Cxi* Sp

XkNxkr

gm*

xl)

IF (Xi, gp xk) and (XI, g,, xn) are two consecutive expressions and xk # xl THEN there exists an expression (xk, gs, xr) inbetween. gs is the gray level of the sea region. e. (Xi,gp xi) + 0 for i # first and i # last. f. (xi> gj3 xk)(xk* gj9 Xl) + (xfi gj3 Xl) 6. Update LSFE and stop. The rules d, e, and f of step 5 are applied only if there are no clouds. These rules will be applied on the final tile - that is LSF. d.

4.4. The scanning algorithm To get the transition points we have to find the intersection points between the scan lines (SLF) and the components of earth and clouds given in IEI and ICI respectively. In order to allow reusage of tiles we shall create two intersection files, one for earth components (LSFE) and one for clouds components (LSFC). These files will be merged to LSF. By this organisation we can reuse files when passing from the ith to the i+l th image. The complement of the earth, clouds, and sea regions which are in the horizon, is the space region. The complement of earth and clouds in the horizon will be the sea region. The expression (Xi, gP xk) will be an elementary (one dimensional) unit which will denote the correspondof the region which is between the ing gray level

4.6. 7%e processing of clouds For finding the intersection points between the clouds and the set of scan lines, we have to apply a different method than was used for the earth components. The reason is that clouds can overlap each other and overlap other regions. We shall edfine a arav level table for the clouds in

G. Ram/MIS.

156

- The METEOSTAT image simulator

which g: gi lying region which will be invisible; 2.g;
overlapping cases

a. (x+ gj)(xk~ gi)

Be (Xi, g? xk) and (xl, g,, xn) two consecutive expressions satisfying: xi “1. There are 6 relevant casts: i 1.Xi

4. Xi=XI

< xk

5. Xi=xl

< xk=xn

6.


Xi=Xl


K xk

The criterion for determining

the proper case is:

IF xi
{gim = gjOg, operator.

according

where@ can be some composition

3. (xC gp xl)(xZ* gjm* Xn>(+ 4. (Xiv Sj,, xkXxk> g,* Xn) 5. (xi, gjm, xk> 6. @jr I&, Xn)(Xn, Sp $1

1. Update LSFC with the intersection points between the horizon and each of the scan lines (the same points found in step 1 for LSFE). 2. Update LSFC with the starting/ending domains of the intersection points found in 1. 3. Find the intersection points between the clouds components and the corresponding subset of scan lines. 4. Apply the following simplification rules to LSFC according to this order, each rule for all the entries of LSFC: Be (Xi, gi) and (xk, gi) two consecutive expressions satisfying - xi < xk.

+ xk>

4.8. The algorithm for cloud components (LSFC) If there are no starting/ending domains for the clouds, that is all the clouds are in (or out of) the horizon region, then we shall start the algorithm from step 3. Note that in this case, in step 4 only the first rule is applied.

-+ (xi> i?-i’xk)

b. (-Q gj& glj Xm> -+ (xi, gp xk)(xk* 81, Xm) c. (xj~ + xk)(xfi gm) -+ (xi, gj* xk)(xkp gml c/> 5. Sort LSFC according to the criterion:

Be (x~ gi’ x~) and (x~ g,r?. xn) two consecutive preSSiOnS: IF Xi
exWill

before (xl, g,, xn> 6. Test for overlapping expressions, that is: IF Xk > xI THEN overlap, go to 7, ELSE (if there is no overlap for any of the expressions in LSFC) STOP. 7. Be (Xc gj, xk) and (Xl, g,, x n) two consecutive expressions satisfying: xi < xk, xi xl. 1. Create new expressions (non overlapping) according to the appropriate case (sect. 4.7). b. After each creation of a new expression, sort the the entries of LSFC as in step 5, go to step 6. It is clear that if many clouds overlap we shall spend much time in steps 6 and 7. On the other hand by this organisation we can allow any number of overlapping clouds. 4.9. Merging of LSFE and LSFC into LSF In this step we shall merge these files to obtain the final intersection file - LSF. Here again we can have overlapping between earth/sea and cloud regions. The algorithm for merging is: 1. Sort the expressions of LSFE and LSFC into LSF (as step 5 for LSFC). 2. Apply rule d of step 5 for LSFE (insert sea regions). 3. Test for overlapping expressions (as step 6 for LSFC), if none then go to 5. 4. Create new non-overlapping expressions (as step 7 for ISFC). 5. Apply rules e and f of step 5 for LSFE and stop.

G. Ram/M.I.S. - The METEOSTAT

Note that in step 2 we do not have to insert the sea regions physically. We only need the information concerning the boundaries of the sea regions for the overlapping cases. The sea regions are the complement of earth and cloud regions within the horizon. By leaving out the sea regions, we can have a compressed LSF. During the digitization the sea regions are inserted. LSF is a compact file which will be the input to a digitizer program. This program will produce the final digitized image with the appropriate gray levels taking into account the corresponding telemetry data.

image simulator

Appendix

1b

\\

5. Possible extensions In order to achieve a higher accuracy we only need to increase the number of scan lines and the number of points in ECM. In addition to the regions considered in this simulator, we can add other components such as: Country Contour Map file (CCM - describes the boundaries between land areas), rivers fne, mountains file etc. The skeleton of this simulator is independent of the special usage, and can be implemented for any other image which is given in a graph-like form.

Appendix

1a

Appendix 2

157

158 Appendix 3

References [II H. Laue, G. Ram and P. Reboul, ESOC’s internal documentation concerning the METEOSAT simulator, M.I.D.A.S. 197314. PI G. Ram, Graph-like image analysis, submitted to J. Image K. Image Processing and Computer Graphics. [31 J.L. Pfaltz and A. Rosenfeld, Computer representation of planar regions by their skeletons, Commun. ACM (Feb. 1967, 119-125).