top of page
LaG - Latent Glitch [ Media Art ], zero dogma [ Think Tank ]
Unit /
Spatial Forces
Technology is the interface to expanding our environment and unlocking new layers of phenomena within our ecosystem. As an interface it is the crucial barrier to measuring and understanding the world and its systems, inching closer to a profound ecological comprehension.
Territorial Flows explores the interconnectedness between different aspects and ecological interactions within the Austrian landscape. By producing, analyzing, and visualizing the data sets of animal flows, chlorophyll densities, water networks, and human mobility, the artwork seeks to uncover hidden patterns, connections, and rhythms within the ecosystem.
The workflow tackles the territorial scale through a sequential process involving data prediction, AI interpretations, and data dramatization through abstract visualizations. The visualization process is based on sampling the landscape maps as a dense arrangement of voxels, forming a rich terrain representation. Natural growth systems are then applied to the voxel landscapes, introducing organic and emergent patterns, and finally dissolve into particles, evoking a sense of transformation and impermanence.
The artwork seeks to reveal patterns and correlations and create new interpretations of territorial flows by utilizing machine intelligence and data-driven methodologies. It highlights new spatial relationships between human activities, natural systems, and the environment, emphasizing the interconnectedness within ecological networks.
NDVI Layer:
1) The input NDVI map is brought into the network alongside the image mask of the country's border, and applied per usual.
2) The image mask is composited with a semi-transparent background which allows for the landscape within the borders to appear bright, while neighboring territories are dimmed.
3) A separate network produces an organically grown image mask which is used to reveal the treated NDVI layer over time starting from the center.
4) This growth pattern is recorded and played forward and reverse on a preset interval so the network reveals and disappears periodically.
5) The output of this growth is dimmed to 45% brightness to assist with processing steps after this.
6) The Growing NDVI layer is fed into an image instancing network, which creates a grid of 900x500 voxels, where ambient noise is applied to give continuous motion to the voxels, to spread them out on the Y axis. Depending on the amplitude, harmonics, peroid, and offset of the noise, more or less movement can be seen.
7) The Voxel network converts the 2D layer into 3D and has a camera which is mapped to the main camera control system to adjust the perspective.
8) This render network uses a transparent background so that other layers can possibly be included over or under this render.
9) The output is fed into a glow network, which helps blend the solid monotonous instanced colors into something more dreamy, using blur and pixel interpolation. This step is highly recommended for renders at 1080p or above, otherwise outputs tend to look quite grainy.
10) The output of the Glow network, is fed into a bloom filter, which emulates light being shined on the voxels, helps adjust the contrast in low greens and bright whites, and compliments the glow filter.
11) Since bloom filters tend to destroy the source image with segments of transparency, and color values that sometimes behave sporadically, the output of the bloom filter is averaged with the pre-filtered instance network, which helps make the edges of the voxels more visible.
12) This output is fed into an Optical Flow based GLSL network that spawns a maximum of 2000 particles per second based on the movement of the voxels on screen, using pixel-to-pixel calculation. The idea here is that movement = particles, which is mostly noticeable at fast rotations, or when the image mask reveal brings pixels from black to color at a fast speed.
Train Layer:
1) Train network map and Country mask are applied, same as NDVI, red color is applied.
2) A blur filter is applied to the train paths, which distorts the edges, making them less opaque.
3) A threshold filter masks only the brightest values in the train paths, making them thinner.
4) A separate organic growth network from the NDVI layer is applied, on a faster interval, making the network grow and shrink at a rapid pace.
5) The growing train layer is instanced, the same as NDVI layer, 900x500 pixels, slightly lower ambient noise movement so that the output looks relatively more flat.
6) Red pixel values are quite dim, so their brightness is raised around 22%.
7) Another set of Glow and Bloom filters are applied, which makes the transparency between the voxels, more red, and raises the brightness of solid road paths when viewed from certain angles.
8) Another optical flow particle GLSL network is applied to the tail of this network, which spawns around 6000 particles per second, which highlights the growth and disappearance of this layer, especially on an empty background.
9) This layer is composited with the NDVI layer using the 'maximum' operation, which means the bright red train layer will always be visible above the NDVI layer.
Rivers Layer:
1) Same border mask process as NDVI layer, making the neighboring territories less bright.
2) These rivers are more dense than the train layers, so the blur filter method doesn't work as well. Instead, a sobel edge filter is applied to all river paths.
3) The sobel filter is subtracted from the original layer, which thins out the lines of the rivers.
4) Blue color is applied to result.
5) Separate organic growth filter is applied on a unique interval.
6, 7, 8) Image instance network, Glow Network, and Bloom filter are added as above, converting 2D to 3D, accenting the pixel dense areas with brighter blue.
9) This layer is then added atop the composited NVDI/Train layer.
Flow lines Layer:
1) Flow lines input with transparent background is brought into the network and fed into a feedback network which spawns fluid like ripples out from the edges of the flow lines.
2) Feedback tends to quickly create oversaturated outputs, so the layer has its black level heightened, brightness and contrast adjusted, and given variable opacity, from 0-30% on a manual trigger, so that the layer can be faded in and out of the render on the press of a button.
3) The feedback output is then masked with only the Country border image, to prevent ripples from overflowing across the entire layer.
4) The output is fed into an image instance network, which produces two key types of voxels, the flow line hotspots which are bright, and ripple voxels which have varying opacity.
5) There is a lot of movement in this layer, the instance image is plugged into a particle GLSL network, which spawns up to 8000 particles per second with slow momentum and low velocity. This creates somewhat of a firework effect when the layer is viewed from certain angles. The particles also have a 4 second lifespan so they can remain on screen longer when the layer is returned to invisible.
6) This output is then composited over all previous layers.
Circuitscapes Layer:
1) The circuitscapes input video is masked with the country border image, same as NDVI, creating a less opaque background for neighboring territories.
2) The brightness of this video varies as it grows larger, so the image is converted to monochrome, and a color ramp is applied. Giving the brightest areas -> green hotspots. Slightly less bright areas are given darker green color values, leading into bright yellow, then dim yellow, and finally transparent values. This allows the transition of upcoming voxels to be more noticeable and have the layer demonstrate more dynamic color range as the scapes become more dense.
3) The layer is masked with another organic growth network, playing at a new speed, but does not revert in and out like other layers. Instead this layer has its circuitscape growth video played forward and backwards to demonstrate movement on the layer.\
4) The result is fed into an instancing network where the green and red values are set to a higher range, and all blue values are removed from instanced voxels.
5) A glow filter is added which allows the transparency between voxels to be filled in with a color, complimentary to the NDVI layer.
6) The channel's presence is toggled with a button at the time of recording, and when toggled on, the output's brightness is oscillated between 15-21%, creating a pulsating effect.
7) This final layer is then composited over all previous layers.
1/0
Project Team
Firas Safieddine
bottom of page