Skip to content

Prezi 4 scale #2347

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: prezi-4
Choose a base branch
from
Open

Prezi 4 scale #2347

wants to merge 3 commits into from

Conversation

tomcrane
Copy link
Contributor

@tomcrane tomcrane commented May 9, 2025

spatialScale and temporalScale => model

Copy link
Contributor

@JulieWinchester JulieWinchester left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a run at providing explicit definitions of the association for spatialScale, and is independent from the question of whether we hard-wire the UnitValue value as meters and seconds for these properties. What do you think?

Co-authored-by: Julie Winchester <[email protected]>
@@ -1478,43 +1478,15 @@ See above...

## Conveying Physical Dimensions

(why is this important!?)
In many cases, the dimensions of a Canvas, or the pixel density of a photograph, are not necessarily related to the real-world size of the object they show. A large wall painting and a tiny miniature may both be conveyed by 20 megapixel source images on a 4000 by 3000 unit Canvas. But it can be important to know how big something is or if there is a relationship between pixel density and physical length, especially when comparing objects together. An X-Ray image may have a tight expectation for the physical distance between two adjacent pixels, or a scanned 3D model may be constructed such that each 3D coordinate unit corresponds to one meter of physical distance.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"distance between": I think of pixels as an area, not a point. I might suggest: "expectation for the physical area represented by each individual pixel"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fair, and I wondered if someone might have different thoughts on that. I think I'm fine either way. My reasoning for using distance between is because I was modeling my approach off of computed tomography images (XRay-CT, MRI, etc.), which is the domain I'm most familiar with where physical distance and pixels are tightly linked. For CT, each pixel is treated as a coordinate location and the pixel color/value is an indication of the intensity of the signal(s) at that particular point in space. Because of that, in DICOM and other standards, physical distance is defined as being the length between the center of adjacent pixels. But I used that definition not just here in the overview as an example for X-Rays but also in the model explicitly, so I'm fine if we want to switch to a definition more based on pixels as area.

Copy link
Contributor

@JulieWinchester JulieWinchester left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestions for opening up the language to other units in a future extension.

### spatialScale
{: #spatialScale}

A single UnitValue that defines a real-world scale factor for the coordinate units of a Canvas or Scene. For a Canvas, this defines the physical distance between adjacent units horizontally and vertically. A Canvas with a `width` of 5000 and a `spatialScale` with `value` 0.00008 represents a physical space 0.4 metres wide. For a Scene, this defines the physical distance corresponding to the XYZ coordinate units, or in other words, the physical distance length of a unit vector in the 3D coordinate space. The value of `unit` _MUST_ always be `m`, i.e., metres.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
A single UnitValue that defines a real-world scale factor for the coordinate units of a Canvas or Scene. For a Canvas, this defines the physical distance between adjacent units horizontally and vertically. A Canvas with a `width` of 5000 and a `spatialScale` with `value` 0.00008 represents a physical space 0.4 metres wide. For a Scene, this defines the physical distance corresponding to the XYZ coordinate units, or in other words, the physical distance length of a unit vector in the 3D coordinate space. The value of `unit` _MUST_ always be `m`, i.e., metres.
A single UnitValue that defines a real-world scale factor for the coordinate units of a Canvas or Scene. For a Canvas, this defines the physical distance between adjacent units horizontally and vertically. A Canvas with a `width` of 5000 and a `spatialScale` with `value` 0.00008 represents a physical space 0.4 metres wide. For a Scene, this defines the physical distance corresponding to the XYZ coordinate units, or in other words, the physical distance length of a unit vector in the 3D coordinate space. The value of `unit` _MUST_ be a length unit. In this specification, the only length unit defined is `m`, i.e., metres. Unless other values are defined externally as an [extension][prezi30-ldce], the value of `unit` _SHOULD_ always be `m`.

Comment on lines +1860 to +1868
{
"type": "Scene",

"spatialScale": {
"type": "UnitValue",
"value": 22.0,
"unit": "m"
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{
"type": "Scene",
"spatialScale": {
"type": "UnitValue",
"value": 22.0,
"unit": "m"
}
}
{
"type": "Scene",
"spatialScale": {
"type": "UnitValue",
"value": 22.0,
"unit": "m"
}
}

### temporalScale
{: #temporalScale}

A single UnitValue that defines a multiplier or scale factor for the `duration` property of a Container, indicating that one second in "Container time" represents some other real world duration. A Canvas with a `duration` of 450 seconds and a `temporalScale` with `value` 1000 represents a real-world duration of 450,000 seconds (5.2 days), for example a time-lapse video of a growing plant. The value of `unit` _MUST_ always be `s`, i.e., seconds.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
A single UnitValue that defines a multiplier or scale factor for the `duration` property of a Container, indicating that one second in "Container time" represents some other real world duration. A Canvas with a `duration` of 450 seconds and a `temporalScale` with `value` 1000 represents a real-world duration of 450,000 seconds (5.2 days), for example a time-lapse video of a growing plant. The value of `unit` _MUST_ always be `s`, i.e., seconds.
A single UnitValue that defines a multiplier or scale factor for the `duration` property of a Container, indicating that one second in "Container time" represents some other real world duration. A Canvas with a `duration` of 450 seconds and a `temporalScale` with `value` 1000 represents a real-world duration of 450,000 seconds (5.2 days), for example a time-lapse video of a growing plant. The value of `unit` _MUST_ be a time unit. In this specification, the only time unit defined is `s`, i.e., seconds. Unless other values are defined externally as an [extension][prezi30-ldce], the value of `unit` _SHOULD_ always be `s`.

Comment on lines +1999 to +2006
"type": "Canvas",

"temporalScale": {
"type": "UnitValue",
"value": 1000,
"unit": "s"
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"type": "Canvas",
"temporalScale": {
"type": "UnitValue",
"value": 1000,
"unit": "s"
}
}
"type": "Canvas",
"temporalScale": {
"type": "UnitValue",
"value": 1000,
"unit": "s"
}
}


The value of `spatialScale` is a `UnitValue` (ref) that always has the value "m", i.e., metres. If source size metadata is machine readable (or parse-able) in other measurement systems (e.g., feet and inches) then it should be converted to metres for use in `spatialScale`. Publishers may wish to present the original given measure (e.g., from catalogue metadata) in a `metadata` field for context.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The value of `spatialScale` is a `UnitValue` (ref) that always has the value "m", i.e., metres. If source size metadata is machine readable (or parse-able) in other measurement systems (e.g., feet and inches) then it should be converted to metres for use in `spatialScale`. Publishers may wish to present the original given measure (e.g., from catalogue metadata) in a `metadata` field for context.
The value of `spatialScale` is a `UnitValue` (ref) that has as a value a length unit. This specification defines only one length unit, "m", i.e., metres, though others may be defined externally as an [extension][prezi30-ldce]. If source size metadata is machine readable (or parse-able) in other measurement systems (e.g., feet and inches) then it should be converted to metres for use in `spatialScale`. Publishers may wish to present the original given measure (e.g., from catalogue metadata) in a `metadata` field for context.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants