Ignotus-mago / PixelAudio

PixelAudio maps arrays of audio samples onto arrays of pixel values.
Other
0 stars 0 forks source link

Bitmap Transforms #5

Closed Ignotus-mago closed 2 months ago

Ignotus-mago commented 3 months ago

The BitmapTransforms class can be applied to the LUTs generated by the PixelMapGen classes. What's the best way to do this?

At the moment, I think of providing PixelMapGen with methods to regenerate coordinates or LUTs when passed a new set of coordinates or a new LUT. SignalToImageLUT and ImageToSIgnalLUT are, after all, arrays of coordinate pairs in index format. Either one can be passed to a bitmap transform and then used to regenerate the coordinates.

This should be handy for a PixelMapGen class that creates multiple smaller maps, with different orientations, within a larger map, such as a "MultiHilbertGen" or a "MultiDiagonalZigzagGen."

On a related note, the enum ImageTransformType can be renamed to TransformType and applied for any 90° rotations and reflections.

Ignotus-mago commented 3 months ago

Changed enum ImageTransformType to enum AffineTransformType.

Ignotus-mago commented 3 months ago

Experimenting with *Map(int width, int height) such as flipX90Map(int width, int height) to generate index maps for affine transforms. These should be applicable to multi-part PixelMapGen classes where the same pattern is reused in different transforms, as in the HIlbert curve patterns for Campos | Temporales.

Ignotus-mago commented 2 months ago

Transforms of PixelMapGen coordinates are solved, and with it the regeneration of the LUTs. I added single coordinate transforms to BitmapTransform and called them from PixelMapGen. I'll add coordinate array methods, too. Concerns about ImageTransformhave been moved to another issue. Might as well close this issue.