# Arbitrary number of pixel attributes in the mapper &| choose not to normalize map values

**URL:** <https://forum.electromage.com/t/arbitrary-number-of-pixel-attributes-in-the-mapper-choose-not-to-normalize-map-values/4568>\
**Category:** Feature Ideas + Requests\
**Tags:** mapping\
**Created:** [October 31, 2025, 9:39pm UTC](https://forum.electromage.com/t/arbitrary-number-of-pixel-attributes-in-the-mapper-choose-not-to-normalize-map-values/4568 "2025-10-31T21:39:59Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![cjn566](https://forum.electromage.com/user_avatar/forum.electromage.com/cjn566/32/3029_2.png) [@cjn566](https://forum.electromage.com/u/cjn566)\
**Post date:** [October 31, 2025, 9:39pm UTC](https://forum.electromage.com/t/arbitrary-number-of-pixel-attributes-in-the-mapper-choose-not-to-normalize-map-values/4568/1 "2025-10-31T21:39:59Z")

</div>

I have a tendency to use the mapper in a hacky way. I use what is ‘supposed’ to be a physical coordinate to store other information about the pixels.

For example, I’m working on this cornhole project:

 ![image](https://forum.electromage.com/uploads/default/original/2X/7/7c51e60198ac5a61ac9375555b265e7306dbd76f.jpeg)

And in addition to the X and Y coordinates of each pixel, I want to know if that pixel is in the ring and what clock position in the ring it is. I also accidentally mixed LEDs with different RGB order, so I need to track which pixels need to be corrected in software. All this meta information is stored in the Z coordinate, so I get this weird generated map:

 ![image](https://forum.electromage.com/uploads/default/original/2X/7/73128a751436750711fec9c54679680afc68abc6.png)

 ![image](https://forum.electromage.com/uploads/default/original/2X/7/709097963c4147c3823e5b28e4d558e25d1c476a.png)

It works, but it’s pretty hacky and difficult to parse out several different attributes from one numerical value that has been normalized between 0 and 1.

So my request it either implement some sort of function override for render() for an arbitrary number of parameters, e.g. if you mapped each pixel to have 8 values, then you could call

```javascript
render(a, b, c, d, e, f, g, h){
   …
}

```

Or the other, probably easier thing to implement is an option to not normalize map values at all and leave them exactly as they were entered into the mapper.

---

<div class="post-metadata">

**Author:** ![sorceror](https://forum.electromage.com/user_avatar/forum.electromage.com/sorceror/32/735_2.png) [@sorceror](https://forum.electromage.com/u/sorceror)\
**Post date:** [November 1, 2025, 12:23pm UTC](https://forum.electromage.com/t/arbitrary-number-of-pixel-attributes-in-the-mapper-choose-not-to-normalize-map-values/4568/2 "2025-11-01T12:23:48Z")

</div>

I have made this kind of hack too! My next step would have been copying arrays of metadata into every pattern ☹ . We need meta data separate from location data, e.g. by adding an extra optional argument:

```javascript
render{,2D,3D}(index, x[,y[,z]][,meta]) {
    ...
    if( meta[23] == 17 ) { // Pixel is part of the harbinger hegemony
        fgunp = 37; // Adjudicate appropriately
    }
    ...
}

```
