Last updated 2003-12-01 11:30:03 EST
Doc Title Image Class - Mapping Image Structures
Author 1 Weise, John
CVS Revision $Revision: 1.6 $
Image Class - Mapping Image Structures

Note regarding the use of MySQL with Image Class:

This document addresses Image Structures from the perspective of prepaing Image Class SGML. Image Structures are also supported fully when using MySQL with Image Class. The necessary data is stored in the Media Table. Currently the best data preparation method is to first transform data to Image Class SGML and then use the provided conversion script to generate MySQL data loading scripts. Please see Image Class Conversion from XPAT to MySQL.

Most often each record of a database has a single digital image associated with it. In such situations, configuration is relatively simple and described fully in the Image Class Data Transformation document. The instructions in this document are for less common situations, where a record has multiple images associated with it; for example, several views of an sculpture. Each of these views might be of equal standing, or perhaps there is one that alone does a reasonable job of summarizing the object, while the others provide valuable details difficult to see in the summary. These are basic examples of structural configurations for images. Previous to version 1 of the Image Class, only basic structural configurations were possible. It is now possible to represent in a single record a highly complex structure of images.

The key factors for the accurate representation of image structures in the image class are:

A this time, complex structures apply to entire collections and cannot be defined at the record level.

Please also read Image Class Data Transformation.

Definitions

An image filename field is a field of a database that contains image filenames and nothing else. An image filename field may have any number of repetitions, with an image filename in each.

An image caption field is a field of a database that contains descriptive text that typically describes the image in a very specific way. For example, "View of steeple from the north." A record with multiple image filenames will often have a corresponding caption for each, though this is not always the case.

A record with an image filename field that has 5 repetitions will often have a corresponding image caption field with 5 repetitions. The values in each are synchronized.

Note that in these examples the actual names of the image files could be anything logical.

Image Filename Field

image01.tif

image02.tif

image03.tif

image04.tif

image05.tif

Image Caption Field

View from the north

View from the south

View from the east

View from the west

View from the sky

A single record may also have multiple image filename fields, and multiple image caption fields. Together they might represent a hierarchical structure.

Image Filename Field 1

image01.tif

Image Caption Field 1

Front view of sculpture (overview)

Image Filename Field 2

imageF.tif

imageB.tif

imageR.tif

imageL.tif

Image Caption Field 2

Front view of sculpture (detail)

Back of sculpture

Right side of sculpture

Left side of Sculpture

To get an idea of a more complicated example, look at the following example from the Advanced Papyrological Information System, deployed in the Image Class at the University of Michigan. Be sure to scroll through the entire page to see how the structure is displayed with the thumbnail images.

