Comments (2)
This question has come up a few times from different people/groups. My stance has been the same each time so far, but I could be convinced otherwise by good argumentation.
I get that having realistic instrument models available is a nice thing for rapid prototyping. The problem lies in accuracy and maintenance. Accurate models take a lot of time to get right, and even more time to keep accurate and keep working properly. Even if a full model for an instrument was implemented and added to hcipy, it needs to be kept up to date with any physical changes in that instrument/better calibration of that instrument. This maintenance is not free.
Tutorials on the other hand do not need to be kept fully up to date, since they are there to showcase functionality of hcipy and provide a starting point for others if they want to try out something similar. While it is nice if the more elaborate tutorials could be kept up-to-date with the actual instrument that they purport to simulate, this is not a requirement for them to be a good tutorial.
Edge cases for me include realistic telescope apertures, atmospheric layer models and the like. I personally see these as components or reference implementations that are useful for a quick simulation and for comparison to existing papers. They may not always be the most up to date, which is why I'm always stressing that we need to have references/citations in the docstrings for those functions/classes.
TLDR: I'd much rather have separate packages for each instrument, that depend on hcipy for their optical propagation needs, rather than directly implementing them in hcipy. Don't let my opinion stifle the discussion. I'd like to hear other's opinions on this as well.
from hcipy.
I agree that we should not have full instrument models because maintaining them is a lot of work and not really what we should be doing. I do think that we need to expand our examples / tutorials. This should help startup new people a lot. Especially if we can make the examples close to actual instruments. This is what I was thinking initially.
from hcipy.
Related Issues (20)
- `VectorVortexCoronagraph.backward()` is broken HOT 3
- Deterministic atmospheric phase screens #173 HOT 2
- 'gaussian_mode' is not defined HOT 8
- Is it possible to remove specific modes in atmospher layer using HCIPy? HOT 4
- Add a function to pad regularly-spaced grids HOT 4
- Observing a Satellite (e.g. ISS) HOT 2
- `utcnow` is deprecated in Python 3.12
- Add support for Python 3.11.
- Drop support for Python 3.7. HOT 1
- The random function in the deformable mirror is not functioning properly HOT 2
- Matplotlib 3.7 `get_cmap()` deprecation warning
- Numpy 1.25 deprecation warning
- Imageio v3 API changes.
- Add support for Python 3.12.
- Add support for geometric operations
- pip install hcipy not complete? HOT 2
- Add grid indexing support when indexing or slicing a Field HOT 2
- docstring error in FraunhoferPropagator (?) HOT 2
- Non ideal optics to emulate manufacturing errors?
- FraunhoferPropagator total power not conserved HOT 6
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 hcipy.