#Raster

💧🌏 Greg CocksGregCocks@techhub.social
2025-05-23

Have an excellent long weekend everyone (if you are in the US), we all deserve it!
--
H/T Simon Ilyushchenko for the brilliant image!
----
#GIS #spatial #mapping #raster #mapnerds #mapgeeks #fridayfeeling #fridayfun #raster #projection #connected #gettingyourbearings #coordinates

2025-05-19

MVT, MBT, PMTiles: Everything to know about vector tiles: @djh offers a comprehensive overview of #vectortiles technology, including #Mapbox Vector Tiles (#MVT), #MBTiles, and #Protomaps’s #PMTiles. The post explains the evolution from #raster to #vector #maps, compares key formats and technologies,...
spatialists.ch/posts/2025/05-1 #GIS #GISchat #geospatial #SwissGIS

2025-05-15

In the last post, Tis Veugen suggested dithering with the Gosper curve. At first I thought this doesn't make sense, since the curve lives on a hexagonal lattice, while dithering is generally done at the native pixel level, which means a square lattice. But as I thought about this further, it started to look like a fun challenge. Besides, the square grid hasn't always been the native way to organize pixels; for example, some old CRTs also used a hex lattice.

So I was really just making up excuses for the extra work. First I had to set up interpolated sampling, which would come for free in OpenGL, but now I was working on the CPU. The Gosper curve was also new to me, and I implemented it in my own way from first principles using IFS ideas, like I'd done earlier with the Peano curve.

For comparison, here's also a version with the boustrophedon curve on a hexagon, since I already had that curve function in my toolbox. Finally there's also the raw Gosper curve, though a smaller version to give a clearer idea.

#dithering #halftoneart #raster #pixelart #gospercurve #planefillingcurve #spacefillingcurve #pythoncode #opengl #algorithmicart #algorist #mathart #laskutaide #ittaide #kuavataide #iterati

2025-05-10

The previous demo made me dig deeper into dithering algorithms. It's something I should have done years ago, as I've been using simple random dithering now and then, and I hadn't even thought of gamma correction. One algorithm in particular caught my eye: Riemersma dithering, which uses the Hilbert curve. Compared to the usual matrices for error diffusion, the curve approach seemed easier to implement in some ways, as it has fewer edge issues.

More interestingly, it struck a chord with my earlier experiments with space-filling curves in image processing. So it was a kind of familiar territory, but it also seemed esoteric enough that I could imagine making some new discoveries. For example, play with other plane-filling curves besides the Hilbert.

The first image uses the boustrophedon curve, which makes the vertical wave patterns I recall from a number of non-dithering demos. The second curve is what I call the diagstrophedon, a diagonal zig-zag starting from the top left corner, and I think its wavy artefacts make a nice match for Venus's hair.

Then in image 3 we have Hilbert, which doesn't seem to make any particular artefacts, and I guess that's a good thing for dithering. Finally 4 uses the Peano curve, which makes some fun wiggles in light areas.

#dithering #riemersmadithering #stippling #halftoneart #raster #pixelart #hilbertcurve #peanocurve #planefillingcurve #spacefillingcurve #pythoncode #opengl #algorithmicart #algorist #mathart #laskutaide #ittaide #kuavataide #iterati

2025-05-06

Yet another optimized Voronoi tiling. This was supposed to be a simpler alternative to the previous tiling approach, but I ended up going down a rabbit hole of various dithering algorithms.

Instead of the equal-sum partitions, this uses regular dithering to find the Voronoi seed points, and the tile areas are inversely proportional to the colour values. My simple random dithering didn't work as well as expected, so I started to look into alternatives. I was of course aware of Floyd-Steinberg, and as I grew a bit tired of this demo, I ended up cheating a little by using a ready-made library. Since I was using PIL for image handling anyway, I could simply use its format conversion functions to get a 1-bit image, which uses F-S by default.

As before, I planned to use edge detection to get smaller tiles at the contrast edges. However, it didn't work so well with dithering, as it would concentrate basically all seed points at the edges. So here I used a mix of edge detection and the original. I think it worked out nicely here, as the bright colours often coincide with areas of small detail, while the dark background doesn't need much resolution.

#voronoidiagram #pixelart #blockart #tiling #raster #mosaic #pythoncode #opengl #algorithmicart #algorist #mathart #laskutaide #ittaide #kuavataide #iterati

2025-05-02

