ATEST-442 -> Extrema
This commit is contained in:
71
Readme.md
71
Readme.md
@ -287,7 +287,8 @@ It is possible (and recommended) to aggregate queried data.
|
||||
```
|
||||
|
||||
- **aggregationType**: Specifies the type of aggregation (see [here](https://github.psi.ch/sf_daq/ch.psi.daq.domain/blob/master/src/main/java/ch/psi/daq/domain/query/operation/AggregationType.java)). The default type is *value* aggregation (e.g., sum([1,2,3])=6). Alternatively, it is possible to define *index* aggregation for multiple arrays in combination with binning (e.g., sum([1,2,3], [3,2,1]) = [4,4,4]).
|
||||
- **aggregations**: Array of requested aggregations (see [here](https://github.psi.ch/sf_daq/ch.psi.daq.domain/blob/master/src/main/java/ch/psi/daq/domain/query/operation/Aggregation.java) for possible values). These values will be added to the *data* array response.
|
||||
- **aggregations**: Array of requested aggregations (see [here](https://github.psi.ch/sf_daq/ch.psi.daq.domain/blob/master/src/main/java/ch/psi/daq/domain/query/operation/Aggregation.java) for possible values). These values will be added to the *data* array response.
|
||||
- **extrema**: Array of requested extrema (see [here](https://github.psi.ch/sf_daq/ch.psi.daq.domain/blob/master/src/main/java/ch/psi/daq/domain/query/operation/Extrema.java) for possible values). These values will be added to the *data* array response.
|
||||
- **nrOfBins**: Activates data binning. Specifies the number of bins the pulse/time range should be divided into.
|
||||
- **durationPerBin**: Activates data binning. Specifies the duration per bin for time-range queries (using duration makes this binning strategy consistent between channel with different update frequencies). The duration is defined as a [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Durations) duration (e.g., `PT1H` for 1 hour, `PT2S` for 2 seconds, `PT0.05S` for 50 milliseconds etc.). The resolution is in milliseconds and thus the minimal duration is 1 millisecond.
|
||||
- **pulsesPerBin**: Activates data binning. Specifies the number of pulses per bin for pulse-range queries (using number of pulses makes this binning strategy consistent between channel with different update frequencies).
|
||||
@ -929,73 +930,5 @@ Illustration of array index aggregation with additional with binning (several nr
|
||||
|
||||

|
||||
|
||||
|
||||
#### Extrema Search
|
||||
|
||||
```json
|
||||
{
|
||||
"aggregation":{
|
||||
"aggregationType":"extrema",
|
||||
"aggregations":["min","max","sum"]
|
||||
},
|
||||
"fields":["pulseId","value"],
|
||||
"range":{
|
||||
"startPulseId":0,
|
||||
"endPulseId":3
|
||||
},
|
||||
"channels":[
|
||||
"Channel_01"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
##### Command
|
||||
|
||||
```bash
|
||||
curl -H "Content-Type: application/json" -X POST -d '"aggregation":{"aggregationType":"extrema","aggregations":["min","max","sum"]},"fields":["pulseId","value"],"range":{"startPulseId":0,"endPulseId":3},"channels":["Channel_01"]}' http://data-api.psi.ch/sf/query | python -m json.tool
|
||||
```
|
||||
|
||||
##### Response
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"channel":"Channel_01",
|
||||
"data":{
|
||||
"minima":{
|
||||
"min":{
|
||||
"value":1.0,
|
||||
"event":{
|
||||
"pulseId":0,
|
||||
"value":[1,2,3,4]
|
||||
}
|
||||
},
|
||||
"sum":{
|
||||
"value":10.0,
|
||||
"event":{
|
||||
"pulseId":0,
|
||||
"value":[1,2,3,4]
|
||||
}
|
||||
}
|
||||
},
|
||||
"maxima":{
|
||||
"max":{
|
||||
"value":7.0,
|
||||
"event":{
|
||||
"pulseId":3,
|
||||
"value":[4,5,6,7]
|
||||
}
|
||||
},
|
||||
"sum":{
|
||||
"value":22.0,
|
||||
"event":{
|
||||
"pulseId":3,
|
||||
"value":[4,5,6,7]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
|
Reference in New Issue
Block a user