Skip to main content
Electronic Theatre Controls Inc

CSV Importing and Exporting for Pixel Maps

Pixel Map Layouts

Pixel Map layouts are included in CSV exports, and can be imported for complicated Pixel Maps.

  • To export Pixel Map location data via CSV, use Browser > File > Export > CSV, and include Pixel Maps.

  • To import Pixel Map location data via CSV, put a properly-formatted CSV file (see below) on a USB flash drive, and use Browser > File > Import > CSV, and include Pixel Maps.

Pixel Map layout data can be included as part of a larger show file CSV dataset, or on its own - allowing you to use outside tools (like a spreadsheet editor) for creation or editing of complicated layouts.

Pixel Map Layout CSV Block

The Pixel Map CSV Block must follow the following structure:

  • The CSV block must start with START_PIXELMAP and end with END_PIXELMAP

  • The Title Row is required and must immediately follow START_PIXELMAP

  • Each Pixel Row contains the full data set for a single pixel on the map

  • All strings in the data must be separated by commas with no spaces, eg: “CHANNEL,ADDRESS” and “1,3,5,7,9”

START_PIXELMAP
~Title Row
~Pixel Row
~Pixel Row
~…
~Pixel Row
END_PIXELMAP

Title Row Formatting

The Title Row allows you to define which data columns are used, and the order in which the values in the Pixel Rows will appear. Title Row data column options are:

Column

Description

Required?

Notes

PIXELMAP

Pixel Map target number

Required

Several Pixel Maps can be defined in the same CSV block.

LOCATION_X

Pixel location X

Required

 

The (1,1) pixel location is in the upper-left side of the map. X increases moving down, Y increases moving right.

LOCATION_Y

Pixel Location Y

Required

SCALE_X

Scale factor X

Optional

 

Default is 1, even if omitted.

SCALE_Y

Scale factor Y

Optional

CHANNEL

Channel number of pixel

Optional, if Address & fixture fields are present

For import, choose either Channel or Address & Fixture Data.

ADDRESS

Fixture start address (absolute values only, not port/offset)

Optional, ignored if CHANNEL is nonzero

 

 

 

 

 

For import, choose either Channel or Address & Fixture Data.

 

FIXTURE_DCID

Fixture profile’s unique identifier in Eos

Optional, ignored if CHANNEL is nonzero

MANUFACTURER

Fixture profile’s manufacturer name

Optional, ignored if CHANNEL is nonzero

FIXTURE_TYPE

Fixture profile’s type name

Optional, ignored if CHANNEL is nonzero

The Title Row must contain columns describing the location for each Pixel Data row (PIXELMAP, LOCATION_X, and LOCATION_Y columns minimally), but then Eos needs to link the pixel to a fixture profile for proper control.

The easiest way is to define CHANNEL data, imported via CSV into a show file that is already patched. But the CSV file is also capable of using ADDRESS in combination with FIXTURE_DCID or MANUFACTURER & FIXTURE_TYPE fields to define the fixture profile. It is not necessary have all of these columns present for import from other software. They will be used when exported from Eos. So, valid Title Rows could be:

PIXELMAP,LOCATION_X,LOCATION_Y,CHANNEL

 

PIXELMAP,LOCATION_X,LOCATION_Y,ADDRESS,FIXTURE_DCID

 

PIXELMAP,LOCATION_X,LOCATION_Y,ADDRESS,MANUFACTURER,FIXTURE_TYPE

Building the Title Row

All columns in the Title Row must be separated by commas with no spaces (see examples below). All required columns must be included - if a required column is omitted, the import will fail. The order of the columns does not matter, so long as the Pixel Data rows match the Title Row.

Any optional columns can be omitted completely, or null values can be left in the Pixel Data rows.


Examples

This is a simple and valid CSV block for importing a channel-based Pixel Map layout:

START_PIXELMAP
PIXELMAP,LOCATION_X,LOCATION_Y,CHANNEL
1,1,1,1
1,1,2,2
1,1,3,3
1,2,1,4
1,2,2,5
1,2,3,6
END_PIXELMAP

This import will result in Pixel Map 1 with a layout of:

Pix Map Example 1.png

 


This is a CSV block where ADDRESS data exists, but because there is CHANNEL data present, it is ignored and the channels remain patched as they were before the import:

START_PIXELMAP
PIXELMAP,LOCATION_X,LOCATION_Y,CHANNEL
1,1,1,12,1
1,1,2,24,2
1,1,3,36,3
1,2,1,48,4
1,2,2,60,5
1,2,3,72,6
END_PIXELMAP

This import still results in Pixel Map 1 with a layout of:

Pix Map Example 1.png

 


This is a CSV block with multiple Pixel Maps in the same block:

 

START_PIXELMAP
PIXELMAP,LOCATION_X,LOCATION_Y,CHANNEL
1,1,1,1
1,1,2,2
1,1,3,3
1,2,1,4
1,2,2,5
1,2,3,6
2,1,1,11
2,1,2,12
2,1,3,13
2,2,1,14
2,2,2,15
2,2,3,16
END_PIXELMAP

This import will result in two pixel maps with the following layouts:

Pixel Map 1:

Pix Map Example 1.png

 

Pixel Map 2:

Pix Map Example 2.png

 


Pixel Map Layout CSV Format Rules Summary

  • The CSV block must start with START_PIXELMAP and end with END_PIXELMAP

  • The Title Row is required and must immediately follow START_PIXELMAP

    • Columns may be in any order

    • Optional or Ignored columns may be omitted entirely

    • Either CHANNEL or ADDRESS must be present and nonzero

      • If CHANNEL is nonzero, a channel-type pixel will be imported, using the fixture profile attached to the Channel in Patch

        • ADDRESS, FIXTURE_DCID, MANUFACTURER, and FIXTURE_TYPE are ignored, and can be omitted

      • If CHANNEL is omitted or zero, an address-type pixel will be imported. The fixture profile will be chosen as follows:

        • Fixture Profile with matching FIXTURE_DCID

        • Fixture Profile with matching MANUFACTURER & FIXTURE_TYPE strings

        • If neither of these finds a match in the Eos library, the Generic Dimmer fixture profile will be used.

  • The (1,1) pixel location is in the upper-left side of the map. X increases moving down, Y increases moving right.

  • SCALE_X and SCALE_Y default is 1, even if data is omitted. X increases a pixel size moving down, Y increases a pixel size moving right.

  • Pixel Map size:

    • Importing to a new Pixel Map target will make the map sized to fit the Pixel Data rows, based on maximum LOCATION_X and LOCATION_Y values.

    • Importing to an existing Pixel Map target will import the pixels and preserve the existing Pixel Map height and width

  • Was this article helpful?