1
1
``` @meta
2
2
DocTestSetup = quote
3
- using AxisArrays, Unitful
3
+ using AxisArrays, Unitful, Random
4
4
import Unitful: s, ms, µs
5
5
rng = MersenneTwister(123)
6
6
fs = 40000
@@ -33,7 +33,7 @@ Collaboration is welcome! This is still a work-in-progress. See [the roadmap](ht
33
33
34
34
``` julia
35
35
julia> Pkg. add (" AxisArrays" )
36
- julia> using AxisArrays, Unitful
36
+ julia> using AxisArrays, Unitful, Random
37
37
julia> import Unitful: s, ms, µs
38
38
39
39
julia> rng = MersenneTwister (123 ) # Seed a random number generator for repeatable examples
@@ -51,7 +51,6 @@ julia> for spk = (sin.(0.8:0.2:8.6) .* [0:0.01:.1; .15:.1:.95; 1:-.05:.05] .* 50
51
51
52
52
``` jldoctest
53
53
julia> A = AxisArray([y 2y], Axis{:time}(0s:1s/fs:60s), Axis{:chan}([:c1, :c2]))
54
-
55
54
2-dimensional AxisArray{Float64,2,...} with axes:
56
55
:time, 0.0 s:2.5e-5 s:60.0 s
57
56
:chan, Symbol[:c1, :c2]
@@ -88,18 +87,18 @@ julia> A[Axis{:time}(4)]
88
87
1-dimensional AxisArray{Float64,1,...} with axes:
89
88
:chan, Symbol[:c1, :c2]
90
89
And data, a 2-element Array{Float64,1}:
91
- 1.37825
92
- 2.75649
90
+ 1.378246861221241
91
+ 2.756493722442482
93
92
94
93
julia> A[Axis{:chan}(:c2), Axis{:time}(1:5)]
95
94
1-dimensional AxisArray{Float64,1,...} with axes:
96
95
:time, 0.0 s:2.5e-5 s:0.0001 s
97
96
And data, a 5-element Array{Float64,1}:
98
- 7.14161
99
- 12.2891
100
- 6.85591
101
- 2.75649
102
- -2.38007
97
+ 7.141607285917661
98
+ 12.28907824673544
99
+ 6.855905417203194
100
+ 2.756493722442482
101
+ -2.380074475771338
103
102
104
103
```
105
104
@@ -113,16 +112,16 @@ julia> A[40µs .. 220µs, :c1]
113
112
1-dimensional AxisArray{Float64,1,...} with axes:
114
113
:time, 5.0e-5 s:2.5e-5 s:0.0002 s
115
114
And data, a 7-element Array{Float64,1}:
116
- 3.42795
117
- 1.37825
118
- -1.19004
119
- -1.99414
120
- 2.9429
121
- -0.226449
122
- 0.821446
115
+ 3.427952708601597
116
+ 1.378246861221241
117
+ -1.190037237885669
118
+ -1.994137635575063
119
+ 2.9429034802756004
120
+ -0.22644919919326786
121
+ 0.8214461136364685
123
122
124
123
julia> AxisArrays.axes(ans, 1)
125
- AxisArrays. Axis{:time,StepRangeLen{Quantity{Float64, Dimensions:{𝐓}, Units:{s }},Base.TwicePrecision{Quantity{Float64, Dimensions:{𝐓}, Units:{s }}},Base.TwicePrecision{Quantity{Float64, Dimensions:{𝐓}, Units:{s }}}}}(5.0e-5 s:2.5e-5 s:0.0002 s)
124
+ Axis{:time,StepRangeLen{Unitful. Quantity{Float64,𝐓,Unitful.FreeUnits{(s,),𝐓,nothing }},Base.TwicePrecision{Unitful. Quantity{Float64,𝐓,Unitful.FreeUnits{(s,),𝐓,nothing }}},Base.TwicePrecision{Unitful. Quantity{Float64,𝐓,Unitful.FreeUnits{(s,),𝐓,nothing }}}}}(5.0e-5 s:2.5e-5 s:0.0002 s)
126
125
127
126
```
128
127
@@ -138,7 +137,7 @@ julia> A[2.5e-5s..2.5e-5s, :c1]
138
137
1-dimensional AxisArray{Float64,1,...} with axes:
139
138
:time, 2.5e-5 s:2.5e-5 s:2.5e-5 s
140
139
And data, a 1-element Array{Float64,1}:
141
- 6.14454
140
+ 6.14453912336772
142
141
143
142
```
144
143
@@ -147,7 +146,7 @@ You can even index by multiple values by broadcasting `atvalue` over an array:
147
146
``` jldoctest
148
147
julia> A[atvalue.([2.5e-5s, 75.0µs])]
149
148
2-dimensional AxisArray{Float64,2,...} with axes:
150
- :time, Quantity{Float64, Dimensions:{𝐓}, Units:{s }}[2.5e-5 s, 7.5e-5 s]
149
+ :time, Unitful. Quantity{Float64,𝐓,Unitful.FreeUnits{(s,),𝐓,nothing }}[2.5e-5 s, 7.5e-5 s]
151
150
:chan, Symbol[:c1, :c2]
152
151
And data, a 2×2 Array{Float64,2}:
153
152
6.14454 12.2891
@@ -166,13 +165,13 @@ julia> A[atindex(-90µs .. 90µs, 5), :c2]
166
165
1-dimensional AxisArray{Float64,1,...} with axes:
167
166
:time_sub, -7.5e-5 s:2.5e-5 s:7.5e-5 s
168
167
And data, a 7-element Array{Float64,1}:
169
- 12.2891
170
- 6.85591
171
- 2.75649
172
- -2.38007
173
- -3.98828
174
- 5.88581
175
- -0.452898
168
+ 12.28907824673544
169
+ 6.855905417203194
170
+ 2.756493722442482
171
+ -2.380074475771338
172
+ -3.988275271150126
173
+ 5.885806960551201
174
+ -0.4528983983865357
176
175
177
176
```
178
177
@@ -187,28 +186,28 @@ julia> idxs = findall(diff(A[:,:c1] .< -15) .> 0);
187
186
julia> spks = A[atindex(-200µs .. 800µs, idxs), :c1]
188
187
2-dimensional AxisArray{Float64,2,...} with axes:
189
188
:time_sub, -0.0002 s:2.5e-5 s:0.0008 s
190
- :time_rep, Quantity{Float64, Dimensions:{𝐓}, Units:{s }}[0.162 s, 0.20045 s, 0.28495 s, 0.530325 s, 0.821725 s, 1.0453 s, 1.11967 s, 1.1523 s, 1.22085 s, 1.6253 s … 57.0094 s, 57.5818 s, 57.8716 s, 57.8806 s, 58.4353 s, 58.7041 s, 59.1015 s, 59.1783 s, 59.425 s, 59.5657 s]
191
- And data, a 41×247 Array{Float64,2}:
192
- -1.82238 2.3315 -1.56147 … 4.33751 4.77713 -1.81713
193
- 0.672063 7.25649 0.633375 1.54583 5.81194 -4.706
194
- -1.65182 2.57487 0.477408 3.09505 3.52478 4.13037
195
- 4.46035 2.11313 4.78372 1.23385 7.2525 3.57485
196
- 5.25651 -2.19785 3.05933 0.965021 6.78414 5.94854
197
- 7.8537 0.345008 0.960533 … 0.812989 0.336715 0.303909
198
- 0.466816 0.643649 -3.67087 3.92978 -3.1242 0.789722
199
- -6.0445 -13.2441 -4.60716 0.265144 -4.50987 -8.84897
200
- -9.21703 -13.2254 -14.4409 -8.6664 -13.3457 -11.6213
201
- -16.1809 -22.7037 -25.023 -15.9376 -28.0817 -16.996
202
- ⋮ ⋱ ⋮
203
- 1.72728 4.77428 -10.3922 -2.08555 1.19198 -1.94365
204
- -0.301629 0.0683982 -4.36574 1.92362 -5.12333 -3.4431
205
- 4.7182 1.18615 4.40717 -4.51757 -8.64314 0.0800021
206
- -2.43775 -0.151882 -1.40817 … -3.38555 -2.23418 0.728549
207
- 3.2482 -0.60967 0.471288 2.53395 0.468817 -3.65905
208
- -4.26967 2.24747 -3.13758 1.74967 4.5052 -0.145357
209
- -0.752487 1.69446 -1.20491 1.71429 1.81936 0.290158
210
- 4.64348 -3.94187 -1.59213 7.15428 -0.539748 4.82309
211
- 1.09652 -2.66999 0.521931 … -3.80528 1.70421 3.40583
189
+ :time_rep, Unitful. Quantity{Float64,𝐓,Unitful.FreeUnits{(s,),𝐓,nothing }}[0.161275 s, 0.489925 s, 0.957175 s, 1.1457 s, 1.40185 s, 1.84193 s, 2.07365 s, 2.32947 s, 2.7763 s, 2.79275 s … 57.6724 s, 57.7152 s, 57.749 s, 58.1109 s, 58.3783 s, 58.4178 s, 58.921 s, 59.1693 s, 59.6546 s, 59.7824 s]
190
+ And data, a 41×273 Array{Float64,2}:
191
+ -2.47171 -1.72242 4.54491 … 2.74969 3.1869 -2.00435
192
+ 6.78576 3.65903 5.14183 -0.98535 3.96603 -5.74065
193
+ 1.56584 1.88131 0.470257 2.66664 5.27674 0.0610194
194
+ 4.78242 3.20142 3.28502 5.20484 -3.66085 1.16247
195
+ 3.23148 -1.24878 -0.0252124 5.46585 4.88651 3.64283
196
+ 6.5714 0.572557 3.038 … -0.974689 2.61297 7.3496
197
+ 4.46643 -0.444754 -4.52857 0.304449 -1.54659 -2.53197
198
+ -9.57806 -1.29114 -2.23969 -9.10793 -6.35711 -5.06038
199
+ -12.2567 -5.06283 -8.53581 -11.9826 -14.868 -14.0543
200
+ -24.5458 -19.9823 -20.0798 -20.3065 -18.5437 -25.3609
201
+ ⋮ ⋱ ⋮
202
+ 2.14059 -0.365031 1.36771 -4.23763 5.9211 -3.84708
203
+ 3.58157 2.87076 0.835568 -2.27752 1.18686 2.3412
204
+ 6.7953 -1.32384 -3.0897 0.464151 -1.12327 -2.14844
205
+ 1.19649 2.44709 -5.16029 … -0.965397 2.37465 -2.36185
206
+ -1.57253 0.526027 0.831144 0.6505 3.61602 1.93462
207
+ 0.739684 -1.74925 -6.18072 -7.36229 -0.187708 1.97774
208
+ 0.645211 1.04006 -1.33676 4.30262 -4.46544 -0.278097
209
+ 1.32901 -1.74821 1.94781 0.780325 3.22951 -0.436806
210
+ 0.387814 0.128453 -0.00287742 … -1.51196 -2.10081 -2.26663
212
211
213
212
```
214
213
0 commit comments