Author Topic: how to shift pixels without the transform node and using a custom made node  (Read 2585 times)

So, I would love to randomly shift pixels based upon a mask without using the transform node.
I have no clue what else I could use beside creating my own fx nodes but don't really know how to get started.
Any points in the correct direction would be helpful.
Regards! Tom

Have you tried the directional warp node? It only warps in a specified direction, but the direction can be randomized if that's what you want to do.

hi there!
Yes, for sure. But when I increase the intensity the pixels are kind of coming back. Directional warp really feels more like warping.
The only thing I have come up so far is to create several transform nodes and use a randomise mask along with a histogram node to select patterns and have them transformed manually. But I would love to drive these offsets using masks. (so smaller patterns have less offset then larger ones)

this will offset the pixel in the lower sample to the left. instead of feeding a constant float2 with 1/0 in you could instead feed in a mask or a random value per pixel to move things in random directions. without a visual example of how extreme you want the effect to be it is difficult to make a proper suggestion on how set it up exactly.

Could you maybe show some examples of what you want? Maybe what you have so far with the transform nodes.
Because there are a lot of ways to move pixels around.

heey guys!
Thnx for the replies so far! Here is an example of what I would love to do in a much cleaner way.
I have created a node called 'shift rocks' and in this node are several transform nodes with some slight offsets.
I use a histogram select mask to separate some cells (the source) and use them to extract from the original cells and only shift those. Then I continue doing this currently with 10 transform nodes and each has different mask. At the end all masks together combined will fill up the entire cells. (meaning, each cell now has been shifted.) I feel like this can be done much more efficient and with more control. For example I would love to shift large cells much more then small cells.

Hope this makes any sense. :-) thnx so far with thinking with me here!!

too difficult to archive?  ;D

Yeah, it's a tough one.
Not impossible per se, but the problem is with how pixel processors work. They can 'pull' pixels to a certain position, which means you can indicate what this new position is with in input image, but you can't determine the source location, of these pixels, so you can't pull independent cells. This is why warp nodes won't work for this.

But you can already move cells based on their size with your current set-up. You just need to use the flood fill node, followed by a flood fill to bbox size. This will give you grayscale values based on cell size, so you can select and move these the same way you were doing already.

hm i see and understand! I keep digging, then for now, I leave it the way it is and add the bbox trick to it.