|
455 | 455 | ], |
456 | 456 | "source": [ |
457 | 457 | "#NBVAL_IGNORE_OUTPUT\n", |
458 | | - "image_up_dev = np.zeros((model0.vp.shape[0], model0.vp.shape[1]),dtype)\n", |
| 458 | + "image_up_dev = np.zeros((model0.vp.shape[0], model0.vp.shape[1]), dtype)\n", |
459 | 459 | "\n", |
460 | 460 | "image = np.zeros((model0.vp.shape[0], model0.vp.shape[1]))\n", |
461 | 461 | "\n", |
462 | 462 | "nrec = 101\n", |
463 | 463 | "niter = 20 # Number of iterations of the LSRTM\n", |
464 | 464 | "history = np.zeros((niter, 1)) # Objective function\n", |
465 | 465 | "\n", |
466 | | - "image_prev = np.zeros((model0.vp.shape[0],model0.vp.shape[1]))\n", |
| 466 | + "image_prev = np.zeros((model0.vp.shape[0], model0.vp.shape[1]))\n", |
467 | 467 | "\n", |
468 | | - "grad_prev = np.zeros((model0.vp.shape[0],model0.vp.shape[1]))\n", |
| 468 | + "grad_prev = np.zeros((model0.vp.shape[0], model0.vp.shape[1]))\n", |
469 | 469 | "\n", |
470 | | - "yk = np.zeros((model0.vp.shape[0],model0.vp.shape[1]))\n", |
| 470 | + "yk = np.zeros((model0.vp.shape[0], model0.vp.shape[1]))\n", |
471 | 471 | "\n", |
472 | | - "sk = np.zeros((model0.vp.shape[0],model0.vp.shape[1]))\n", |
| 472 | + "sk = np.zeros((model0.vp.shape[0], model0.vp.shape[1]))\n", |
473 | 473 | "\n", |
474 | 474 | "for k in range(niter):\n", |
| 475 | + " print('LSRTM Iteration', k+1)\n", |
475 | 476 | "\n", |
476 | | - " dm = image_up_dev # Reflectivity for Calculated data via Born\n", |
477 | | - "\n", |
478 | | - " print('LSRTM Iteration',k+1)\n", |
479 | | - "\n", |
480 | | - " objective,grad_full,d_obs,d_syn = lsrtm_gradient(dm)\n", |
481 | | - "\n", |
| 477 | + " # Feed the reflectivity model to the LSRTM function\n", |
| 478 | + " objective, grad_full, d_obs, d_syn = lsrtm_gradient(image_up_dev)\n", |
482 | 479 | " history[k] = objective\n", |
483 | | - "\n", |
484 | 480 | " yk = grad_full.data - grad_prev\n", |
485 | | - "\n", |
486 | 481 | " sk = image_up_dev - image_prev\n", |
487 | | - "\n", |
488 | 482 | " alfa = get_alfa(yk, sk, k)\n", |
489 | 483 | "\n", |
490 | 484 | " grad_prev = grad_full.data\n", |
491 | | - "\n", |
492 | 485 | " image_prev = image_up_dev\n", |
493 | 486 | "\n", |
494 | 487 | " image_up_dev = image_up_dev - alfa*grad_full.data\n", |
|
655 | 648 | ], |
656 | 649 | "source": [ |
657 | 650 | "#NBVAL_IGNORE_OUTPUT\n", |
658 | | - "slices=tuple(slice(model.nbl,-model.nbl) for _ in range(2))\n", |
| 651 | + "slices = tuple(slice(model.nbl, -model.nbl) for _ in range(2))\n", |
659 | 652 | "dm_true = (solver.model.vp.data**(-2) - model0.vp.data**(-2))[slices]\n", |
660 | 653 | "plot_image(np.diff(dm_true, axis=1))" |
661 | 654 | ] |
|
682 | 675 | "#NBVAL_SKIP\n", |
683 | 676 | "plt.figure(figsize=(8, 9))\n", |
684 | 677 | "x = np.linspace(0, 1, 101)\n", |
685 | | - "plt.plot(rtm[50,:], x, color=plt.gray(), linewidth=2)\n", |
686 | | - "plt.plot(lsrtm[50,:],x, 'r',linewidth=2)\n", |
687 | | - "plt.plot(dm_true[50,:],x, 'k--',linewidth=2)\n", |
| 678 | + "plt.plot(rtm[50, :], x, color=plt.gray(), linewidth=2)\n", |
| 679 | + "plt.plot(lsrtm[50, :],x, 'r', linewidth=2)\n", |
| 680 | + "plt.plot(dm_true[50, :],x, 'k--', linewidth=2)\n", |
688 | 681 | "\n", |
689 | 682 | "plt.legend(['Initial reflectivity', 'Reflectivity via LSRTM','True Reflectivity'], fontsize=15)\n", |
690 | 683 | "plt.ylabel('Depth (Km)')\n", |
|
0 commit comments