Skip to content

daneroo/im-zone

Repository files navigation

Zone plate generation

VT Zone Plate VH Zone Plate
VT zone plate VH zone plate

Given as a talk at OttawaJS October '20 and first Next.js Conference

Next.js Conf '20

TODO

Usage with lerna

lerna bootstrap
lerna run dev --parallel

lerna run test

# example new package
lerna create --private render-js
# adjust names and  entrypoint:dist/index.js
cd packages/render-js && npm i -D microbundle standard jest

Add package.json targets:

"source": "lib/index.js",
"scripts": {
   ..
   "dev": "microbundle watch --jsx React.createElement"
 },
  "jest": {
    "coverageThreshold": {
      "global": {
        "branches": 0,
        "functions": 0,
        "lines": 0,
        "statements": 0
      }
    }
  },
  "standard": {
    "//parser": "babel-eslint",
    "env": {
      "jest": true
    }
  },

Front end

cd packages
npx create-next-app
cd front-end
lerna add render-js

History

I wrote the original zoneplate code as part af my first undergrad internship at CRC circa 1986. My task was to implement these test patterns as part of a video signal processing research group. The original implementation was written in Fortran on a DEC LSI-11 (64kB of memory).

This was my first introduction to conics. The patterns generalize to conic sections or projections:

Conic Sections

I later joined the group permanently.

CRC-Advanced Video Systems-1999
Advanced Video Systems group in 1999

Thanks to André, Bernard, Gilles, Phil, Tom, Mike, Jean-Pierre, Metin, Lew, James, Marc, Demin and so many more...