I wanted to make the optimized tiling look more organic, and I've already played with Voronoi diagrams quite a lot. But this turned out a bit more messy than expected. To preserve the size and shape variations of the rectangles in the Voronoi cells, I ended up using a non-uniformly weighted metric. I guess it counts as a shape metric, using the definition in my Bridges 2020 paper.

As before, there's a roughly uniform tiling with an equal number of cells for comparison.

#voronoidiagram #pixelart #blockart #tiling #raster #mosaic #pythoncode #opengl #algorithmicart #algorist #mathart #laskutaide #ittaide #kuavataide #iterati

Leo SijtsmaLeoSijtsma
2025-05-02

Weer uit tijdschrift dit weekend. Halverwege de jaren '80 werd de balans opgemaakt van de stand van zaken in de Nederlandstalige poëzie. Veel dezelfde dichters als een kleine 10 jaar daarvoor komen voor in het tijdschrift. Vandaag Kouwenaar en Tentije.

2025-04-29

Día 8 | Distribuciones – Histograma | #30DayChartChallenge. | Visualización hecha usando R con los paquetes #ggplot2, #dplyr, #patchwork, #sf, #ggtext, #showtext, #raster, #exactextractr, #ggscale y #scales.

2025-04-29

Another visual refinement to a recent demo: adding seams to the optimized tiling scheme. While it breaks the mosaic illusion to some extent, I think it makes the tile sizing idea much clearer. As before, there's a uniform variant with the same number of tiles for comparison.

Source photo: Mary of Egypt by José de Ribera, in public domain.

#pixelart #blockart #tiling #raster #mosaic #pythoncode #opengl #algorithmicart #algorist #mathart #laskutaide #ittaide #kuavataide #iterati

2025-04-26

Día 9 | Distribuciones – Divergente | #30DatChartChallenge. | Visualización hecha usando R con los paquetes #ggplot2, #dplyr, #patchwork, #sf, #ggtext, #showtext, #raster, #exactextractr and #SPEI.

💧🌏 Greg CocksGregCocks@techhub.social
2025-04-16

RiverREM - Generating River Relative Elevation Model (REM) Visualisations
--
github.com/OpenTopography/Rive <-- shared GitHub repository
--
opentopography.github.io/River <-- shared documentation
--
opentopography.org/blog/new-pa <-- shared Open Topography blog post about RiverREM
--
H/T Heidi Luchsinger / Open Topography
[this post should not be considered as an endorsement of this product aka caveat emptor]
#GIS #spatial #mapping #remotesensing #earthobservation #Python #LiDAR #RiverREM #visualisation #hydrology #water #river #rivervalley #floodplain #terraces #GitHub #opensource #opendata #DEM #REM #model #modeling #RiverRelativeModel #documentation #tutorial #learning #tool #elevation #raster #sinuosity #drainage

2025-04-11

Day 10 | Distributions / Multi – Modal | #30DayChartChallenge. Visualization made with R using #ggplot2, #tidyverse, #cowplot, #stars, #raster, #ggspatial and #sf. Data source: Sentinel-2 MSI (2024)

2025-03-06

Ever needed to reuse the same raster extent & resolution across multiple QGIS tasks? My latest blog post shows how the Raster Layer Properties function can automatically grab all those details from a reference layer. A good way to make your workflows more consistent and error-proof. ecodiv.earth/post/rasterlayerp #QGIS #GIS #FOSS #Raster #OpenSource

screenshot of model for QGIS model designer to calculate distance to nearest feature in vector layer.
2025-03-02

@horst724 ... der zweite Tipp (lokjo.com/) bietet (für meine Region) die aktuelleren Luft- bzw. Satellitenbilder an.

Ansonsten gibt es für amtliche #Karten (#Vektor und #Raster noch dieses empfehlenswerte #Portal auf #Bundesebene in #Deutschland:

basemap.de/viewer/

Mehr Infos zum Projekt und zur Kartenauswahl:
basemap.de/

Fürs #Routing mit optional aktivierten #Verkehrsdaten taugt auch das Portal vom #ADAC unter maps.adac.de/ wirklich gut.

#basemap #de #map #unplugtrump

pakal.orgpakal
2025-02-27

Better raster speed & size randomness, color selection ...

pakal.orgpakal
2025-02-27

I'm working a on "Loading Screen Raster Generator" which creates raster lines gif animations from the web

Colors accurate, variable frames (4 to 32), size accurate (403x284 because borders)

Totally useless but fun

ראַף 🟣raf@babka.social
2025-02-10

Does anyone remember that equation that makes lines in pixel art look straight and not jagged?

#pixelartists #raster

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst