Skip to content

Commit ce3ccd8

Browse files
committed
update README
Signed-off-by: Anton Dukhovnikov <[email protected]>
1 parent 07ba5a5 commit ce3ccd8

File tree

1 file changed

+4
-219
lines changed

1 file changed

+4
-219
lines changed

README.md

Lines changed: 4 additions & 219 deletions
Original file line numberDiff line numberDiff line change
@@ -245,225 +245,10 @@ By default, `rawtoaces` will determine the adopted white by finding the set of w
245245
You can use the environment varilable of `AMPAS_DATA_PATH` to specify the repository for your own datasets. If you have spectral sensitivity data for your camera but it is not included with `rawtoaces` you may place that data in `/usr/local/include/rawtoaces/data/camera` or place the data in the folder pointed by `AMPAS_DATA_PATH`.
246246

247247

248-
#### JSON Schema for Spectral Datasets
249-
250-
The schema takes its roots in [IES TM-27-14](http://www.techstreet.com/standards/ies-tm-27-14?product_id=1881073) but implements support for multiple spectral datasets while adopting [JSON](http://www.json.org/) over [XML](https://www.w3.org/TR/REC-xml/) for the simplicity of its grammar.
251-
252-
`rawtoaces` expects the spectral dataset to have the following shape: **(380, 780, 5)**, i.e. starting from 380nm and ending at 780nm with a 5nm interval/bin size.
253-
254-
The attributes are defined as follows:
255-
256-
- `header`
257-
- `schema_version`
258-
- **description**: *Required*, schema version of the current document.
259-
- **type**: `"string"`
260-
- `catalog_number`
261-
- **description**: *Optional*,
262-
- **type**: `["string", "null"]`
263-
- `comments`
264-
- **description**: *Optional*, additional information for the spectral dataset.
265-
- **type**: `["string", "null"]`
266-
- `description`
267-
- **description**: *Required*, description of the spectral dataset.
268-
- **type**: `"string"`
269-
- `document_creation_date`
270-
- **description**: *Required*, document creation date expressed as per RFC 3339 - Date and Time on the Internet: Timestamps, e.g. 2017-01-01T12:00:00Z.
271-
- **type**: `"string"`
272-
- **format**: `"date-time"`
273-
- `document_creator`
274-
- **description**: *Required*, creator of the document, e.g. company, individual, laboratory, etc.
275-
- **type**: `"string"`
276-
- `laboratory`
277-
- **description**: *Optional*, laboratory or company that performed the measurements.
278-
- **type**: `["string", "null"]`
279-
- `license`
280-
- **description**: *Required*, usage license of the document, e.g. "CC-BY-NC-ND".
281-
- **type**: `["string", "null"]`
282-
- `manufacturer`
283-
- **description**: *Optional*, manufacturer of the device being tested.
284-
- **type**: `["string", "null"]`
285-
- `measurement_equipment`
286-
- **description**: *Optional*, measurement equipment used to test the device.
287-
- **type**: `["string", "null"]`
288-
- `model`
289-
- **description**: *Optional*, model of the device being tested.
290-
- **type**: `["string", "null"]`
291-
- `unique_identifier`
292-
- **description**: *Optional*, generated unique identifier for the document, e.g. SHA256.
293-
- **type**: `["string", "null"]`
294-
- `spectral_data`
295-
- `bandwidth_FWHM`
296-
- **description**: *Optional*, spectro-radiometer full-width at half-maximum bandwidth in nm.
297-
- **type**: `["number", "null"]`
298-
- `bandwidth_corrected`
299-
- **description**: *Optional*, whether bandwidth correction has been applied to the spectral data.
300-
- **type**: `["boolean", "null"]`
301-
- `data`
302-
- **description**: *Required*, defines the spectral dataset, requiring at least one *key* from `index` whose *value* is an *object* containing wavelength/value pairs.
303-
- **type**: `"object"`
304-
- `index`
305-
- **description**: *Required*, indexes the spectral dataset.
306-
- **type**: `"object"`
307-
- `reflection_geometry`
308-
- **description**: *Required* if `units` is *reflectance*, reflection geometry attributes as per CIE 15:2004.
309-
- **type**: `["string", "null"]`
310-
- **enum**: `["di:8", "de:8", "8:di", "8:de", "d:d", "d:0", "45a:0", "45c:0", "0:45a", "45x:0", "0:45x", "other", null]`
311-
- `transmission_geometry`
312-
- **description**: *Required* if `units` is *transmittance*, transmission geometry attributes as per CIE 15:2004.
313-
- **type**: `["string", "null"]`
314-
- **enum**: `["0:0", "di:0", "de:0", "0:di", "0:de", "d:d", "other", null]`
315-
- `units`
316-
- **description**: *Required*, unit or quantity of measurement for the spectral dataset.
317-
- **type**: `"string"`
318-
- **enum**: `["flux", "absorptance", "transmittance", "reflectance", "intensity", "irradiance", "radiance", "exitance", "R-Factor", "T-Factor", "relative", "other"]`
319-
320-
The full JSON schema for spectral datasets can be used to validate a new user file using a [validator](http://www.jsonschemavalidator.net/) and is defined as follows:
321-
322-
```json
323-
{
324-
"$schema": "http://json-schema.org/draft-04/schema#",
325-
"definitions": {
326-
},
327-
"id": "#",
328-
"properties": {
329-
"header": {
330-
"id": "/properties/header",
331-
"properties": {
332-
"schema_version": {
333-
"description": "Required, schema version of the current document.",
334-
"id": "/properties/header/properties/api_version",
335-
"type": "string"
336-
},
337-
"catalog_number": {
338-
"description": "Optional, ",
339-
"id": "/properties/header/properties/catalog_number",
340-
"type": ["string", "null"]
341-
},
342-
"comments": {
343-
"description": "Optional, additional information for the spectral dataset.",
344-
"id": "/properties/header/properties/comments",
345-
"type": ["string", "null"]
346-
},
347-
"description": {
348-
"description": "Required, description of the spectral dataset.",
349-
"id": "/properties/header/properties/description",
350-
"type": "string"
351-
},
352-
"document_creation_date": {
353-
"description": "Required, document creation date expressed as per RFC 3339 - Date and Time on the Internet: Timestamps, e.g. 2017-01-01T12:00:00Z.",
354-
"id": "/properties/header/properties/document_creation_date",
355-
"type": "string",
356-
"format": "date-time"
357-
},
358-
"document_creator": {
359-
"description": "Required, creator of the document, e.g. company, individual, laboratory, etc.",
360-
"id": "/properties/header/properties/document_creator",
361-
"type": "string"
362-
},
363-
"laboratory": {
364-
"description": "Optional, laboratory or company that performed the measurements.",
365-
"id": "/properties/header/properties/laboratory",
366-
"type": ["string", "null"]
367-
},
368-
"license": {
369-
"description": "Required, usage license of the document, e.g. CC-BY-NC-ND",
370-
"id": "/properties/header/properties/license",
371-
"type": "string"
372-
},
373-
"manufacturer": {
374-
"description": "Optional, manufacturer of the device being tested.",
375-
"id": "/properties/header/properties/manufacturer",
376-
"type": ["string", "null"]
377-
},
378-
"measurement_equipment": {
379-
"description": "Optional, measurement equipment used to test the device.",
380-
"id": "/properties/header/properties/measurement_equipment",
381-
"type": ["string", "null"]
382-
},
383-
"model": {
384-
"description": "Optional, model of the device being tested.",
385-
"id": "/properties/header/properties/model",
386-
"type": ["string", "null"]
387-
},
388-
"unique_identifier": {
389-
"description": "Optional, generated unique identifier for the document, e.g. SHA256.",
390-
"id": "/properties/header/properties/unique_identifier",
391-
"type": ["string", "null"]
392-
}
393-
},
394-
"required": [
395-
"description",
396-
"document_creation_date",
397-
"document_creator",
398-
"license"
399-
],
400-
"type": "object"
401-
},
402-
"spectral_data": {
403-
"id": "/properties/spectral_data",
404-
"properties": {
405-
"bandwidth_FWHM": {
406-
"description": "Optional, spectro-radiometer full-width at half-maximum bandwidth in nm.",
407-
"id": "/properties/spectral_data/properties/bandwidth_FWHM",
408-
"type": ["number", "null"]
409-
},
410-
"bandwidth_corrected": {
411-
"description": "Optional, whether bandwidth correction has been applied to the spectral data.",
412-
"id": "/properties/spectral_data/properties/bandwidth_corrected",
413-
"type": ["boolean", "null"]
414-
},
415-
"data": {
416-
"description": "Required, defines the spectral dataset, requiring at least one *key* from `index` whose *value* is an *object* containing wavelength/value pairs.",
417-
"id": "/properties/spectral_data/properties/data",
418-
"patternProperties": {
419-
"^.*$": { "type": "object" }
420-
},
421-
"additionalProperties": false,
422-
"type": "object"
423-
},
424-
"index": {
425-
"description": "Required, indexes the spectral dataset.",
426-
"id": "/properties/spectral_data/properties/index",
427-
"patternProperties": {
428-
"^.*$": { "type": "array" }
429-
},
430-
"additionalProperties": false,
431-
"type": "object"
432-
},
433-
"reflection_geometry": {
434-
"description": "Required if `units` is *reflectance*, reflection geometry attributes as per CIE 15:2004.",
435-
"id": "/properties/spectral_data/properties/reflection_geometry",
436-
"type": ["string", "null"],
437-
"enum": ["di:8", "de:8", "8:di", "8:de", "d:d", "d:0", "45a:0", "45c:0", "0:45a", "45x:0", "0:45x", "other", null]
438-
},
439-
"transmission_geometry": {
440-
"description": "Required if `units` is *transmittance*, transmission geometry attributes as per CIE 15:2004.",
441-
"id": "/properties/spectral_data/properties/transmission_geometry",
442-
"type": ["string", "null"],
443-
"enum": ["0:0", "di:0", "de:0", "0:di", "0:de", "d:d", "other", null]
444-
},
445-
"units": {
446-
"description": "Required, unit or quantity of measurement for the spectral dataset.",
447-
"id": "/properties/spectral_data/properties/units",
448-
"type": "string",
449-
"enum": ["flux", "absorptance", "transmittance", "reflectance", "intensity", "irradiance", "radiance", "exitance", "R-Factor", "T-Factor", "relative", "other"]
450-
}
451-
},
452-
"required": [
453-
"data",
454-
"index",
455-
"units"
456-
],
457-
"type": "object"
458-
}
459-
},
460-
"required": [
461-
"header",
462-
"spectral_data"
463-
],
464-
"type": "object"
465-
}
466-
```
248+
#### Spectral Datasets
249+
250+
The spectral data have been moved to a separate repository [rawtoaces-data](https://github.com/AcademySoftwareFoundation/rawtoaces-data).
251+
The build scripts of rawtoaces will fetch and install the data automatically. Please refer to that repository for the information on the data usage and schema.
467252

468253
### Conversion using camera file metadata
469254

0 commit comments

Comments
 (0)