from what wikipedia says shearlet is a successor to wavelets(whatever that is) and that they are extremely good at representing complicated data efficiently. But neither wikipedia nor other articles that i found have any layman definition of shearlets in it. A layman definition would be great and algorithm to implement them on say images would be awesome and a python implementation would be godsend.
Shearlets are a family of basis functions. Cartesian coordinate systems have already made you familiar with orthonormal basis functions: scaling up a rightward- and an upward-pointing unit vector lets you express any (x, y) point in the plane.
Suppose you are Seurat, the pointillist, and you have a budget of 100 brushstrokes with which to express a monochromatic landscape. In addition to (x, y) information we can also give each stroke a radius
r, for big blobs or fine dots. This is not too far away from a wavelet representation of the landscape.
Linear features like grass or tree limbs will be a poor fit for such a scheme, requiring many dots. Imagine replacing circles with ellipses of defined aspect ratio and orientation,
theta, or in your case replacing them with parabolic shapes of defined narrowness and orientation. This is not too far away from a shearlet representation. It uses a shearing transform, rather than an angular rotation transform, as the math works out more conveniently that way. The rubber sheet deformation of shearing expresses the direction of each landscape feature, and resembles rotation. In fact, a sequence of three shears can rotate an image exactly.
... shearlet systems are particularly well adapted to represent anisotropic features (such as curves) that are often crucial in multidimensional data. The resulting representation has proven well-suited for image processing tasks such as inpainting, denoising or image separation. ...
Similiar to wavelet systems, shearlet systems are constructed by modifying generator functions. For wavelet systems, these functions are isotropically scaled and translated. While this is enough to provide an optimally sparse representation for an interesting class of 1D functions it fails to do so in higher dimensions. To compensate this shortcoming, the direction of the generator functions has to be varied. In shearlet theory, this is accomplished by shearing and anisotropic scaling.