NetLogo extension for processing image bitmaps. bundled with NetLogo
Java Scala
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
project
src
.gitignore
BUILDING.md
LICENSE.md
README.md
USING.md
build.sbt
documentation.conf

README.md

Bitmap Extension for NetLogo

This package contains the NetLogo bitmap extension. It allows you to perform manipulations like scaling, converting to grayscale, and grabbing a single channel on images and import them into the patches or drawing.

Building

Use the netlogo.jar.url environment variable to tell sbt which NetLogo.jar to compile against (defaults to NetLogo 5.3). For example:

sbt -Dnetlogo.jar.url=file:///path/to/NetLogo/target/NetLogo.jar package

If compilation succeeds, bitmap.jar will be created.

Using

The bitmap extension is pre-installed in NetLogo. For instructions on using it, or for more information about NetLogo extensions, see the NetLogo User Manual.

What does the Bitmap Extension do?

The Bitmap Extension allows you to manipulate and import images into the drawing and patches. It offers features not provided by the NetLogo core primitives, such as: scaling, manipulation of different color channels, and width and height reporters.

Getting started

To import and manipulate images you will need to include the bitmap extension in your NetLogo model.

extensions[ bitmap ]

The image file formats supported are determined by your Java virtual machine's imageio library. Typically this is PNG, JPG, GIF, and BMP. PNG is a good, standard choice that is likely to work everywhere.

If the image format supports transparency (alpha), that information will be imported as well.

Primitives

bitmap:average-color bitmap:channel bitmap:copy-to-drawing bitmap:copy-to-pcolors bitmap:difference-rgb bitmap:export bitmap:from-view bitmap:to-grayscale bitmap:height bitmap:import bitmap:scaled bitmap:width

bitmap:average-color

bitmap:average-color image

Reports a 3-element list describing the amount of R, G, and B in image, by summing across all pixels, and normalizing each component by the number of pixels in the image, so each component ranges from 0 to 255.

bitmap:channel

bitmap:channel image channel

Extracts either the alpha, red, green, or blue channel from an image. The input channel should be an integer 0-3 indicating the channel to remove (alpha=0, red=1, green=2, blue=3). The resulting image is a grayscale image representing specified channel.

bitmap:copy-to-drawing

bitmap:copy-to-drawing image x y

Imports the given image into the drawing without scaling the image at the given pixel coordinates.

bitmap:copy-to-pcolors

bitmap:copy-to-pcolors image boolean

Imports the given image into the pcolors, scaled to fit the world. The second input indicates whether the colors should be interpreted as NetLogo colors or left as RGB colors. false means RGB colors.

bitmap:difference-rgb

bitmap:difference-rgb image1 image2

Reports an image that is the absolute value of the pixel-wise RGB difference between two images. Note that image1 and image2 MUST be the same width and height as each other, or errors will ensue.

bitmap:export

bitmap:export image filename

Writes image to filename.

bitmap:from-view

bitmap:from-view

Reports an image of the current view.

bitmap:to-grayscale

bitmap:to-grayscale image

Converts the given image to grayscale.

bitmap:height

bitmap:height image

Reports the height of given image

bitmap:import

bitmap:import filename

Reports a LogoBitmap containing the image at filename.

bitmap:scaled

bitmap:scaled image width height

Reports a new image that is image scaled to the given width and height

bitmap:width

bitmap:width image

Reports the width of the given image

Terms of Use

CC0

The NetLogo bitmap extension is in the public domain. To the extent possible under law, Uri Wilensky has waived all copyright and related or neighboring rights.