Opticsim.jl: Optical Simulation Software

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • OpticSim.jl

    Discontinued Optical Simulation software

  • prysm

    physical optics: integrated modeling, phase retrieval, segmented systems, polynomials and fitting, sequential raytracing... (by brandondube)

  • Ah, that's too bad, but I can't really blame them. Going from a fully-featured Python codebase they already had in https://github.com/brandondube/prysm and translating into Julia would need to be motivated by much more than speed - after all the limiting factor here is FFT and heavy computations like cis, so I'm pleasantly surprised they reported gains from their simple port compared to numpy. It's also much easier to go from a C/C++ computational code to Julia than it is from a Python one, because the mental performance models are more similar.

    For reference, we (metalenz.com) have a large Julia codebase centered around optical design, simulation, and analysis. The motivation for that is more along the lines of composability and clarity of abstractions (aided by multiple-dispatch). We can differentiate through our physical optics solver code (forward or reverse) for optimization/ML, plug in our designs across a hierarchy of different E&M solvers, run on GPU, and write very efficient code when our profiling identifies a bottleneck. If we just had to perform one thing (physical optics simulations), then our investment wouldn't be as justified.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • artificial-intelligence

    Insincere System design about building intelligence, based on neural fluid model. Still a draft and I'm gathering resources and design ideas. Modern AI is a fancy calculator. It cannot be a creator/creation. It cannot be a simulacra/simulation. (by imvetri)

  • been waiting for something like this, let me go and look at the project to see if that's something I wanted.

    Basically looking for something to build neural networks based on optical computing or at the least, some sensor simulator that responds to light.

    after looking at the docs.

    Damn, it has eye model. Something that bridges a gap in my notes - https://github.com/imvetri/artificial-intelligence/blob/mast....

    next, wait with patience for a neuron simulator(which is already there, just want to see it in the newsfeed).

    Eye model and a neuron simulator will help to build a self learning system.

  • JuliaAdviceForMatlabProgrammers

    Learning to love dispatch-oriented programming

  • I think people often underestimate (or just plain don't know about) the degree to which a multiple-dispatch-based programming language like Julia effectively implies its whole own dispatch-oriented programming paradigm, with both some amazing advantages (composability [1], and an IMO excellent balance of speed and interactivity when combined with JAOT compilation), but also some entirely new pitfalls to watch out for (particularly, type-instability [2,3]). Meanwhile, some habits and code patterns that may be seen as "best practices" in Python, Matlab can be detrimental and lead to excess allocations in Julia [4], so it may almost be easier to switch to Julia (and get good performance from day 1) if you are coming from a language like C where you are used to thinking about allocations, in-place methods, and loops being fast.

    Things are definitely stabilizing a bit post-1.0, but it's still a young language, so it'll take a while for documentation to fully catch up; in the meanwhile, the best option in my experience has been to lurk the various chat forums (slack/zulip/etc.) and pick up best-practices from the folks on the cutting edge by osmosis.

    [1] https://www.youtube.com/watch?v=kc9HwsxE1OY

    [2] https://www.johnmyleswhite.com/notebook/2013/12/06/writing-t...

    [3] https://docs.julialang.org/en/v1.5/manual/performance-tips/#...

    [4] https://github.com/brenhinkeller/JuliaAdviceForMatlabProgram...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Copilot knows a lot about other things not just code

    1 project | news.ycombinator.com | 13 Jul 2021
  • A Computer Architecture Built in Logicly (Fibonacci Sequence)

    1 project | /r/compsci | 1 Mar 2021
  • How to generate realistic PSFs for camera lenses?

    2 projects | /r/Optics | 7 Sep 2023
  • Prysm is a Python 3.6 library for numerical optics

    1 project | news.ycombinator.com | 22 May 2023
  • Books/ other resources to learn about Fraunhofer diffraction farfield model using MATLAB/python?

    3 projects | /r/Optics | 11 May 2023