Skip to content

Commit 0c73c39

Browse files
committed
update examples, schema and tests with scaling definition
1 parent a65be79 commit 0c73c39

File tree

7 files changed

+46
-110
lines changed

7 files changed

+46
-110
lines changed

examples/item_eo_and_raster_bands.json

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,59 +96,70 @@
9696
],
9797
"data_type": "float32"
9898
},
99-
"norm_by_channel": true,
100-
"norm_type": "z-score",
10199
"resize_type": null,
102-
"statistics": [
100+
"scaling": [
103101
{
102+
"type": "z-score",
104103
"mean": 1354.40546513,
105104
"stddev": 245.71762908
106105
},
107106
{
107+
"type": "z-score",
108108
"mean": 1118.24399958,
109109
"stddev": 333.00778264
110110
},
111111
{
112+
"type": "z-score",
112113
"mean": 1042.92983953,
113114
"stddev": 395.09249139
114115
},
115116
{
117+
"type": "z-score",
116118
"mean": 947.62620298,
117119
"stddev": 593.75055589
118120
},
119121
{
122+
"type": "z-score",
120123
"mean": 1199.47283961,
121124
"stddev": 566.4170017
122125
},
123126
{
127+
"type": "z-score",
124128
"mean": 1999.79090914,
125129
"stddev": 861.18399006
126130
},
127131
{
132+
"type": "z-score",
128133
"mean": 2369.22292565,
129134
"stddev": 1086.63139075
130135
},
131136
{
137+
"type": "z-score",
132138
"mean": 2296.82608323,
133139
"stddev": 1117.98170791
134140
},
135141
{
142+
"type": "z-score",
136143
"mean": 732.08340178,
137144
"stddev": 404.91978886
138145
},
139146
{
147+
"type": "z-score",
140148
"mean": 12.11327804,
141149
"stddev": 4.77584468
142150
},
143151
{
152+
"type": "z-score",
144153
"mean": 1819.01027855,
145154
"stddev": 1002.58768311
146155
},
147156
{
157+
"type": "z-score",
148158
"mean": 1118.92391149,
149159
"stddev": 761.30323499
150160
},
151161
{
162+
"type": "z-score",
152163
"mean": 2594.14080798,
153164
"stddev": 1231.58581042
154165
}

examples/item_eo_bands.json

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,58 +98,70 @@
9898
"data_type": "float32"
9999
},
100100
"norm_by_channel": true,
101-
"norm_type": "z-score",
102101
"resize_type": null,
103-
"statistics": [
102+
"scaling": [
104103
{
104+
"type": "z-score",
105105
"mean": 1354.40546513,
106106
"stddev": 245.71762908
107107
},
108108
{
109+
"type": "z-score",
109110
"mean": 1118.24399958,
110111
"stddev": 333.00778264
111112
},
112113
{
114+
"type": "z-score",
113115
"mean": 1042.92983953,
114116
"stddev": 395.09249139
115117
},
116118
{
119+
"type": "z-score",
117120
"mean": 947.62620298,
118121
"stddev": 593.75055589
119122
},
120123
{
124+
"type": "z-score",
121125
"mean": 1199.47283961,
122126
"stddev": 566.4170017
123127
},
124128
{
129+
"type": "z-score",
125130
"mean": 1999.79090914,
126131
"stddev": 861.18399006
127132
},
128133
{
134+
"type": "z-score",
129135
"mean": 2369.22292565,
130136
"stddev": 1086.63139075
131137
},
132138
{
139+
"type": "z-score",
133140
"mean": 2296.82608323,
134141
"stddev": 1117.98170791
135142
},
136143
{
144+
"type": "z-score",
137145
"mean": 732.08340178,
138146
"stddev": 404.91978886
139147
},
140148
{
149+
"type": "z-score",
141150
"mean": 12.11327804,
142151
"stddev": 4.77584468
143152
},
144153
{
154+
"type": "z-score",
145155
"mean": 1819.01027855,
146156
"stddev": 1002.58768311
147157
},
148158
{
159+
"type": "z-score",
149160
"mean": 1118.92391149,
150161
"stddev": 761.30323499
151162
},
152163
{
164+
"type": "z-score",
153165
"mean": 2594.14080798,
154166
"stddev": 1231.58581042
155167
}

examples/item_eo_bands_summarized.json

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,59 +97,70 @@
9797
],
9898
"data_type": "float32"
9999
},
100-
"norm_by_channel": true,
101-
"norm_type": "z-score",
102100
"resize_type": null,
103-
"statistics": [
101+
"scaling": [
104102
{
103+
"type": "z-score",
105104
"mean": 1354.40546513,
106105
"stddev": 245.71762908
107106
},
108107
{
108+
"type": "z-score",
109109
"mean": 1118.24399958,
110110
"stddev": 333.00778264
111111
},
112112
{
113+
"type": "z-score",
113114
"mean": 1042.92983953,
114115
"stddev": 395.09249139
115116
},
116117
{
118+
"type": "z-score",
117119
"mean": 947.62620298,
118120
"stddev": 593.75055589
119121
},
120122
{
123+
"type": "z-score",
121124
"mean": 1199.47283961,
122125
"stddev": 566.4170017
123126
},
124127
{
128+
"type": "z-score",
125129
"mean": 1999.79090914,
126130
"stddev": 861.18399006
127131
},
128132
{
133+
"type": "z-score",
129134
"mean": 2369.22292565,
130135
"stddev": 1086.63139075
131136
},
132137
{
138+
"type": "z-score",
133139
"mean": 2296.82608323,
134140
"stddev": 1117.98170791
135141
},
136142
{
143+
"type": "z-score",
137144
"mean": 732.08340178,
138145
"stddev": 404.91978886
139146
},
140147
{
148+
"type": "z-score",
141149
"mean": 12.11327804,
142150
"stddev": 4.77584468
143151
},
144152
{
153+
"type": "z-score",
145154
"mean": 1819.01027855,
146155
"stddev": 1002.58768311
147156
},
148157
{
158+
"type": "z-score",
149159
"mean": 1118.92391149,
150160
"stddev": 761.30323499
151161
},
152162
{
163+
"type": "z-score",
153164
"mean": 2594.14080798,
154165
"stddev": 1231.58581042
155166
}

examples/item_multi_io.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,7 @@
8585
],
8686
"data_type": "uint16"
8787
},
88-
"norm_by_channel": false,
89-
"norm_type": null,
88+
"scaling": null,
9089
"resize_type": null
9190
},
9291
{

examples/item_raster_bands.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@
9595
],
9696
"data_type": "float32"
9797
},
98-
"norm_type": null,
98+
"scaling": null,
9999
"resize_type": null,
100100
"pre_processing_function": {
101101
"format": "python",

json-schema/schema.json

Lines changed: 1 addition & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -490,14 +490,7 @@
490490
"mlm:input": {
491491
"type": "array",
492492
"items": {
493-
"allOf": [
494-
{
495-
"$ref": "#/$defs/ModelInput"
496-
},
497-
{
498-
"$ref": "#/$defs/ModelInputNormTypeStatistics"
499-
}
500-
]
493+
"$ref": "#/$defs/ModelInput"
501494
}
502495
},
503496
"ModelInput": {
@@ -529,93 +522,11 @@
529522
"resize_type": {
530523
"$ref": "#/$defs/ResizeType"
531524
},
532-
"statistics": {
533-
"$ref": "#/$defs/InputStatistics"
534-
},
535525
"pre_processing_function": {
536526
"$ref": "#/$defs/ProcessingExpression"
537527
}
538528
}
539529
},
540-
"ModelInputNormTypeStatistics": {
541-
"description": "Validates the corresponding statistics required for the specified normalization type.",
542-
"allOf": [
543-
{
544-
"if": {
545-
"type": "object",
546-
"required": [
547-
"norm_type"
548-
],
549-
"properties": {
550-
"norm_type": {
551-
"const": "min-max"
552-
}
553-
}
554-
},
555-
"then": {
556-
"type": "object",
557-
"required": [
558-
"statistics"
559-
],
560-
"properties": {
561-
"statistics": {
562-
"allOf": [
563-
{
564-
"$ref": "#/$defs/InputStatistics"
565-
},
566-
{
567-
"type": "array",
568-
"items": {
569-
"required": [
570-
"minimum",
571-
"maximum"
572-
]
573-
}
574-
}
575-
]
576-
}
577-
}
578-
}
579-
},
580-
{
581-
"if": {
582-
"type": "object",
583-
"required": [
584-
"norm_type"
585-
],
586-
"properties": {
587-
"norm_type": {
588-
"const": "z-score"
589-
}
590-
}
591-
},
592-
"then": {
593-
"type": "object",
594-
"required": [
595-
"statistics"
596-
],
597-
"properties": {
598-
"statistics": {
599-
"allOf": [
600-
{
601-
"$ref": "#/$defs/InputStatistics"
602-
},
603-
{
604-
"type": "array",
605-
"items": {
606-
"required": [
607-
"mean",
608-
"stddev"
609-
]
610-
}
611-
}
612-
]
613-
}
614-
}
615-
}
616-
}
617-
]
618-
},
619530
"mlm:output": {
620531
"type": "array",
621532
"items": {
@@ -921,14 +832,6 @@
921832
}
922833
]
923834
},
924-
"InputStatistics": {
925-
"$comment": "MLM statistics for the specific input relevant for normalization for ML features.",
926-
"type": "array",
927-
"minItems": 1,
928-
"items": {
929-
"$ref": "https://stac-extensions.github.io/raster/v1.1.0/schema.json#/definitions/bands/items/properties/statistics"
930-
}
931-
},
932835
"ProcessingExpression": {
933836
"oneOf": [
934837
{

tests/test_schema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ def test_mlm_no_input_allowed_but_explicit_empty_array_required(
108108
], True),
109109
],
110110
)
111-
def test_mlm_input_norm_type_statistics_combination(
111+
def test_mlm_input_scaling_combination(
112112
mlm_validator: STACValidator,
113113
mlm_example: Dict[str, JSON],
114114
test_scaling: List[Dict[str, Any]],

0 commit comments

Comments
 (0)