Administrative metadata field mappings are used to identify which fields are image filename and image caption fields for the purpose of transforming data to the Image Class SGML DTD. Previous to version 1 of the Image Class, the only administrative metadata field mappings for images and captions were IS.fn (filename field mapping) and IS.vi (view/caption field mapping). Functionally these mappings still exist, though they have been changed to IC.fn and IC.vi. Additionally, there is now a complex set of mappings that can be used to represent complex structures. Generically the new mappings are referred to as IC.fn-st and IC.vi-st (the "st" is for "structured).

A structure is a group of image filename fields and image caption fields (and therefore images and captions) that together make up a structure. A record can have more than one structure. This papyrus example has two structures. The first structure ties all of the front views together, and the second ties all of the back views together. This causes the structural display online of thumbnail images to flow from front summary images to front detail to back summary to back detail. This flow can be changed by assigning the structural IDs differently.

Rules

  1. A record may have any number of image filename fields, and the fields may have repetitions.
  2. Each image filename field must be mapped to only one administrative metadata image filename mapping (IC.fn, IC.fn-st).
  3. A record may have any number of image caption fields, and the fields may have repetitions.
  4. Each image caption field may be mapped with any number of administrative metadata image caption mappings (IC.vi, IC.vi-st).
  5. Each image caption field mapped to IC.vi will be associated with all image filename fields mapped to IC.fn (but not fields mapped to IC.fn-st).
  6. Fields mapped to IC.vi or IC.vi-st may have one or more repetitions, which may be independent of the number of repetitions in the associated IC.fn or IC.fn-st mapped field.
  7. If the image filename field has repetitions but the corresponding image caption field does not, then the single value of the image caption field is associated with each of the repetitions of the image filename field.
  8. Structures can only be specified at the collection level. It is not currently possible to have the structure change per record.

Syntax

Simple situations (one image per record) can be handled with a simple mapping of the image filename field to "IC.fn" and the caption field to "IC.vi" as described in the transformation documentation.

More complex situations rely on the structural mappings so far referred to as IC.fn-st and IC.vi-st. These are not the actual mappings, they are only generic and simplified representations to aid discussion. The actual mappings consist of a base (IC.fn and IC.vi) and four attributes. When structural mappings are used, all four attributes are required to have values.

The base: IC.fn and IC.vi

Type Attribute

Type Attribute Value

Description

type="summ"

For fields that represent images that summarize all the images of the record.

type="det"

For fields that represent images that provide greater detail or extended view than what is depicted in the summary images.

Face Attribute

Face Attribute Value

Description

face="front"

For fields that represent images that provide views of the front.

face=" back"

For fields that represent images that provide views of the back.

face=" right"

For fields that represent images that provide views of the right.

face=" left"

For fields that represent images that provide views of the left.

face=" top"

For fields that represent images that provide views of the top.

face=" bottom"

For fields that represent images that provide views of the bottom.

Structural ID (STID) Attribute

stid=1

Each structure must be given a numeric ID. Be sure to read the definition of structure given above. Structural IDs can be assigned somewhat arbitrarily, though there needs to be at least one.

Y Attribute

y=1

Sometimes images of a record are meant to be combined in the structure of a two dimensional matrix, which can also be thought of as a table or tiles. The Y attribute, together with the unspecified X attribute, allow for a matrix of images to be represented in the SGML.

Databases typically only offer the ability to have field repetitions in one dimension. That is, a 1xN field of repetitions can be built. To simulate a two dimensional matrix involves working with multiple repeating fields where each repetition represents a column (X) and each field a row (Y).

It is necessary to specify the Y attribute in the configuration file, but it is not necessary to specify the X attribute which is calculuated automatically at the time of transformation depending on the number of repetitions there are in a record.

A good example is this papyrus example.

These two discrete fields can be combined to form a two dimensional matrix.

Image Filename Field 1

X="1, Y=1"

X="2, Y=1"

Image Filename Field 2

X="1, Y=2"

X="2, Y=2"

Combining the Base with the Attributes

All attributes are required in all cases and the components must be joined with a period (".") as demonstrated below.

For an image filename field:
IC.fn-type=summ.face=front.stid=1.y=1

For the caption field that corresponds with the above filename field:
IC.vi-type=summ.face=front.stid=1.y=1

Examples

University of Michigan, Bentley Historical Library.

View an example record online.

Image Filename Fields per Record

1

Image Filename Field Repetitions

1

Image Caption Fields per Record

1

Image Caption Field Repetitions

1

Field Name

Field Type

Administrative Metadata Mapping

Bentley Item Number

Image Filename Field

IC.fn

Image title

Image Caption Field

IC.vi

University of Michigan, Museum of Art.

View an example record online.

Image Filename Fields per Record

2

Image Filename Field Repetitions (Field "ShortName")

1

Image Filename Field Repetitions (Field "RepeatingImages")

20

Image Caption Fields per Record

3

Image Caption Field Repetitions (Field "ShortName")

1

Image Caption Field Repetitions (Field "RepeatingImages")

20

Image Caption Field Repetitions (Field "Title")

1

Field Name

Field Type

Administrative Metadata Mapping

ShortName

Image Filename Field

IC.fn-type="summ.face=front.stid=1.y=1"
IC.vi-type="summ.face=front.stid=1.y=1"

RepeatingImages

Image Caption Field

IC.fn-type="det.face=front.stid=2.y=1"
IC.vi-type="det.face=front.stid=2.y=1"

Title

Image Caption Field

IC.vi-type="det.face=front.stid=1.y=1"
IC.vi-type="summ.face=front.stid=2.y=1"

University of Michigan, Advanced Papyrological Information System

View the example record online. Note that the apis structure has the potential to have a large number of images, but this example happens to only have 6.

Image Filename Fields per Record

21

Image Filename Field Repetitions (Field "Full SizeBack R1")

2

Image Filename Field Repetitions (Field "Full SizeBack R2")

2

Image Filename Field Repetitions (Field "Full SizeFront R1")

2

Image Filename Field Repetitions (Field "Full SizeFront R1")

2

Image Filename Field Repetitions (Field "_600DPIBack R1")

8

Image Filename Field Repetitions (Field "_600DPIBack R2")

8

Image Filename Field Repetitions (Field "_600DPIBack R3")

8

Image Filename Field Repetitions (Field "_600DPIBack R4")

8

Image Filename Field Repetitions (Field "_600DPIBack R5")

8

Image Filename Field Repetitions (Field "_600DPIBack R6")

8

Image Filename Field Repetitions (Field "_600DPIBack R7")

8

Image Filename Field Repetitions (Field "_600DPIBack R8")

8

Image Filename Field Repetitions (Field "_600DPIFront R1")

8

Image Filename Field Repetitions (Field "_600DPIFront R2")

8

Image Filename Field Repetitions (Field "_600DPIFront R3")

8

Image Filename Field Repetitions (Field "_600DPIFront R4")

8

Image Filename Field Repetitions (Field "_600DPIFront R5")

8

Image Filename Field Repetitions (Field "_600DPIFront R6")

8

Image Filename Field Repetitions (Field "_600DPIFront R7")

8

Image Filename Field Repetitions (Field "_600DPIFront R8")

8

Image Filename Field Repetitions (Field "INV NO")

1

Field Name

Field Type

Administrative Metadata Mapping

Image Filename Field Repetitions (Field "Full SizeBack R1")

Summary Image Filename Field
Summary Image Caption Field
(Back of Item Summary, Row 1 of 2)

IC.fn-type=summ.face=back.stid=2.y=1 IC.vi-type=summ.face=back.stid=2.y=1

Image Filename Field Repetitions (Field "Full SizeBack R2")

Summary Image Filename Field
Summary Image Caption Field
(Back of Item Summary, Row 2 of 2)

IC.fn-type=summ.face=back.stid=2.y=2 IC.vi-type=summ.face=back.stid=2.y=2

Image Filename Field Repetitions (Field "Full SizeFront R1")

Summary Image Filename Field
Summary Image Caption Field
(Front of Item Summary, Row 1 of 2)

IC.fn-type=summ.face=front.stid=1.y=1 IC.vi-type=summ.face=front.stid=1.y=1

Image Filename Field Repetitions (Field "Full SizeFront R2")

Summary Image Filename Field
Summary Image Caption Field
(Front of Item Summary, Row 2 of 2)

IC.fn-type=summ.face=front.stid=1.y=2 IC.vi-type=summ.face=front.stid=1.y=2

Image Filename Field Repetitions (Field "_600DPIBack R1")

Detail Image Filename Field
Detail Image Caption Field
(Back of Item Detail, Row 1 of 8)

IC.fn-type=det.face=back.stid=2.y=1 IC.vi-type=det.face=back.stid=2.y=1

Image Filename Field Repetitions (Field "_600DPIBack R2")

Detail Image Filename Field
Detail Image Caption Field
(Back of Item Detail, Row 2 of 8)

IC.fn-type=det.face=back.stid=2.y=2 IC.vi-type=det.face=back.stid=2.y=2

Image Filename Field Repetitions (Field "_600DPIBack R3")

Detail Image Filename Field
Detail Image Caption Field
(Back of Item Detail, Row 3 of 8)

IC.fn-type=det.face=back.stid=2.y=3 IC.vi-type=det.face=back.stid=2.y=3

Image Filename Field Repetitions (Field "_600DPIBack R4")

Detail Image Filename Field
Detail Image Caption Field
(Back of Item Detail, Row 4 of 8)

IC.fn-type=det.face=back.stid=2.y=4 IC.vi-type=det.face=back.stid=2.y=4

Image Filename Field Repetitions (Field "_600DPIBack R5")

Detail Image Filename Field
Detail Image Caption Field
(Back of Item Detail, Row 5 of 8)

IC.fn-type=det.face=back.stid=2.y=5 IC.vi-type=det.face=back.stid=2.y=5

Image Filename Field Repetitions (Field "_600DPIBack R6")

Detail Image Filename Field
Detail Image Caption Field
(Back of Item Detail, Row 6 of 8)

IC.fn-type=det.face=back.stid=2.y=6 IC.vi-type=det.face=back.stid=2.y=6

Image Filename Field Repetitions (Field "_600DPIBack R7")

Detail Image Filename Field
Detail Image Caption Field
(Back of Item Detail, Row 7 of 8)

IC.fn-type=det.face=back.stid=2.y=7 IC.vi-type=det.face=back.stid=2.y=7

Image Filename Field Repetitions (Field "_600DPIBack R8")

Detail Image Filename Field
Detail Image Caption Field
(Back of Item Detail, Row 8 of 8)

IC.fn-type=det.face=back.stid=2.y=8 IC.vi-type=det.face=back.stid=2.y=8

Image Filename Field Repetitions (Field "_600DPIFront R1")

Detail Image Filename Field
Detail Image Caption Field
(Front of Item Detail, Row 1 of 8)

IC.fn-type=det.face=front.stid=1.y=1 IC.vi-type=det.face=front.stid=1.y=1

Image Filename Field Repetitions (Field "_600DPIFront R2")

Detail Image Filename Field
Detail Image Caption Field
(Front of Item Detail, Row 2 of 8)

IC.fn-type=det.face=front.stid=1.y=2 IC.vi-type=det.face=front.stid=1.y=2

Image Filename Field Repetitions (Field "_600DPIFront R3")

Detail Image Filename Field
Detail Image Caption Field
(Front of Item Detail, Row 3 of 8)

IC.fn-type=det.face=front.stid=1.y=3 IC.vi-type=det.face=front.stid=1.y=3

Image Filename Field Repetitions (Field "_600DPIFront R4")

Detail Image Filename Field
Detail Image Caption Field
(Front of Item Detail, Row 4 of 8)

IC.fn-type=det.face=front.stid=1.y=4 IC.vi-type=det.face=front.stid=1.y=4

Image Filename Field Repetitions (Field "_600DPIFront R5")

Detail Image Filename Field
Detail Image Caption Field
(Front of Item Detail, Row 5 of 8)

IC.fn-type=det.face=front.stid=1.y=5 IC.vi-type=det.face=front.stid=1.y=5

Image Filename Field Repetitions (Field "_600DPIFront R6")

Detail Image Filename Field
Detail Image Caption Field
(Front of Item Detail, Row 6 of 8)

IC.fn-type=det.face=front.stid=1.y=6 IC.vi-type=det.face=front.stid=1.y=6

Image Filename Field Repetitions (Field "_600DPIFront R7")

Detail Image Filename Field
Detail Image Caption Field
(Front of Item Detail, Row 7 of 8)

IC.fn-type=det.face=front.stid=1.y=7 IC.vi-type=det.face=front.stid=1.y=7

Image Filename Field Repetitions (Field "_600DPIFront R8")

Detail Image Filename Field
Detail Image Caption Field
(Front of Item Detail, Row 8 of 8)

IC.fn-type=det.face=front.stid=1.y=8 IC.vi-type=det.face=front.stid=1.y=8

Image Filename Field Repetitions (Field "INV NO")

Image Caption Field

IC.vi-type=summ.face=back.stid=2.y=1 IC.vi-type=summ.face=back.stid=2.y=2 IC.vi-type=summ.face=front.stid=1.y=1 IC.vi-type=summ.face=front.stid=1.y=2

dlxs-help@umich.edu