Skip to main content

 

Electronic Theatre Controls Inc

Pixel Map Editing and Importing Through CSV

Complex editing of Eos Pixel Maps can be done by exporting the Pixel Map from Eos as a CSV (comma-separated values) file, editing the file in your spreadsheet editor of choice, and then importing the CSV file back into Eos.

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

  • To export Pixel Map location data via CSV, navigate in the Browser to 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, navigate in the Browser to 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  or text editor) for creation or editing of complicated layouts.

Note-Icon.png

This article covers csv formatting conventions as they apply within a spreadsheet editor. When using a text editor, data in the same row will be separated by commas with no spaces, instead of cells. 

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
START_PIXELMAP
<title row>
<pixel row 1>
<pixel row 2>
...
<pixel row n>
END_PIXELMAP

Title Row Formatting

The title row allows you to define which data columns are used, and the order in which those columns appear in the pixel rows. These are the data column options:

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 right, Y increases moving down.
LOCATION_Y Pixel location Y Required  
SCALE_X Scale factor X Optional Default is 1, even if omitted.
SCALE_Y Scale factor Y Optional Default is 1, even if omitted.
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  
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 clipboard_eb6b2c57223be5ae77143288083d8c801.png
PIXELMAP,LOCATION_X,LOCATION_Y,ADDRESS,FIXTURE_DCID clipboard_e4c2f3d4dddda923574893fd3ca439561.png
PIXELMAP,LOCATION_X,LOCATION_Y,ADDRESS,MANUFACTURER,FIXTURE_TYPE clipboard_efafdf0468dc12ab8414644ce76229d64.png
Opened in text editor Opened in spreadsheet editor

Building the Title Row

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

Example 1
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,2,1,2
1,3,1,3
1,1,2,4
1,2,2,5
1,3,2,6
END_PIXELMAP
clipboard_e1502ea61607984232376be77e4f4ab57.png
Opened in text editor Opened in spreadsheet editor

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

clipboard_ed33e1bcbf0ed4f8f737645a6a51d9938.png

Example 2

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 import:

START_PIXELMAP
PIXELMAP,LOCATION_X,LOCATION_Y,ADDRESS,CHANNEL
1,1,1,12,1
1,2,1,24,2
1,3,1,36,3
1,1,2,48,4
1,2,2,60,5
1,3,2,72,6
END_PIXELMAP
clipboard_e59b2c1bde374f9b71f25e0d463b45ecb.png
Opened in text editor Opened in spreadsheet editor

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

clipboard_e7928a12119ad1236855bade65126dfa4.png

Example 3

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,2,1,2
1,3,1,3
1,1,2,4
1,2,2,5
1,3,2,6
2,1,1,11
2,2,1,12
2,3,1,13
2,1,2,14
2,2,2,15
2,3,2,16
END_PIXELMAP
clipboard_e901743f8bb20dc94973484d7a85c66e7.png
Opened in text editor Opened in spreadsheet editor

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

Pixel Map 1: 

clipboard_eb881deddfcad4b6a3e44c10f3d95f411.png

Pixel Map 2: 

clipboard_ec9df64e783e9b3a7db5273af43530051.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 right, Y increases moving down.
  • SCALE_X and SCALE_Y default is 1, even if data is omitted. X increases a pixel size moving right, Y increases a pixel size moving down.
  • 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?