Skip to content

Commit d6257db

Browse files
hkraemerheliosdrmDatseris
authored
Skeletonization (#128)
* method for converting and reverting RPs * first rudimentary and slow implementation of `skeletonize` * function barriers and single arrays instead of matrix storing the lines * debugged single array solution * debug package compilation * compute only triangles * more tests; debugged code w.r.t. main diagonal * horizontal-histo based on _linehistograms (is slower in fact) * debugged line counting based on _linehistograms * final implementation * fixed tests for ubuntu * again, try to fix the tests * can not find the mistake.. * still not... * make tests work! * Removed unnecessary deps * requested changes * version increase and changelog * clean `scan_lines!` * simplify conversion btw standard RP and CRM * comment horizontalhisto2 back * fix `revert_close_return_map` * `create_close_returns_map` without full matrix * linehistograms based on vertical lines * simplify verticalhisto * optimization of verticalhisto * optimization of "second version" of verticalhisto * verticalhisto-method replaced and little polishing * point to the right Data-Repo * fix tests * Apply suggestions from code review Co-authored-by: Helios De Rosario <helios.derosario@gmail.com> Co-authored-by: George Datseris <datseris.george@gmail.com>
1 parent 51d3b14 commit d6257db

File tree

11 files changed

+431
-15
lines changed

11 files changed

+431
-15
lines changed

.gitignore

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,19 @@
33
*.jl.*.cov
44
*.jl.mem
55
Manifest.toml
6+
7+
RP_gross.csv
8+
9+
RP_klein.csv
10+
11+
test/timeseries/1.csv
12+
13+
test/timeseries/2.csv
14+
15+
test/timeseries/3.csv
16+
17+
test/timeseries/test_time_series_lorenz_standard_N_10000_multivariate.csv
18+
19+
test/timeseries/test_time_series_roessler_N_10000_multivariate.csv
20+
21+
test/timeseries/4.csv

NEWS.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# RecurrenceAnalysis.jl News
22

3+
## v1.7.0
4+
- New method of skeletonizing a Recurrence Matrix `skeletonize`, in order to eliminate tangential motion.
5+
36
## v1.5.2
47
- New, faster formula for `rna[:averagepath]` allowing disconnected graphs.
58

Project.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "RecurrenceAnalysis"
22
uuid = "639c3291-70d9-5ea2-8c5b-839eba1ee399"
33
repo = "https://github.com/JuliaDynamics/RecurrenceAnalysis.jl.git"
4-
version = "1.6.4"
4+
version = "1.7.0"
55

66
[deps]
77
DelayEmbeddings = "5732040d-69e3-5649-938a-b6b4f237613f"
@@ -25,6 +25,7 @@ julia = "1.5"
2525

2626
[extras]
2727
DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
28+
Downloads = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
2829
DynamicalSystemsBase = "6e36e845-645a-534a-86f2-f5d4aa5a06b4"
2930
LightGraphs = "093fc24a-ae57-5d10-9952-331d41423f4d"
3031
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
@@ -33,4 +34,4 @@ Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
3334
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
3435

3536
[targets]
36-
test = ["Statistics", "Test", "SparseArrays", "Random", "DynamicalSystemsBase", "LightGraphs","DataStructures"]
37+
test = ["Statistics", "Test", "SparseArrays", "Random", "DynamicalSystemsBase", "LightGraphs", "DataStructures", "Downloads"]

src/RecurrenceAnalysis.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,16 @@ export embed,
4545
nmprt,
4646
rqa,
4747
sorteddistances,
48+
skeletonize,
4849
@windowed,
4950
rna,
5051
# deprecated:
51-
transitivity
52+
transitivity
5253

5354
include("matrices/distance_matrix.jl")
5455
include("matrices/matrices.jl")
5556
include("matrices/plot.jl")
57+
include("matrices/skeletonization.jl")
5658
include("rqa/histograms.jl")
5759
include("rqa/rqa.jl")
5860
include("rqa/radius.jl")

src/matrices/matrices.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ JointRecurrenceMatrix(args...; kwargs...) = JointRecurrenceMatrix{WithinRange}(a
218218

219219
"""
220220
JointRecurrenceMatrix(R1, R2; kwargs...)
221-
221+
222222
Create a joint recurrence matrix from given recurrence matrices `R1, R2`.
223223
"""
224224
function JointRecurrenceMatrix(
@@ -336,7 +336,7 @@ Note that `parallel` may be either `Val(true)` or `Val(false)`.
336336
"""
337337
function recurrence_matrix(xx::AbstractDataset, yy::AbstractDataset, metric::Metric, ε, ::Val{false})
338338
x = xx.data
339-
y = yy.data
339+
y = yy.data
340340
@assert ε isa Real || length(ε) == length(y)
341341
rowvals = Vector{Int}()
342342
colvals = Vector{Int}()

0 commit comments

Comments
 (0)