Description
Problem description
I’ve been using PyGIMLi to perform a 3D attenuation tomography, but I’ve been dealing with two main issues:
1- Not all event-station rays pass through every cell in the grid. I currently have a total of 41,047 rays, and I’m wondering if there’s a way to optimize the mesh by ignoring or removing all cells that are not intersected by any ray. The goal is to save memory and computation time without affecting the results.
2- The results I’ve obtained with the code (attached in the .txt file) allow me to map attenuation. However, I’m seeing unrealistic values (very high attenuation, very low Q) in many of the cells within my study area. The attenuation values from the rays range between 0.0025 and 0.01 (equivalent to Q values of 100–400), but a significant portion of the final cell results fall outside these ranges. I’m wondering whether addressing point 1 would help improve the output, or if there’s a way to constrain the results or assign stable/default values to the cells that aren’t intersected by any ray.
I’ve attached the main lines of code I’m currently using, to give a clearer picture of what I’ve done so far.
Your environment
OS : Linux (Ubuntu 22.04)
CPU(s) : 32
Machine : x86_64
Architecture : 64bit
RAM : 32 GiB
Environment : Python
File system : ext4
Python 3.10.14 | packaged by conda-forge | (main, Mar 20 2024, 12:45:18)
[GCC 12.3.0]
pygimli : 1.5.2
pgcore : 1.5.0
numpy : 1.26.4
matplotlib : 3.9.1
scipy : 1.14.1
tqdm : 4.66.5
IPython : 8.29.0
pyvista : 0.44.1
Thanks in advance for any guidance you can provide.