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