Next: Dip moveout with v(z) Up: ROCCA'S SMEAR OPERATOR Previous: ROCCA'S SMEAR OPERATOR

## Push and pull

Migration and diffraction operators can be conceived and programmed in two different ways. Let denote data and denote the depth image. We have
 (14) (15)
where h is half the shot-geophone offset. The adjoints are
 (16) (17)
In practice we can choose either of .A natural question is which is more correct or better. The question of more correct'' applies to modeling and is best answered by theoreticians (who will find more than simply a hyperbola; they will find its waveform including its amplitude and phase as a function of frequency). The question of better'' is something else. An important practical issue is that the transformation should not leave miscellaneous holes in the output. It is typically desirable to write programs that loop over all positions in the output space, pulling'' in whatever inputs are required. It is usually less desirable to loop over all positions in the input space, pushing'' or spraying'' each input value to the appropriate location in the output space. Programs that push the input data to the output space might leave the output too sparsely distributed. Also, because of gridding, the output data might be irregularly positioned. Thus, to produce smooth outputs, we usually prefer the summation operators for migration and for diffraction modeling. Since one could always force smooth outputs by lowpass filtering, what we really seek is the highest possible resolution.

Given a nonzero-offset section, we seek to convert it to a zero-offset section. Rocca's concept is to first migrate the constant offset data with an ellipsoid push operator and then take each point on the ellipsoid and diffract it out to a zero-offset hyperbola with a push operator .The product of push operators is known as Rocca's smile. This smile operator includes both normal moveout and dip moveout. (We could say that dip moveout is defined by Rocca's smile after restoring the normal moveout.)

Because of the approximation ,we have four different ways to express the Rocca smile:
 (18)
says sum over a flat-top and then spray a regular hyperbola.

The operator ,having two pull operators should have smoothest output. Sergey Fomel suggests an interesting illustration of it: Its adjoint is two push operators, . takes us from zero offset to nonzero offset first by pushing a data point to a semicircle and then by pushing points on the semicircle to flat-topped hyperbolas. As before, to make the hyperbolas more distinct, I broke the circle into dots along the circle and show the result in Figure 20. The whole truth is a little more complicated. Subroutine flathyp() implements and .Since I had no subroutine for ,figures 18 and 20 were actually made with only and .

 sergey Figure 20 The adjoint of Rocca's smile is a superposition of flattened hyperbolas, each with its top on a circle.

We discuss the representation of in the next section.

Next: Dip moveout with v(z) Up: ROCCA'S SMEAR OPERATOR Previous: ROCCA'S SMEAR OPERATOR
Stanford Exploration Project
12/26/2000