tracksperanto 3.3.11 → 3.3.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +4 -0
- data/lib/import/match_mover.rb +17 -2
- data/lib/tracksperanto.rb +1 -1
- data/test/import/test_match_mover_import.rb +22 -0
- data/tracksperanto.gemspec +2 -2
- metadata +3 -3
data/History.txt
CHANGED
data/lib/import/match_mover.rb
CHANGED
@@ -26,9 +26,24 @@ class Tracksperanto::Import::MatchMover < Tracksperanto::Import::Base
|
|
26
26
|
last_line = lines[-1]
|
27
27
|
int_groups = last_line.scan(/(\d+)/).flatten.map{|e| e.to_i }
|
28
28
|
@width, @height = int_groups.shift, int_groups.shift
|
29
|
+
unless @width && @height
|
30
|
+
raise "Cannot detect the dimensions of the comp from the file"
|
31
|
+
end
|
32
|
+
|
29
33
|
# Next the starting frame of the sequence. The preamble ends with the p(0 293 1)
|
30
|
-
# which is p( first_frame length framestep )
|
31
|
-
|
34
|
+
# which is p( first_frame length framestep ). Some files export the path to the sequence
|
35
|
+
# as multiline, so we will need to succesively scan until we find our line that contains the dimensions
|
36
|
+
frame_steps_re = /b\( (\d+) (\d+) (\d+) \)/ # b( 0 293 1 )
|
37
|
+
until @first_frame_of_sequence
|
38
|
+
digit_groups = last_line.scan(frame_steps_re).flatten
|
39
|
+
if digit_groups.any?
|
40
|
+
@first_frame_of_sequence, length, frame_step = digit_groups.map{|e| e.to_i }
|
41
|
+
return
|
42
|
+
end
|
43
|
+
last_line = io.gets
|
44
|
+
end
|
45
|
+
|
46
|
+
raise "Cannot detect the start frame of the sequence"
|
32
47
|
end
|
33
48
|
|
34
49
|
def extract_trackers(io)
|
data/lib/tracksperanto.rb
CHANGED
@@ -7,6 +7,7 @@ class MatchMoverImportTest < Test::Unit::TestCase
|
|
7
7
|
P = File.dirname(__FILE__) + '/samples/match_mover/kipPointsMatchmover.rz2'
|
8
8
|
P2 = File.dirname(__FILE__) + '/samples/match_mover/NonSequentialMatchmoverPoints.rz2'
|
9
9
|
P3 = File.dirname(__FILE__) + '/samples/match_mover/cha_171_1020_atb_v001.rz2'
|
10
|
+
P4 = File.dirname(__FILE__) + '/samples/match_mover/2dtracks.rz2'
|
10
11
|
|
11
12
|
def test_introspects_properly
|
12
13
|
i = Tracksperanto::Import::MatchMover
|
@@ -59,4 +60,25 @@ class MatchMoverImportTest < Test::Unit::TestCase
|
|
59
60
|
assert_in_delta 0.027457, last_kf.residual, DELTA
|
60
61
|
end
|
61
62
|
|
63
|
+
def test_parsing_from_matchmover_with_multiline_sequence_path
|
64
|
+
fixture = File.open(P4)
|
65
|
+
|
66
|
+
parser = Tracksperanto::Import::MatchMover.new(:io => fixture)
|
67
|
+
trackers = parser.to_a
|
68
|
+
|
69
|
+
assert_equal 2156, parser.width
|
70
|
+
assert_equal 1804, parser.height
|
71
|
+
|
72
|
+
assert_equal 18, trackers.length
|
73
|
+
|
74
|
+
first_t = trackers[0]
|
75
|
+
assert_equal "Track_01", first_t.name
|
76
|
+
assert_equal 137, first_t.length
|
77
|
+
first_kf = first_t[0]
|
78
|
+
|
79
|
+
assert_equal 119, first_kf.frame
|
80
|
+
assert_in_delta 10.715, first_kf.abs_x, DELTA
|
81
|
+
assert_in_delta 461.36, first_kf.abs_y, DELTA
|
82
|
+
assert_in_delta 0.2, first_kf.residual, DELTA
|
83
|
+
end
|
62
84
|
end
|
data/tracksperanto.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "tracksperanto"
|
8
|
-
s.version = "3.3.
|
8
|
+
s.version = "3.3.12"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Julik Tarkhanov"]
|
12
|
-
s.date = "2013-
|
12
|
+
s.date = "2013-11-07"
|
13
13
|
s.description = "Converts 2D track exports between different apps like Flame, MatchMover, PFTrack..."
|
14
14
|
s.email = "me@julik.nl"
|
15
15
|
s.executables = ["tracksperanto"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tracksperanto
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.3.
|
4
|
+
version: 3.3.12
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-11-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -456,7 +456,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
456
456
|
version: '0'
|
457
457
|
segments:
|
458
458
|
- 0
|
459
|
-
hash: -
|
459
|
+
hash: -3669593721904683814
|
460
460
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
461
461
|
none: false
|
462
462
|
requirements:
|