Comments (4)
@astanziola I've implemented this in a new pull request (#192). There's example code, test code and an updated implementation.
from jwave.
Hello Thomas. That looks great, thanks a lot! Please do feel absolutely free to open a PR, it would be amazing to have off-grid sensors.
I think this can easily go into the geometry.py
file almost as is, although there may be a good argument to start having two separate sources
and sensors
modules.
I was looking at the comment given by @jgroehl below your gist and I think I agree with him. I can imagine a situation when someone want so do something like
def my_loss_func(sensors_positions: Tuple[np.typing.ArrayLike]:
sensors = BLISensors(sensors_positions)
...
sensor_positions_grad = jax.grad(my_loss_func)
In that way the position of the sensors can also be tuned by gradient descent! In that case, the flattening and unflattening methods also need to be changed in the pytree definition.
It would also be good to add some testing for this, for example by reproducing the followings:
- https://github.com/ucl-bug/k-wave/blob/2de03f2393e8a525798e0089cd15c04b033749a6/k-Wave/testing/unit/offGridPoints_test_on_grid.m
- https://github.com/ucl-bug/k-wave/blob/2de03f2393e8a525798e0089cd15c04b033749a6/k-Wave/testing/unit/offGridPoints_test_truncation.m
But the way the testing is handled in this repo currently is a bit clunky (any suggestion is more than welcome!), so I'm happy to add them afterwards
Thank you for taking time to do this and share it!h
from jwave.
Hello @tomelse ! Just gauging if you think you would like to make a PR on this? Otherwise I'm happy to take this over (of course acknowledging your contribution!)
from jwave.
I'll have a look next week, had such a hectic week!
from jwave.
Related Issues (20)
- Add `lineax` solvers HOT 1
- Allow float64 for helmholtz solver
- Example with Laplace Helmholtz equation
- CBS adjoint
- Add `all-contributors` bot HOT 1
- Use natural units for solvers
- Raise error when `helmholtz_solver` is called with a real field
- Slowness as medium variable
- Document default PML
- Helmholtz operators are missing initializers
- Check the number of signal and number of sources positions
- Implement logger HOT 1
- Helmholtz Problem tutorial NotFoundLookupError HOT 12
- Check operators default initializers
- PSTD time varying solver not called even when a FourierSeries sound speed is provided HOT 4
- Mimatch between incident and total field leading to scattering artifacts around sources and within PML HOT 4
- Reimplement intercomparison benchmarks with the new solvers
- simulate_wave_propagation solver error when using accuracy that's not the default accuracy of 8
- Installation error HOT 3
- Add flag for setting the PML outside the domain
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jwave.