Author here. That's a fantastic question! I think you're right that a better solution would include adding curvature to the individual "pixels" in the lens mesh. Unfortunately I don't know how to manufacture anything with microstructure that small! The microlenses would need to be of order .2mm by .2mm square and have curvature that is very slight, because the image plane pixel is about 20 cm away. Perhaps this could be achieved by choosing a ball-nose machine tool of the exact right radius and sweeping it back and forth in the channels formed between the "pixels"? It would leave a grid of tiny features that might just get the job done!As is I just gloss over that completely and I don't address it. So tiny, lone, bright pixels end up more smeared than I'd like.
contravariant|4 years ago
Using the change of variables formula this basically means that we want h(f^(-1)(x,y)) |det Df| to be constant. Which is quite easy in 1D (it's just the inverse cumulative density function), but significantly trickier in 2D.
In 2D the problems seems to be underdetermined. One solution would be to first solve the horizontal problem for each row and then solve the vertical part for the total densities of each row. Or the other way around. There might be a way to make this optimal in some sense, but I'm not quite sure what to optimize for.