├── .gitignore
├── CMakeLists.txt
├── Dockerfile
├── LICENSE
├── README.md
├── data
├── ADL-Rundle-6
│ └── det.txt
├── ADL-Rundle-8
│ └── det.txt
├── ETH-Bahnhof
│ └── det.txt
├── ETH-Pedcross2
│ └── det.txt
├── ETH-Sunnyday
│ └── det.txt
├── KITTI-13
│ └── det.txt
├── KITTI-17
│ └── det.txt
├── PETS09-S2L1
│ └── det.txt
├── TUD-Campus
│ └── det.txt
├── TUD-Stadtmitte
│ └── det.txt
└── Venice-2
│ └── det.txt
├── docker_run.sh
├── docs
├── 1.png
└── 2.png
├── include
├── kalman_filter.h
├── matrix.cpp
├── matrix.h
├── munkres.h
├── track.h
├── tracker.h
└── utils.h
└── src
├── kalman_filter.cpp
├── main.cpp
├── munkres.cpp
├── track.cpp
└── tracker.cpp
/.gitignore:
--------------------------------------------------------------------------------
1 | bin/
2 | build/
3 | .idea/
4 | cmake-*/
5 | mot_benchmark/
6 | output/
7 |
--------------------------------------------------------------------------------
/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.5.1)
2 | project(sort-cpp)
3 |
4 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall")
5 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
6 |
7 | # Try to find OpenCV
8 | find_package(OpenCV REQUIRED)
9 | if (OpenCV_FOUND)
10 | # If the package has been found, several variables will
11 | # be set, you can find the full list with descriptions
12 | # in the OpenCVConfig.cmake file.
13 | # Print some message showing some of them
14 | message(STATUS "OpenCV library status:")
15 | message(STATUS " version: ${OpenCV_VERSION}")
16 | message(STATUS " include path: ${OpenCV_INCLUDE_DIRS}")
17 | else ()
18 | message(FATAL_ERROR "Could not locate OpenCV")
19 | endif()
20 |
21 | # Try to find Boost
22 | find_package(Boost COMPONENTS program_options filesystem REQUIRED)
23 | if(Boost_FOUND)
24 | include_directories(${Boost_INCLUDE_DIRS})
25 | else ()
26 | message(FATAL_ERROR "Could not locate Boost")
27 | endif()
28 |
29 | include_directories(${PROJECT_SOURCE_DIR}/include)
30 |
31 | file(GLOB SOURCE_FILES src/*.cpp)
32 |
33 | add_executable(${CMAKE_PROJECT_NAME} ${SOURCE_FILES})
34 |
35 | target_link_libraries (
36 | ${CMAKE_PROJECT_NAME}
37 | ${OpenCV_LIBS}
38 | ${Boost_LIBRARIES}
39 | )
40 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM valian/docker-python-opencv-ffmpeg:py3
2 |
3 | MAINTAINER Yasen Hu(yasenhu789@gmail.com)
4 |
5 | RUN apt-get update -y && \
6 | apt-get install -y \
7 | libvtk-java \
8 | python-vtk \
9 | tcl-vtk \
10 | libvtk5-dev \
11 | libvtk5-qt4-dev \
12 | libusb-1.0-0-dev \
13 | libeigen3-dev \
14 | libboost-all-dev
15 |
16 | RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
17 |
18 | #Add new sudo user
19 | ARG USERNAME=yasen
20 | ARG UID=1000
21 | ARG GID=1000
22 |
23 | RUN useradd -m $USERNAME
24 | RUN usermod -aG sudo $USERNAME
25 | RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
26 | # Replace 1000 with your user/group id
27 | RUN usermod --uid $UID $USERNAME && groupmod --gid $GID $USERNAME
28 |
29 | # Change user
30 | USER $USERNAME
31 | WORKDIR /home/$USERNAME
32 |
33 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | GNU GENERAL PUBLIC LICENSE
2 | Version 3, 29 June 2007
3 |
4 | Copyright (C) 2007 Free Software Foundation, Inc.
5 | Everyone is permitted to copy and distribute verbatim copies
6 | of this license document, but changing it is not allowed.
7 |
8 | Preamble
9 |
10 | The GNU General Public License is a free, copyleft license for
11 | software and other kinds of works.
12 |
13 | The licenses for most software and other practical works are designed
14 | to take away your freedom to share and change the works. By contrast,
15 | the GNU General Public License is intended to guarantee your freedom to
16 | share and change all versions of a program--to make sure it remains free
17 | software for all its users. We, the Free Software Foundation, use the
18 | GNU General Public License for most of our software; it applies also to
19 | any other work released this way by its authors. You can apply it to
20 | your programs, too.
21 |
22 | When we speak of free software, we are referring to freedom, not
23 | price. Our General Public Licenses are designed to make sure that you
24 | have the freedom to distribute copies of free software (and charge for
25 | them if you wish), that you receive source code or can get it if you
26 | want it, that you can change the software or use pieces of it in new
27 | free programs, and that you know you can do these things.
28 |
29 | To protect your rights, we need to prevent others from denying you
30 | these rights or asking you to surrender the rights. Therefore, you have
31 | certain responsibilities if you distribute copies of the software, or if
32 | you modify it: responsibilities to respect the freedom of others.
33 |
34 | For example, if you distribute copies of such a program, whether
35 | gratis or for a fee, you must pass on to the recipients the same
36 | freedoms that you received. You must make sure that they, too, receive
37 | or can get the source code. And you must show them these terms so they
38 | know their rights.
39 |
40 | Developers that use the GNU GPL protect your rights with two steps:
41 | (1) assert copyright on the software, and (2) offer you this License
42 | giving you legal permission to copy, distribute and/or modify it.
43 |
44 | For the developers' and authors' protection, the GPL clearly explains
45 | that there is no warranty for this free software. For both users' and
46 | authors' sake, the GPL requires that modified versions be marked as
47 | changed, so that their problems will not be attributed erroneously to
48 | authors of previous versions.
49 |
50 | Some devices are designed to deny users access to install or run
51 | modified versions of the software inside them, although the manufacturer
52 | can do so. This is fundamentally incompatible with the aim of
53 | protecting users' freedom to change the software. The systematic
54 | pattern of such abuse occurs in the area of products for individuals to
55 | use, which is precisely where it is most unacceptable. Therefore, we
56 | have designed this version of the GPL to prohibit the practice for those
57 | products. If such problems arise substantially in other domains, we
58 | stand ready to extend this provision to those domains in future versions
59 | of the GPL, as needed to protect the freedom of users.
60 |
61 | Finally, every program is threatened constantly by software patents.
62 | States should not allow patents to restrict development and use of
63 | software on general-purpose computers, but in those that do, we wish to
64 | avoid the special danger that patents applied to a free program could
65 | make it effectively proprietary. To prevent this, the GPL assures that
66 | patents cannot be used to render the program non-free.
67 |
68 | The precise terms and conditions for copying, distribution and
69 | modification follow.
70 |
71 | TERMS AND CONDITIONS
72 |
73 | 0. Definitions.
74 |
75 | "This License" refers to version 3 of the GNU General Public License.
76 |
77 | "Copyright" also means copyright-like laws that apply to other kinds of
78 | works, such as semiconductor masks.
79 |
80 | "The Program" refers to any copyrightable work licensed under this
81 | License. Each licensee is addressed as "you". "Licensees" and
82 | "recipients" may be individuals or organizations.
83 |
84 | To "modify" a work means to copy from or adapt all or part of the work
85 | in a fashion requiring copyright permission, other than the making of an
86 | exact copy. The resulting work is called a "modified version" of the
87 | earlier work or a work "based on" the earlier work.
88 |
89 | A "covered work" means either the unmodified Program or a work based
90 | on the Program.
91 |
92 | To "propagate" a work means to do anything with it that, without
93 | permission, would make you directly or secondarily liable for
94 | infringement under applicable copyright law, except executing it on a
95 | computer or modifying a private copy. Propagation includes copying,
96 | distribution (with or without modification), making available to the
97 | public, and in some countries other activities as well.
98 |
99 | To "convey" a work means any kind of propagation that enables other
100 | parties to make or receive copies. Mere interaction with a user through
101 | a computer network, with no transfer of a copy, is not conveying.
102 |
103 | An interactive user interface displays "Appropriate Legal Notices"
104 | to the extent that it includes a convenient and prominently visible
105 | feature that (1) displays an appropriate copyright notice, and (2)
106 | tells the user that there is no warranty for the work (except to the
107 | extent that warranties are provided), that licensees may convey the
108 | work under this License, and how to view a copy of this License. If
109 | the interface presents a list of user commands or options, such as a
110 | menu, a prominent item in the list meets this criterion.
111 |
112 | 1. Source Code.
113 |
114 | The "source code" for a work means the preferred form of the work
115 | for making modifications to it. "Object code" means any non-source
116 | form of a work.
117 |
118 | A "Standard Interface" means an interface that either is an official
119 | standard defined by a recognized standards body, or, in the case of
120 | interfaces specified for a particular programming language, one that
121 | is widely used among developers working in that language.
122 |
123 | The "System Libraries" of an executable work include anything, other
124 | than the work as a whole, that (a) is included in the normal form of
125 | packaging a Major Component, but which is not part of that Major
126 | Component, and (b) serves only to enable use of the work with that
127 | Major Component, or to implement a Standard Interface for which an
128 | implementation is available to the public in source code form. A
129 | "Major Component", in this context, means a major essential component
130 | (kernel, window system, and so on) of the specific operating system
131 | (if any) on which the executable work runs, or a compiler used to
132 | produce the work, or an object code interpreter used to run it.
133 |
134 | The "Corresponding Source" for a work in object code form means all
135 | the source code needed to generate, install, and (for an executable
136 | work) run the object code and to modify the work, including scripts to
137 | control those activities. However, it does not include the work's
138 | System Libraries, or general-purpose tools or generally available free
139 | programs which are used unmodified in performing those activities but
140 | which are not part of the work. For example, Corresponding Source
141 | includes interface definition files associated with source files for
142 | the work, and the source code for shared libraries and dynamically
143 | linked subprograms that the work is specifically designed to require,
144 | such as by intimate data communication or control flow between those
145 | subprograms and other parts of the work.
146 |
147 | The Corresponding Source need not include anything that users
148 | can regenerate automatically from other parts of the Corresponding
149 | Source.
150 |
151 | The Corresponding Source for a work in source code form is that
152 | same work.
153 |
154 | 2. Basic Permissions.
155 |
156 | All rights granted under this License are granted for the term of
157 | copyright on the Program, and are irrevocable provided the stated
158 | conditions are met. This License explicitly affirms your unlimited
159 | permission to run the unmodified Program. The output from running a
160 | covered work is covered by this License only if the output, given its
161 | content, constitutes a covered work. This License acknowledges your
162 | rights of fair use or other equivalent, as provided by copyright law.
163 |
164 | You may make, run and propagate covered works that you do not
165 | convey, without conditions so long as your license otherwise remains
166 | in force. You may convey covered works to others for the sole purpose
167 | of having them make modifications exclusively for you, or provide you
168 | with facilities for running those works, provided that you comply with
169 | the terms of this License in conveying all material for which you do
170 | not control copyright. Those thus making or running the covered works
171 | for you must do so exclusively on your behalf, under your direction
172 | and control, on terms that prohibit them from making any copies of
173 | your copyrighted material outside their relationship with you.
174 |
175 | Conveying under any other circumstances is permitted solely under
176 | the conditions stated below. Sublicensing is not allowed; section 10
177 | makes it unnecessary.
178 |
179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180 |
181 | No covered work shall be deemed part of an effective technological
182 | measure under any applicable law fulfilling obligations under article
183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or
184 | similar laws prohibiting or restricting circumvention of such
185 | measures.
186 |
187 | When you convey a covered work, you waive any legal power to forbid
188 | circumvention of technological measures to the extent such circumvention
189 | is effected by exercising rights under this License with respect to
190 | the covered work, and you disclaim any intention to limit operation or
191 | modification of the work as a means of enforcing, against the work's
192 | users, your or third parties' legal rights to forbid circumvention of
193 | technological measures.
194 |
195 | 4. Conveying Verbatim Copies.
196 |
197 | You may convey verbatim copies of the Program's source code as you
198 | receive it, in any medium, provided that you conspicuously and
199 | appropriately publish on each copy an appropriate copyright notice;
200 | keep intact all notices stating that this License and any
201 | non-permissive terms added in accord with section 7 apply to the code;
202 | keep intact all notices of the absence of any warranty; and give all
203 | recipients a copy of this License along with the Program.
204 |
205 | You may charge any price or no price for each copy that you convey,
206 | and you may offer support or warranty protection for a fee.
207 |
208 | 5. Conveying Modified Source Versions.
209 |
210 | You may convey a work based on the Program, or the modifications to
211 | produce it from the Program, in the form of source code under the
212 | terms of section 4, provided that you also meet all of these conditions:
213 |
214 | a) The work must carry prominent notices stating that you modified
215 | it, and giving a relevant date.
216 |
217 | b) The work must carry prominent notices stating that it is
218 | released under this License and any conditions added under section
219 | 7. This requirement modifies the requirement in section 4 to
220 | "keep intact all notices".
221 |
222 | c) You must license the entire work, as a whole, under this
223 | License to anyone who comes into possession of a copy. This
224 | License will therefore apply, along with any applicable section 7
225 | additional terms, to the whole of the work, and all its parts,
226 | regardless of how they are packaged. This License gives no
227 | permission to license the work in any other way, but it does not
228 | invalidate such permission if you have separately received it.
229 |
230 | d) If the work has interactive user interfaces, each must display
231 | Appropriate Legal Notices; however, if the Program has interactive
232 | interfaces that do not display Appropriate Legal Notices, your
233 | work need not make them do so.
234 |
235 | A compilation of a covered work with other separate and independent
236 | works, which are not by their nature extensions of the covered work,
237 | and which are not combined with it such as to form a larger program,
238 | in or on a volume of a storage or distribution medium, is called an
239 | "aggregate" if the compilation and its resulting copyright are not
240 | used to limit the access or legal rights of the compilation's users
241 | beyond what the individual works permit. Inclusion of a covered work
242 | in an aggregate does not cause this License to apply to the other
243 | parts of the aggregate.
244 |
245 | 6. Conveying Non-Source Forms.
246 |
247 | You may convey a covered work in object code form under the terms
248 | of sections 4 and 5, provided that you also convey the
249 | machine-readable Corresponding Source under the terms of this License,
250 | in one of these ways:
251 |
252 | a) Convey the object code in, or embodied in, a physical product
253 | (including a physical distribution medium), accompanied by the
254 | Corresponding Source fixed on a durable physical medium
255 | customarily used for software interchange.
256 |
257 | b) Convey the object code in, or embodied in, a physical product
258 | (including a physical distribution medium), accompanied by a
259 | written offer, valid for at least three years and valid for as
260 | long as you offer spare parts or customer support for that product
261 | model, to give anyone who possesses the object code either (1) a
262 | copy of the Corresponding Source for all the software in the
263 | product that is covered by this License, on a durable physical
264 | medium customarily used for software interchange, for a price no
265 | more than your reasonable cost of physically performing this
266 | conveying of source, or (2) access to copy the
267 | Corresponding Source from a network server at no charge.
268 |
269 | c) Convey individual copies of the object code with a copy of the
270 | written offer to provide the Corresponding Source. This
271 | alternative is allowed only occasionally and noncommercially, and
272 | only if you received the object code with such an offer, in accord
273 | with subsection 6b.
274 |
275 | d) Convey the object code by offering access from a designated
276 | place (gratis or for a charge), and offer equivalent access to the
277 | Corresponding Source in the same way through the same place at no
278 | further charge. You need not require recipients to copy the
279 | Corresponding Source along with the object code. If the place to
280 | copy the object code is a network server, the Corresponding Source
281 | may be on a different server (operated by you or a third party)
282 | that supports equivalent copying facilities, provided you maintain
283 | clear directions next to the object code saying where to find the
284 | Corresponding Source. Regardless of what server hosts the
285 | Corresponding Source, you remain obligated to ensure that it is
286 | available for as long as needed to satisfy these requirements.
287 |
288 | e) Convey the object code using peer-to-peer transmission, provided
289 | you inform other peers where the object code and Corresponding
290 | Source of the work are being offered to the general public at no
291 | charge under subsection 6d.
292 |
293 | A separable portion of the object code, whose source code is excluded
294 | from the Corresponding Source as a System Library, need not be
295 | included in conveying the object code work.
296 |
297 | A "User Product" is either (1) a "consumer product", which means any
298 | tangible personal property which is normally used for personal, family,
299 | or household purposes, or (2) anything designed or sold for incorporation
300 | into a dwelling. In determining whether a product is a consumer product,
301 | doubtful cases shall be resolved in favor of coverage. For a particular
302 | product received by a particular user, "normally used" refers to a
303 | typical or common use of that class of product, regardless of the status
304 | of the particular user or of the way in which the particular user
305 | actually uses, or expects or is expected to use, the product. A product
306 | is a consumer product regardless of whether the product has substantial
307 | commercial, industrial or non-consumer uses, unless such uses represent
308 | the only significant mode of use of the product.
309 |
310 | "Installation Information" for a User Product means any methods,
311 | procedures, authorization keys, or other information required to install
312 | and execute modified versions of a covered work in that User Product from
313 | a modified version of its Corresponding Source. The information must
314 | suffice to ensure that the continued functioning of the modified object
315 | code is in no case prevented or interfered with solely because
316 | modification has been made.
317 |
318 | If you convey an object code work under this section in, or with, or
319 | specifically for use in, a User Product, and the conveying occurs as
320 | part of a transaction in which the right of possession and use of the
321 | User Product is transferred to the recipient in perpetuity or for a
322 | fixed term (regardless of how the transaction is characterized), the
323 | Corresponding Source conveyed under this section must be accompanied
324 | by the Installation Information. But this requirement does not apply
325 | if neither you nor any third party retains the ability to install
326 | modified object code on the User Product (for example, the work has
327 | been installed in ROM).
328 |
329 | The requirement to provide Installation Information does not include a
330 | requirement to continue to provide support service, warranty, or updates
331 | for a work that has been modified or installed by the recipient, or for
332 | the User Product in which it has been modified or installed. Access to a
333 | network may be denied when the modification itself materially and
334 | adversely affects the operation of the network or violates the rules and
335 | protocols for communication across the network.
336 |
337 | Corresponding Source conveyed, and Installation Information provided,
338 | in accord with this section must be in a format that is publicly
339 | documented (and with an implementation available to the public in
340 | source code form), and must require no special password or key for
341 | unpacking, reading or copying.
342 |
343 | 7. Additional Terms.
344 |
345 | "Additional permissions" are terms that supplement the terms of this
346 | License by making exceptions from one or more of its conditions.
347 | Additional permissions that are applicable to the entire Program shall
348 | be treated as though they were included in this License, to the extent
349 | that they are valid under applicable law. If additional permissions
350 | apply only to part of the Program, that part may be used separately
351 | under those permissions, but the entire Program remains governed by
352 | this License without regard to the additional permissions.
353 |
354 | When you convey a copy of a covered work, you may at your option
355 | remove any additional permissions from that copy, or from any part of
356 | it. (Additional permissions may be written to require their own
357 | removal in certain cases when you modify the work.) You may place
358 | additional permissions on material, added by you to a covered work,
359 | for which you have or can give appropriate copyright permission.
360 |
361 | Notwithstanding any other provision of this License, for material you
362 | add to a covered work, you may (if authorized by the copyright holders of
363 | that material) supplement the terms of this License with terms:
364 |
365 | a) Disclaiming warranty or limiting liability differently from the
366 | terms of sections 15 and 16 of this License; or
367 |
368 | b) Requiring preservation of specified reasonable legal notices or
369 | author attributions in that material or in the Appropriate Legal
370 | Notices displayed by works containing it; or
371 |
372 | c) Prohibiting misrepresentation of the origin of that material, or
373 | requiring that modified versions of such material be marked in
374 | reasonable ways as different from the original version; or
375 |
376 | d) Limiting the use for publicity purposes of names of licensors or
377 | authors of the material; or
378 |
379 | e) Declining to grant rights under trademark law for use of some
380 | trade names, trademarks, or service marks; or
381 |
382 | f) Requiring indemnification of licensors and authors of that
383 | material by anyone who conveys the material (or modified versions of
384 | it) with contractual assumptions of liability to the recipient, for
385 | any liability that these contractual assumptions directly impose on
386 | those licensors and authors.
387 |
388 | All other non-permissive additional terms are considered "further
389 | restrictions" within the meaning of section 10. If the Program as you
390 | received it, or any part of it, contains a notice stating that it is
391 | governed by this License along with a term that is a further
392 | restriction, you may remove that term. If a license document contains
393 | a further restriction but permits relicensing or conveying under this
394 | License, you may add to a covered work material governed by the terms
395 | of that license document, provided that the further restriction does
396 | not survive such relicensing or conveying.
397 |
398 | If you add terms to a covered work in accord with this section, you
399 | must place, in the relevant source files, a statement of the
400 | additional terms that apply to those files, or a notice indicating
401 | where to find the applicable terms.
402 |
403 | Additional terms, permissive or non-permissive, may be stated in the
404 | form of a separately written license, or stated as exceptions;
405 | the above requirements apply either way.
406 |
407 | 8. Termination.
408 |
409 | You may not propagate or modify a covered work except as expressly
410 | provided under this License. Any attempt otherwise to propagate or
411 | modify it is void, and will automatically terminate your rights under
412 | this License (including any patent licenses granted under the third
413 | paragraph of section 11).
414 |
415 | However, if you cease all violation of this License, then your
416 | license from a particular copyright holder is reinstated (a)
417 | provisionally, unless and until the copyright holder explicitly and
418 | finally terminates your license, and (b) permanently, if the copyright
419 | holder fails to notify you of the violation by some reasonable means
420 | prior to 60 days after the cessation.
421 |
422 | Moreover, your license from a particular copyright holder is
423 | reinstated permanently if the copyright holder notifies you of the
424 | violation by some reasonable means, this is the first time you have
425 | received notice of violation of this License (for any work) from that
426 | copyright holder, and you cure the violation prior to 30 days after
427 | your receipt of the notice.
428 |
429 | Termination of your rights under this section does not terminate the
430 | licenses of parties who have received copies or rights from you under
431 | this License. If your rights have been terminated and not permanently
432 | reinstated, you do not qualify to receive new licenses for the same
433 | material under section 10.
434 |
435 | 9. Acceptance Not Required for Having Copies.
436 |
437 | You are not required to accept this License in order to receive or
438 | run a copy of the Program. Ancillary propagation of a covered work
439 | occurring solely as a consequence of using peer-to-peer transmission
440 | to receive a copy likewise does not require acceptance. However,
441 | nothing other than this License grants you permission to propagate or
442 | modify any covered work. These actions infringe copyright if you do
443 | not accept this License. Therefore, by modifying or propagating a
444 | covered work, you indicate your acceptance of this License to do so.
445 |
446 | 10. Automatic Licensing of Downstream Recipients.
447 |
448 | Each time you convey a covered work, the recipient automatically
449 | receives a license from the original licensors, to run, modify and
450 | propagate that work, subject to this License. You are not responsible
451 | for enforcing compliance by third parties with this License.
452 |
453 | An "entity transaction" is a transaction transferring control of an
454 | organization, or substantially all assets of one, or subdividing an
455 | organization, or merging organizations. If propagation of a covered
456 | work results from an entity transaction, each party to that
457 | transaction who receives a copy of the work also receives whatever
458 | licenses to the work the party's predecessor in interest had or could
459 | give under the previous paragraph, plus a right to possession of the
460 | Corresponding Source of the work from the predecessor in interest, if
461 | the predecessor has it or can get it with reasonable efforts.
462 |
463 | You may not impose any further restrictions on the exercise of the
464 | rights granted or affirmed under this License. For example, you may
465 | not impose a license fee, royalty, or other charge for exercise of
466 | rights granted under this License, and you may not initiate litigation
467 | (including a cross-claim or counterclaim in a lawsuit) alleging that
468 | any patent claim is infringed by making, using, selling, offering for
469 | sale, or importing the Program or any portion of it.
470 |
471 | 11. Patents.
472 |
473 | A "contributor" is a copyright holder who authorizes use under this
474 | License of the Program or a work on which the Program is based. The
475 | work thus licensed is called the contributor's "contributor version".
476 |
477 | A contributor's "essential patent claims" are all patent claims
478 | owned or controlled by the contributor, whether already acquired or
479 | hereafter acquired, that would be infringed by some manner, permitted
480 | by this License, of making, using, or selling its contributor version,
481 | but do not include claims that would be infringed only as a
482 | consequence of further modification of the contributor version. For
483 | purposes of this definition, "control" includes the right to grant
484 | patent sublicenses in a manner consistent with the requirements of
485 | this License.
486 |
487 | Each contributor grants you a non-exclusive, worldwide, royalty-free
488 | patent license under the contributor's essential patent claims, to
489 | make, use, sell, offer for sale, import and otherwise run, modify and
490 | propagate the contents of its contributor version.
491 |
492 | In the following three paragraphs, a "patent license" is any express
493 | agreement or commitment, however denominated, not to enforce a patent
494 | (such as an express permission to practice a patent or covenant not to
495 | sue for patent infringement). To "grant" such a patent license to a
496 | party means to make such an agreement or commitment not to enforce a
497 | patent against the party.
498 |
499 | If you convey a covered work, knowingly relying on a patent license,
500 | and the Corresponding Source of the work is not available for anyone
501 | to copy, free of charge and under the terms of this License, through a
502 | publicly available network server or other readily accessible means,
503 | then you must either (1) cause the Corresponding Source to be so
504 | available, or (2) arrange to deprive yourself of the benefit of the
505 | patent license for this particular work, or (3) arrange, in a manner
506 | consistent with the requirements of this License, to extend the patent
507 | license to downstream recipients. "Knowingly relying" means you have
508 | actual knowledge that, but for the patent license, your conveying the
509 | covered work in a country, or your recipient's use of the covered work
510 | in a country, would infringe one or more identifiable patents in that
511 | country that you have reason to believe are valid.
512 |
513 | If, pursuant to or in connection with a single transaction or
514 | arrangement, you convey, or propagate by procuring conveyance of, a
515 | covered work, and grant a patent license to some of the parties
516 | receiving the covered work authorizing them to use, propagate, modify
517 | or convey a specific copy of the covered work, then the patent license
518 | you grant is automatically extended to all recipients of the covered
519 | work and works based on it.
520 |
521 | A patent license is "discriminatory" if it does not include within
522 | the scope of its coverage, prohibits the exercise of, or is
523 | conditioned on the non-exercise of one or more of the rights that are
524 | specifically granted under this License. You may not convey a covered
525 | work if you are a party to an arrangement with a third party that is
526 | in the business of distributing software, under which you make payment
527 | to the third party based on the extent of your activity of conveying
528 | the work, and under which the third party grants, to any of the
529 | parties who would receive the covered work from you, a discriminatory
530 | patent license (a) in connection with copies of the covered work
531 | conveyed by you (or copies made from those copies), or (b) primarily
532 | for and in connection with specific products or compilations that
533 | contain the covered work, unless you entered into that arrangement,
534 | or that patent license was granted, prior to 28 March 2007.
535 |
536 | Nothing in this License shall be construed as excluding or limiting
537 | any implied license or other defenses to infringement that may
538 | otherwise be available to you under applicable patent law.
539 |
540 | 12. No Surrender of Others' Freedom.
541 |
542 | If conditions are imposed on you (whether by court order, agreement or
543 | otherwise) that contradict the conditions of this License, they do not
544 | excuse you from the conditions of this License. If you cannot convey a
545 | covered work so as to satisfy simultaneously your obligations under this
546 | License and any other pertinent obligations, then as a consequence you may
547 | not convey it at all. For example, if you agree to terms that obligate you
548 | to collect a royalty for further conveying from those to whom you convey
549 | the Program, the only way you could satisfy both those terms and this
550 | License would be to refrain entirely from conveying the Program.
551 |
552 | 13. Use with the GNU Affero General Public License.
553 |
554 | Notwithstanding any other provision of this License, you have
555 | permission to link or combine any covered work with a work licensed
556 | under version 3 of the GNU Affero General Public License into a single
557 | combined work, and to convey the resulting work. The terms of this
558 | License will continue to apply to the part which is the covered work,
559 | but the special requirements of the GNU Affero General Public License,
560 | section 13, concerning interaction through a network will apply to the
561 | combination as such.
562 |
563 | 14. Revised Versions of this License.
564 |
565 | The Free Software Foundation may publish revised and/or new versions of
566 | the GNU General Public License from time to time. Such new versions will
567 | be similar in spirit to the present version, but may differ in detail to
568 | address new problems or concerns.
569 |
570 | Each version is given a distinguishing version number. If the
571 | Program specifies that a certain numbered version of the GNU General
572 | Public License "or any later version" applies to it, you have the
573 | option of following the terms and conditions either of that numbered
574 | version or of any later version published by the Free Software
575 | Foundation. If the Program does not specify a version number of the
576 | GNU General Public License, you may choose any version ever published
577 | by the Free Software Foundation.
578 |
579 | If the Program specifies that a proxy can decide which future
580 | versions of the GNU General Public License can be used, that proxy's
581 | public statement of acceptance of a version permanently authorizes you
582 | to choose that version for the Program.
583 |
584 | Later license versions may give you additional or different
585 | permissions. However, no additional obligations are imposed on any
586 | author or copyright holder as a result of your choosing to follow a
587 | later version.
588 |
589 | 15. Disclaimer of Warranty.
590 |
591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599 |
600 | 16. Limitation of Liability.
601 |
602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610 | SUCH DAMAGES.
611 |
612 | 17. Interpretation of Sections 15 and 16.
613 |
614 | If the disclaimer of warranty and limitation of liability provided
615 | above cannot be given local legal effect according to their terms,
616 | reviewing courts shall apply local law that most closely approximates
617 | an absolute waiver of all civil liability in connection with the
618 | Program, unless a warranty or assumption of liability accompanies a
619 | copy of the Program in return for a fee.
620 |
621 | END OF TERMS AND CONDITIONS
622 |
623 | How to Apply These Terms to Your New Programs
624 |
625 | If you develop a new program, and you want it to be of the greatest
626 | possible use to the public, the best way to achieve this is to make it
627 | free software which everyone can redistribute and change under these terms.
628 |
629 | To do so, attach the following notices to the program. It is safest
630 | to attach them to the start of each source file to most effectively
631 | state the exclusion of warranty; and each file should have at least
632 | the "copyright" line and a pointer to where the full notice is found.
633 |
634 |
635 | Copyright (C)
636 |
637 | This program is free software: you can redistribute it and/or modify
638 | it under the terms of the GNU General Public License as published by
639 | the Free Software Foundation, either version 3 of the License, or
640 | (at your option) any later version.
641 |
642 | This program is distributed in the hope that it will be useful,
643 | but WITHOUT ANY WARRANTY; without even the implied warranty of
644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
645 | GNU General Public License for more details.
646 |
647 | You should have received a copy of the GNU General Public License
648 | along with this program. If not, see .
649 |
650 | Also add information on how to contact you by electronic and paper mail.
651 |
652 | If the program does terminal interaction, make it output a short
653 | notice like this when it starts in an interactive mode:
654 |
655 | Copyright (C)
656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
657 | This is free software, and you are welcome to redistribute it
658 | under certain conditions; type `show c' for details.
659 |
660 | The hypothetical commands `show w' and `show c' should show the appropriate
661 | parts of the General Public License. Of course, your program's commands
662 | might be different; for a GUI interface, you would use an "about box".
663 |
664 | You should also get your employer (if you work as a programmer) or school,
665 | if any, to sign a "copyright disclaimer" for the program, if necessary.
666 | For more information on this, and how to apply and follow the GNU GPL, see
667 | .
668 |
669 | The GNU General Public License does not permit incorporating your program
670 | into proprietary programs. If your program is a subroutine library, you
671 | may consider it more useful to permit linking proprietary applications with
672 | the library. If this is what you want to do, use the GNU Lesser General
673 | Public License instead of this License. But first, please read
674 | .
675 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## Introduction
2 | C++ implementation of SORT: Simple, online, and real-time tracking of multiple objects in a video sequence.
3 |
4 | Kuhn-Munkres (Hungarian) Algorithm in C++ is forked from:
5 | https://github.com/saebyn/munkres-cpp
6 |
7 | ## Dependencies
8 | - Ubuntu 16.04
9 | - Docker 18.09.4
10 | - OpenCV 3.4.2
11 | - Boost 1.58.0
12 |
13 | > All of the 3rd party libraries are included in the provided docker image
14 |
15 | ## Build Docker Image
16 | 1. Open Dockerfile, change line #19 ARG USERNAME to your host user name (echo $USER)
17 | 2. Open a terminal and run:
18 | ```bash
19 | $ cd /path/to/sort-cpp
20 | $ docker build -t sort .
21 | $ ./docker_run.sh
22 | ```
23 |
24 | ## Demo:
25 |
26 | 
27 |
28 |
29 |
30 | To run the tracker with the provided detections and visualize the results:
31 |
32 | 1. Download the [2D MOT 2015 benchmark dataset](https://motchallenge.net/data/2D_MOT_2015/#download)
33 | 2. Create a symbolic link to the dataset
34 | ```bash
35 | $ ln -s /path/to/MOT2015_challenge/data/2DMOT2015 /path/to/sort-cpp/mot_benchmark
36 | ```
37 | 3. Run the demo
38 | ```bash
39 | $ cd /path/to/sort-cpp
40 | $ mkdir build && cd "$_"
41 | $ cmake .. && make
42 | $ cd /path/to/sort-cpp/bin
43 | # Without display
44 | $ ./sort-cpp
45 | # With display
46 | $ ./sort-cpp -d
47 | ```
48 |
49 |
50 |
51 | ## Evaluate Metrics
52 |
53 | Using the [Python implementation of metrics for benchmarking multiple object trackers (MOT)](https://github.com/cheind/py-motmetrics) to evaluate metrics.
54 |
55 |
56 |
57 | #### Dataset Structure
58 |
59 | ```
60 | Layout for ground truth data
61 | //gt/gt.txt
62 | //gt/gt.txt
63 | ...
64 |
65 | Layout for test data
66 | /.txt
67 | /.txt
68 | ...
69 |
70 | Example:
71 | mot_benchmark
72 | ├── test
73 | │ ├── ADL-Rundle-6.txt
74 | │ └── ADL-Rundle-8.txt
75 | └── train
76 | ├── ADL-Rundle-6
77 | │ └── gt
78 | │ └── gt.txt
79 | └── ADL-Rundle-8
80 | └── gt
81 | └── gt.txt
82 |
83 |
84 | Sequences of ground truth and test will be matched according to the ``
85 | string.
86 | ```
87 |
88 |
89 |
90 | #### Example
91 |
92 | ```bash
93 | # Optional for virtualenv
94 | $ source ~/env/bin/activate
95 | $ pip install motmetrics
96 | # Usage
97 | $ python -m motmetrics.apps.eval_motchallenge --help
98 | # Format: python -m motmetrics.apps.eval_motchallenge groundtruths tests
99 | $ python -m motmetrics.apps.eval_motchallenge mot_benchmark/train output/
100 | ```
101 |
102 |
103 |
104 | ## Result
105 |
106 | 
107 |
108 | FPS is around 1900 with Debug build.
109 |
110 |
111 |
112 | ## References
113 | 1. https://github.com/abewley/sort
114 | 2. https://github.com/mcximing/sort-cpp
115 | 3. https://github.com/saebyn/munkres-cpp
116 |
--------------------------------------------------------------------------------
/data/KITTI-13/det.txt:
--------------------------------------------------------------------------------
1 | 4,-1,748.744,152.562,32.441,55.121,0.672558,-1,-1,-1
2 | 5,-1,747.246,152.965,34.561,53.954,0.778875,-1,-1,-1
3 | 6,-1,748.641,148.834,36.75,59.915,0.74036,-1,-1,-1
4 | 7,-1,749.307,154.543,32.616,49.33,0.785546,-1,-1,-1
5 | 8,-1,752.551,155.509,31.128,54.674,0.513309,-1,-1,-1
6 | 9,-1,753.119,155.186,34.286,53.283,0.794882,-1,-1,-1
7 | 9,-1,773.655,161.69,39.325,57.74,0.518777,-1,-1,-1
8 | 11,-1,774.858,166.915,30.478,50.537,0.834827,-1,-1,-1
9 | 11,-1,760.029,151.341,31.082,55.422,0.760953,-1,-1,-1
10 | 12,-1,152.415,191.835,42.302,80.74,0.817165,-1,-1,-1
11 | 12,-1,770.034,158.027,32.983,57.26,0.755515,-1,-1,-1
12 | 12,-1,707.342,143.974,24.891,65.596,0.642924,-1,-1,-1
13 | 13,-1,772.371,152.651,37.152,68.625,0.768328,-1,-1,-1
14 | 13,-1,803.566,156.363,36.349,67.893,0.678682,-1,-1,-1
15 | 13,-1,711.861,140.141,26.274,60.681,0.54418,-1,-1,-1
16 | 14,-1,797.376,153.551,34.34,61.858,0.817447,-1,-1,-1
17 | 15,-1,159.523,150.178,40.793,90.864,0.768277,-1,-1,-1
18 | 15,-1,798.524,157.434,38.98,44.582,0.63912,-1,-1,-1
19 | 15,-1,67.7724,202.688,45.4466,73.471,0.555112,-1,-1,-1
20 | 16,-1,794.938,159.621,41.973,72.547,0.863212,-1,-1,-1
21 | 16,-1,819.651,161.193,34.762,52.196,0.659789,-1,-1,-1
22 | 17,-1,135.633,153.144,41.49,86.733,0.956905,-1,-1,-1
23 | 17,-1,808.606,163.96,35.347,82.649,0.797742,-1,-1,-1
24 | 18,-1,812.723,157.053,41.128,91.411,0.959443,-1,-1,-1
25 | 18,-1,119.39,140.098,35.673,86.591,0.855876,-1,-1,-1
26 | 18,-1,746.098,153.731,31.764,73.961,0.562936,-1,-1,-1
27 | 18,-1,365.71,135.083,32.465,79.015,0.525722,-1,-1,-1
28 | 19,-1,845.271,176.797,32.338,66.41,0.928207,-1,-1,-1
29 | 19,-1,872.699,178.616,36.876,67.415,0.891371,-1,-1,-1
30 | 20,-1,848.949,172.571,36.007,66.262,0.931839,-1,-1,-1
31 | 20,-1,896.779,177.094,32.736,70.255,0.865945,-1,-1,-1
32 | 20,-1,867.44,173.153,47.074,69.427,0.751045,-1,-1,-1
33 | 20,-1,741.765,161.398,36.971,67.257,0.519854,-1,-1,-1
34 | 21,-1,862.049,168.807,36.478,69.78,0.968138,-1,-1,-1
35 | 21,-1,908.617,155.248,41.186,83.717,0.923476,-1,-1,-1
36 | 22,-1,866.092,151.197,52.259,87.884,0.961027,-1,-1,-1
37 | 22,-1,927.238,161.261,36.511,86.647,0.910485,-1,-1,-1
38 | 22,-1,894.166,166.043,37.134,87.848,0.858234,-1,-1,-1
39 | 23,-1,905,169.985,39.552,93.144,0.964608,-1,-1,-1
40 | 23,-1,950.865,171.878,32.368,87.581,0.927545,-1,-1,-1
41 | 23,-1,14.3844,151.489,34.3745,77.745,0.798719,-1,-1,-1
42 | 24,-1,920.733,150.756,40.152,108.888,0.975966,-1,-1,-1
43 | 24,-1,967.972,161.386,52.978,93.662,0.966275,-1,-1,-1
44 | 25,-1,998.636,163.098,46.804,121.325,0.985889,-1,-1,-1
45 | 25,-1,938.081,167.052,46.145,98.605,0.985033,-1,-1,-1
46 | 26,-1,1039.71,161.036,52.66,134.575,0.985799,-1,-1,-1
47 | 26,-1,967.292,171.682,69.818,111.272,0.976018,-1,-1,-1
48 | 27,-1,1067.76,149.432,58.22,160.938,0.989987,-1,-1,-1
49 | 27,-1,991.907,151.36,84.533,140.021,0.969486,-1,-1,-1
50 | 28,-1,1112.75,156.955,61.94,155.409,0.989689,-1,-1,-1
51 | 28,-1,1046.26,150.753,55.14,144.618,0.984231,-1,-1,-1
52 | 29,-1,1101.67,134.773,72.46,184.894,0.99115,-1,-1,-1
53 | 29,-1,1190.58,140.167,50.42,176.518,0.966419,-1,-1,-1
54 | 30,-1,1148.01,135.801,79.32,210.078,0.996967,-1,-1,-1
55 | 32,-1,791.86,163.656,45.182,66.71,0.745345,-1,-1,-1
56 | 36,-1,358.675,168.444,42.541,52.843,0.722695,-1,-1,-1
57 | 37,-1,370.528,158.561,34.399,64.763,0.702973,-1,-1,-1
58 | 39,-1,351.273,165.974,36.52,75.344,0.946696,-1,-1,-1
59 | 40,-1,336.329,171.638,42.704,60.229,0.807638,-1,-1,-1
60 | 41,-1,325.819,170.206,41.149,58.926,0.770187,-1,-1,-1
61 | 42,-1,308.793,175.611,32.213,63.192,0.910014,-1,-1,-1
62 | 43,-1,298.91,179.948,34.764,61.686,0.960944,-1,-1,-1
63 | 43,-1,189.992,160.966,34.041,83.297,0.550861,-1,-1,-1
64 | 43,-1,602.48,130.973,35.131,55.837,0.513429,-1,-1,-1
65 | 44,-1,283.958,189.573,34.891,62.869,0.982689,-1,-1,-1
66 | 44,-1,162.367,150.922,41.934,85.054,0.747439,-1,-1,-1
67 | 44,-1,593.258,135.644,40.167,46.387,0.672412,-1,-1,-1
68 | 45,-1,264.25,174.994,39.351,79.949,0.985279,-1,-1,-1
69 | 45,-1,140.791,160.146,35.713,85.324,0.892299,-1,-1,-1
70 | 46,-1,234.423,186.787,36.928,80.315,0.982001,-1,-1,-1
71 | 46,-1,124.147,153.189,37.519,90.632,0.792147,-1,-1,-1
72 | 46,-1,598.021,141.783,39.653,47.802,0.556356,-1,-1,-1
73 | 47,-1,213.932,188.527,35.698,77.89,0.978796,-1,-1,-1
74 | 47,-1,101.322,162.234,38.992,83.118,0.962927,-1,-1,-1
75 | 47,-1,598.025,142.439,39.958,43.946,0.721953,-1,-1,-1
76 | 48,-1,190.753,184.647,43.734,87.484,0.987996,-1,-1,-1
77 | 48,-1,76.2089,141.612,40.6991,111.505,0.681593,-1,-1,-1
78 | 49,-1,162.365,180.29,48.461,98.152,0.984331,-1,-1,-1
79 | 49,-1,45.1315,159.589,43.1403,97.022,0.978247,-1,-1,-1
80 | 49,-1,591.41,135.294,44.006,46.346,0.873147,-1,-1,-1
81 | 50,-1,131.19,192.547,44.51,93.536,0.975515,-1,-1,-1
82 | 50,-1,13.9732,161.754,38.159,85.963,0.923275,-1,-1,-1
83 | 50,-1,587.844,134.133,44.47,42.605,0.691708,-1,-1,-1
84 | 51,-1,91.2313,178.729,60.3657,120.214,0.992598,-1,-1,-1
85 | 51,-1,583.325,145.309,53.65,56.243,0.859156,-1,-1,-1
86 | 51,-1,1209.63,193.364,29.47,129.929,0.850869,-1,-1,-1
87 | 52,-1,50.5561,194.691,54.6389,119.003,0.991923,-1,-1,-1
88 | 52,-1,586.462,131.392,45.981,65.645,0.889153,-1,-1,-1
89 | 53,-1,6.95132,186.663,57.0155,142.649,0.992524,-1,-1,-1
90 | 53,-1,587.015,143.475,51.346,50.087,0.945163,-1,-1,-1
91 | 53,-1,354.24,174.958,34.882,66.639,0.660008,-1,-1,-1
92 | 54,-1,590.113,128.212,45.607,72.881,0.71689,-1,-1,-1
93 | 54,-1,339.466,161.913,38.662,78.363,0.716031,-1,-1,-1
94 | 54,-1,210.296,189.4,49.934,41.603,0.66832,-1,-1,-1
95 | 55,-1,583.796,138.543,47.399,52.729,0.783002,-1,-1,-1
96 | 55,-1,200.899,192.017,44.208,52.462,0.724067,-1,-1,-1
97 | 55,-1,1210.89,169.96,28.71,133.781,0.56879,-1,-1,-1
98 | 55,-1,335.417,155.06,36.377,77.21,0.568348,-1,-1,-1
99 | 56,-1,322.723,153.963,37.204,83.541,0.598445,-1,-1,-1
100 | 57,-1,580.371,135.399,50.007,55.624,0.688715,-1,-1,-1
101 | 57,-1,321.528,158.956,44.32,75.191,0.57479,-1,-1,-1
102 | 57,-1,754.287,138.204,39.136,79.771,0.558958,-1,-1,-1
103 | 58,-1,570.575,130.316,56.11,71.611,0.891138,-1,-1,-1
104 | 58,-1,306.455,158.209,41.895,104.532,0.738981,-1,-1,-1
105 | 59,-1,287.469,165.77,39.855,86.484,0.879883,-1,-1,-1
106 | 59,-1,582.829,127.492,44.333,62.1,0.57735,-1,-1,-1
107 | 60,-1,256.528,172.511,48.133,85.698,0.972166,-1,-1,-1
108 | 60,-1,730.052,141.929,30.085,78.163,0.749969,-1,-1,-1
109 | 60,-1,571.03,137.599,43.724,54.822,0.676522,-1,-1,-1
110 | 61,-1,232.3,169.555,52.316,91.393,0.942508,-1,-1,-1
111 | 61,-1,576.22,138.759,45.098,52.833,0.902857,-1,-1,-1
112 | 61,-1,729.4,153.765,28.28,64.237,0.857582,-1,-1,-1
113 | 61,-1,782.54,154.97,28.163,74.82,0.711455,-1,-1,-1
114 | 61,-1,458.046,139.614,29.578,71.676,0.681246,-1,-1,-1
115 | 61,-1,439.119,133.135,30.743,79.501,0.535243,-1,-1,-1
116 | 62,-1,206.036,165.182,60.813,114.365,0.94615,-1,-1,-1
117 | 62,-1,572.072,129,38.837,66.522,0.928806,-1,-1,-1
118 | 62,-1,727.735,152.045,32.828,70.88,0.890766,-1,-1,-1
119 | 62,-1,778.407,161.518,35.819,76.606,0.869295,-1,-1,-1
120 | 62,-1,437.324,129.91,34.329,76.958,0.856984,-1,-1,-1
121 | 63,-1,181.217,163.921,52.895,108.212,0.991905,-1,-1,-1
122 | 63,-1,441.685,119.162,39.788,91.125,0.922111,-1,-1,-1
123 | 63,-1,563.739,136.507,48.539,66.898,0.77578,-1,-1,-1
124 | 63,-1,787.423,150.054,36.609,95.929,0.680451,-1,-1,-1
125 | 63,-1,729.637,157.06,34.549,69.806,0.607819,-1,-1,-1
126 | 63,-1,869.518,157.651,29.411,78.467,0.552038,-1,-1,-1
127 | 64,-1,151.218,151.241,62.094,141.666,0.991781,-1,-1,-1
128 | 64,-1,799.12,159.326,36.713,80.199,0.978511,-1,-1,-1
129 | 64,-1,428.245,126.203,35.791,82.425,0.931756,-1,-1,-1
130 | 64,-1,779.65,164.017,36.05,78.322,0.612054,-1,-1,-1
131 | 64,-1,743.935,158.443,35.791,64.159,0.599363,-1,-1,-1
132 | 64,-1,564.951,130.03,46.057,76.198,0.590103,-1,-1,-1
133 | 65,-1,118.723,160.78,56.036,139.048,0.980634,-1,-1,-1
134 | 65,-1,798.651,158.082,36.226,90.858,0.953829,-1,-1,-1
135 | 65,-1,427.352,124.854,37.931,90.025,0.877596,-1,-1,-1
136 | 65,-1,568.573,127.306,42.498,65.326,0.815463,-1,-1,-1
137 | 66,-1,63.9155,150.636,72.7125,141.832,0.983048,-1,-1,-1
138 | 66,-1,792.589,156.065,39.845,98.792,0.772148,-1,-1,-1
139 | 66,-1,417.003,126.275,41.214,88.098,0.745704,-1,-1,-1
140 | 66,-1,557.712,136.069,40.379,61.683,0.737384,-1,-1,-1
141 | 67,-1,33.3473,147.151,59.7858,148.665,0.970942,-1,-1,-1
142 | 67,-1,809.686,155.232,40.936,101.875,0.704994,-1,-1,-1
143 | 67,-1,557.289,130.571,39.488,59.492,0.700651,-1,-1,-1
144 | 68,-1,9.47021,146.732,49.8789,182.608,0.954444,-1,-1,-1
145 | 68,-1,550.22,122.747,56.035,69.178,0.795754,-1,-1,-1
146 | 68,-1,749.217,147.08,28.188,72.521,0.569354,-1,-1,-1
147 | 68,-1,321.559,154.52,39.927,84.054,0.545323,-1,-1,-1
148 | 68,-1,905.575,145.612,32.35,92.626,0.528991,-1,-1,-1
149 | 69,-1,918.459,164.084,29.605,78.151,0.903845,-1,-1,-1
150 | 69,-1,1105.72,145.776,53.34,96.434,0.856083,-1,-1,-1
151 | 69,-1,1007.54,208.922,51.94,82.471,0.817552,-1,-1,-1
152 | 69,-1,306.075,154.714,38.465,88.904,0.809773,-1,-1,-1
153 | 69,-1,384.079,157.063,29.739,69.202,0.793539,-1,-1,-1
154 | 69,-1,834.35,160.79,40.974,78.435,0.752213,-1,-1,-1
155 | 69,-1,547.156,135.109,47.197,66.706,0.619774,-1,-1,-1
156 | 70,-1,846.783,144.09,53.621,127.825,0.96839,-1,-1,-1
157 | 70,-1,1130.77,160.235,72.55,95.241,0.948039,-1,-1,-1
158 | 70,-1,760.093,153.407,32.273,80.521,0.879412,-1,-1,-1
159 | 70,-1,367.466,159.046,35.769,74.877,0.786903,-1,-1,-1
160 | 70,-1,277.221,165.357,45.356,65.507,0.761419,-1,-1,-1
161 | 70,-1,738.834,169.696,35.667,59.576,0.745546,-1,-1,-1
162 | 70,-1,1042.23,204.97,58.51,98.175,0.672778,-1,-1,-1
163 | 70,-1,909.606,152.436,53.997,87.347,0.66016,-1,-1,-1
164 | 71,-1,864.767,163.911,41.068,103.251,0.986856,-1,-1,-1
165 | 71,-1,1163.26,150.725,73.84,167.117,0.946941,-1,-1,-1
166 | 71,-1,288.252,163.692,28.64,74.21,0.943634,-1,-1,-1
167 | 71,-1,759.725,163.307,27.92,68.264,0.940219,-1,-1,-1
168 | 71,-1,947.093,163.059,35.855,86.936,0.882553,-1,-1,-1
169 | 71,-1,781.355,167.437,38.004,77.694,0.735804,-1,-1,-1
170 | 71,-1,739.332,175.803,36.729,67.418,0.710009,-1,-1,-1
171 | 72,-1,881.462,142.734,65.256,150.617,0.989745,-1,-1,-1
172 | 72,-1,747.348,160.614,52.611,86.915,0.98085,-1,-1,-1
173 | 72,-1,264.081,154.903,38.11,96.514,0.964022,-1,-1,-1
174 | 72,-1,352.477,169.694,29.88,58.945,0.935391,-1,-1,-1
175 | 72,-1,950.429,145.214,42.615,103.223,0.872057,-1,-1,-1
176 | 72,-1,1144.5,187.396,89.04,116.883,0.843947,-1,-1,-1
177 | 72,-1,1204.86,155.118,34.07,157.18,0.763933,-1,-1,-1
178 | 72,-1,973.717,150.298,38.963,105.111,0.533642,-1,-1,-1
179 | 73,-1,887.615,155.978,91.393,138.677,0.990084,-1,-1,-1
180 | 73,-1,1172.52,219.998,67.93,106.414,0.959029,-1,-1,-1
181 | 73,-1,749.063,155.435,42.811,87.721,0.949606,-1,-1,-1
182 | 73,-1,971.024,142.392,47.716,124.058,0.862283,-1,-1,-1
183 | 73,-1,338.545,168.782,40.531,76.054,0.835651,-1,-1,-1
184 | 73,-1,773.334,160.575,40.495,86.271,0.789951,-1,-1,-1
185 | 74,-1,937.761,152.196,65.199,147.278,0.989332,-1,-1,-1
186 | 74,-1,763.777,155.084,35.301,85.242,0.940203,-1,-1,-1
187 | 74,-1,244.882,164.624,36.692,100.145,0.933679,-1,-1,-1
188 | 74,-1,993.118,149.466,51.642,118.921,0.919812,-1,-1,-1
189 | 74,-1,323.798,171.853,30.966,71.3,0.914545,-1,-1,-1
190 | 75,-1,957.65,144.378,80.44,167.571,0.98952,-1,-1,-1
191 | 75,-1,1016.01,160.988,59.66,125.243,0.971565,-1,-1,-1
192 | 75,-1,224.291,159.262,38.95,106.303,0.941417,-1,-1,-1
193 | 75,-1,308.646,177.607,29.134,67.945,0.936099,-1,-1,-1
194 | 75,-1,767.177,168.928,31.319,77.442,0.930843,-1,-1,-1
195 | 75,-1,866.832,185.434,29.294,72.247,0.860436,-1,-1,-1
196 | 76,-1,982.536,149.136,105.434,172.369,0.992112,-1,-1,-1
197 | 76,-1,872.422,177.764,34.664,80.706,0.976539,-1,-1,-1
198 | 76,-1,205.978,170.135,40.125,86.816,0.965067,-1,-1,-1
199 | 76,-1,783.683,168.58,30.773,73.746,0.962307,-1,-1,-1
200 | 76,-1,1054.12,151.239,55.23,148.437,0.937427,-1,-1,-1
201 | 76,-1,886.306,166.055,47.309,101.732,0.741738,-1,-1,-1
202 | 77,-1,1040.83,153.596,101.48,189.221,0.997142,-1,-1,-1
203 | 77,-1,182.983,166.163,41.34,87.741,0.976072,-1,-1,-1
204 | 77,-1,781.272,156.489,56.922,95.248,0.919901,-1,-1,-1
205 | 77,-1,897.796,172.971,30.16,89.455,0.831098,-1,-1,-1
206 | 77,-1,844.94,171.535,30.735,84.788,0.780899,-1,-1,-1
207 | 78,-1,1068.84,170.62,128.04,184.494,0.995296,-1,-1,-1
208 | 78,-1,788.644,160.777,40.841,105.165,0.987967,-1,-1,-1
209 | 78,-1,168.194,168.462,39.586,88.177,0.977618,-1,-1,-1
210 | 78,-1,257.329,174.637,39.267,87.738,0.879471,-1,-1,-1
211 | 78,-1,904.693,172.513,37.269,97.162,0.652959,-1,-1,-1
212 | 79,-1,1150.31,146.688,90.69,227.312,0.985188,-1,-1,-1
213 | 79,-1,801.434,167.713,47.57,104.398,0.984509,-1,-1,-1
214 | 79,-1,138.082,165.584,54.291,98.695,0.96677,-1,-1,-1
215 | 79,-1,231.48,171.601,50.161,101.189,0.966306,-1,-1,-1
216 | 79,-1,1112.66,149.726,51.9,204.563,0.940922,-1,-1,-1
217 | 79,-1,866.811,178.299,32.954,89.847,0.823388,-1,-1,-1
218 | 79,-1,833.586,152.919,28.681,109.407,0.539478,-1,-1,-1
219 | 80,-1,1154.29,166.562,71.52,158.595,0.985738,-1,-1,-1
220 | 80,-1,818.321,175.044,44.991,115.397,0.983346,-1,-1,-1
221 | 80,-1,128.377,174.11,38.351,103.12,0.975216,-1,-1,-1
222 | 80,-1,203.58,174.13,49.748,108.501,0.939457,-1,-1,-1
223 | 80,-1,878.023,177.918,40.07,94.637,0.797992,-1,-1,-1
224 | 80,-1,450.212,160.172,36.979,57.631,0.756927,-1,-1,-1
225 | 80,-1,793.108,180.972,31.933,79.369,0.681346,-1,-1,-1
226 | 81,-1,98.8431,177.246,47.1729,96.131,0.990427,-1,-1,-1
227 | 81,-1,841.468,166.84,45.892,131.433,0.983293,-1,-1,-1
228 | 81,-1,175.491,183.085,39.466,94.384,0.874308,-1,-1,-1
229 | 81,-1,1214.91,163.429,26.09,170.183,0.794073,-1,-1,-1
230 | 81,-1,819.756,183.251,31.362,91.854,0.743015,-1,-1,-1
231 | 81,-1,434.197,159.566,36.31,64.312,0.635735,-1,-1,-1
232 | 81,-1,792.618,191.727,28.67,52.453,0.549123,-1,-1,-1
233 | 82,-1,61.6508,173.412,61.1012,119.119,0.990805,-1,-1,-1
234 | 82,-1,858.571,176.815,47.203,143.76,0.977752,-1,-1,-1
235 | 82,-1,818.611,198.13,28.799,82.366,0.900149,-1,-1,-1
236 | 82,-1,926.422,187.412,44.73,105.319,0.679277,-1,-1,-1
237 | 82,-1,839.408,181.395,28.887,98.946,0.673427,-1,-1,-1
238 | 82,-1,903.447,169.315,46.704,137.276,0.638374,-1,-1,-1
239 | 82,-1,146.884,174.106,42.731,108.73,0.617472,-1,-1,-1
240 | 83,-1,40.6761,186.173,47.2496,108.417,0.989897,-1,-1,-1
241 | 83,-1,876.97,158.092,47.744,175.407,0.984829,-1,-1,-1
242 | 83,-1,831.912,183.158,38.702,109.05,0.941465,-1,-1,-1
243 | 83,-1,422.928,158.921,29.988,56.861,0.643896,-1,-1,-1
244 | 83,-1,109.308,170.186,47.159,135.668,0.609661,-1,-1,-1
245 | 84,-1,900.75,145.223,64.72,211.44,0.982393,-1,-1,-1
246 | 84,-1,13.4311,167.984,59.273,131.126,0.969814,-1,-1,-1
247 | 84,-1,846.383,185.403,38.883,100.761,0.947336,-1,-1,-1
248 | 84,-1,55.5404,163.116,52.3086,139.316,0.886577,-1,-1,-1
249 | 84,-1,412.189,165.562,30.475,51.832,0.859416,-1,-1,-1
250 | 84,-1,784.9,162.689,35.813,39.495,0.575092,-1,-1,-1
251 | 85,-1,927.023,133.783,79.667,230.359,0.995426,-1,-1,-1
252 | 85,-1,19.5167,173.823,57.8277,152.54,0.966645,-1,-1,-1
253 | 85,-1,862.125,210.763,40.326,96.005,0.959627,-1,-1,-1
254 | 85,-1,408.968,154.515,32.839,76.511,0.951326,-1,-1,-1
255 | 85,-1,159.361,180.827,45.927,67.209,0.94196,-1,-1,-1
256 | 85,-1,389.965,162.266,30.695,58.091,0.683129,-1,-1,-1
257 | 86,-1,959.29,143.291,93.32,219.262,0.997518,-1,-1,-1
258 | 86,-1,386.641,162.426,33.831,72.591,0.954691,-1,-1,-1
259 | 86,-1,886.337,205.119,37.468,104.559,0.947926,-1,-1,-1
260 | 86,-1,136.921,172.781,48.528,74.759,0.875042,-1,-1,-1
261 | 86,-1,790.447,161.813,33.593,39.766,0.646983,-1,-1,-1
262 | 86,-1,913.121,185.81,32.027,118.363,0.579781,-1,-1,-1
263 | 87,-1,1017.19,135.73,110.18,231.398,0.993787,-1,-1,-1
264 | 87,-1,904.443,217.808,48.044,106.507,0.965718,-1,-1,-1
265 | 87,-1,386.69,157.534,36.664,73.464,0.934381,-1,-1,-1
266 | 87,-1,963.799,193.191,52.101,132.866,0.812771,-1,-1,-1
267 | 87,-1,121.208,177.421,43.913,74.018,0.793799,-1,-1,-1
268 | 88,-1,1053.78,131.585,160.73,237.474,0.992689,-1,-1,-1
269 | 88,-1,364.722,163.761,38.008,76.682,0.956832,-1,-1,-1
270 | 88,-1,935.904,183.599,59.814,171.35,0.931384,-1,-1,-1
271 | 88,-1,92.7214,173.007,45.6126,91.396,0.887574,-1,-1,-1
272 | 88,-1,990.858,200.648,50.362,142.114,0.866068,-1,-1,-1
273 | 88,-1,806.722,173.305,27.789,50.339,0.542678,-1,-1,-1
274 | 89,-1,976.397,222.627,82.723,140.951,0.981591,-1,-1,-1
275 | 89,-1,58.0955,174.513,51.1255,78.499,0.965952,-1,-1,-1
276 | 89,-1,1033.82,208.714,63.08,146.919,0.881981,-1,-1,-1
277 | 89,-1,340.85,171.02,38.054,78.385,0.829836,-1,-1,-1
278 | 89,-1,1195.6,113.397,45.4,162.307,0.733186,-1,-1,-1
279 | 89,-1,1150.2,127.816,80.79,205.681,0.646495,-1,-1,-1
280 | 89,-1,806.601,174.038,32.349,40.745,0.52721,-1,-1,-1
281 | 90,-1,1042.48,206.848,71.77,151.129,0.976617,-1,-1,-1
282 | 90,-1,1102.13,218.488,61.79,137.39,0.968862,-1,-1,-1
283 | 90,-1,33.27,174.338,53.6644,84.996,0.967261,-1,-1,-1
284 | 90,-1,316.257,178.409,41.699,77.595,0.943128,-1,-1,-1
285 | 90,-1,1152.95,226.306,85.87,100.049,0.799189,-1,-1,-1
286 | 90,-1,1201.12,199.131,39.88,77.344,0.575768,-1,-1,-1
287 | 91,-1,279.47,170.877,46.99,83.407,0.928609,-1,-1,-1
288 | 91,-1,1084.5,198.339,48.58,110.065,0.918067,-1,-1,-1
289 | 91,-1,323.669,175.694,32.292,60.459,0.873696,-1,-1,-1
290 | 91,-1,1186.19,251.643,54.81,109.173,0.86533,-1,-1,-1
291 | 91,-1,1123.96,253.673,79.18,106.362,0.852009,-1,-1,-1
292 | 92,-1,261.536,161.426,47.178,94.298,0.970649,-1,-1,-1
293 | 92,-1,891.688,160.757,25.774,57.133,0.826123,-1,-1,-1
294 | 92,-1,1108.27,202.82,65.9,107.617,0.81425,-1,-1,-1
295 | 92,-1,296.933,173.868,29.371,73.002,0.786137,-1,-1,-1
296 | 93,-1,216.925,170.52,67.374,105.145,0.975912,-1,-1,-1
297 | 93,-1,822.336,170.663,32.685,50.584,0.723947,-1,-1,-1
298 | 93,-1,1149.44,197.085,52.82,95.876,0.645801,-1,-1,-1
299 | 93,-1,279.39,180.806,40.675,86.203,0.628111,-1,-1,-1
300 | 94,-1,177.79,174.38,74.334,116.052,0.934304,-1,-1,-1
301 | 94,-1,905.845,161.953,29.209,55.755,0.909144,-1,-1,-1
302 | 94,-1,1195.65,200.083,45.35,106.415,0.907865,-1,-1,-1
303 | 94,-1,266.927,170.188,33.104,94.282,0.896325,-1,-1,-1
304 | 95,-1,134.377,165.095,71.578,143.678,0.971008,-1,-1,-1
305 | 95,-1,911.895,164.432,28.696,62.248,0.922031,-1,-1,-1
306 | 95,-1,216.524,176.98,59.362,90.995,0.901443,-1,-1,-1
307 | 96,-1,68.7829,146.606,78.4021,165.039,0.979665,-1,-1,-1
308 | 96,-1,986.181,168.928,33.389,77.19,0.918683,-1,-1,-1
309 | 96,-1,906.676,170.177,30.824,58.701,0.883687,-1,-1,-1
310 | 96,-1,922.89,157.624,23.457,57.577,0.860759,-1,-1,-1
311 | 96,-1,185.551,175.069,61.813,100.954,0.818987,-1,-1,-1
312 | 96,-1,830.211,174.532,36.181,58.958,0.729123,-1,-1,-1
313 | 97,-1,7.75435,154.632,70.3071,191.022,0.985975,-1,-1,-1
314 | 97,-1,127.925,182.133,65.819,92.724,0.905737,-1,-1,-1
315 | 97,-1,924.756,155.632,33.153,73.306,0.876376,-1,-1,-1
316 | 97,-1,834.746,185.099,51.836,52.245,0.799341,-1,-1,-1
317 | 97,-1,1157.81,190.119,63.18,127.347,0.592065,-1,-1,-1
318 | 98,-1,90.5865,171.713,65.4505,125.789,0.958606,-1,-1,-1
319 | 98,-1,931.61,146.909,30.29,89.73,0.948414,-1,-1,-1
320 | 98,-1,1022,176.68,27.51,72.942,0.931844,-1,-1,-1
321 | 98,-1,841.062,182.266,42.956,56.931,0.913397,-1,-1,-1
322 | 99,-1,1033.15,172.518,29.36,81.041,0.929158,-1,-1,-1
323 | 99,-1,16.2623,190.223,98.7517,109.056,0.859585,-1,-1,-1
324 | 99,-1,845.295,171.884,44.407,62.58,0.690643,-1,-1,-1
325 | 99,-1,944.927,147.334,25.238,86.769,0.603701,-1,-1,-1
326 | 100,-1,945.298,165.637,33.852,81.138,0.9543,-1,-1,-1
327 | 100,-1,1046.82,165.971,35.58,88.664,0.906048,-1,-1,-1
328 | 100,-1,1.35252,185.834,41.0045,143.224,0.855938,-1,-1,-1
329 | 100,-1,853.935,177.097,51.867,51.517,0.673903,-1,-1,-1
330 | 101,-1,960.433,157,31.19,78.918,0.970084,-1,-1,-1
331 | 101,-1,1062.11,165.153,45.16,97.659,0.958953,-1,-1,-1
332 | 101,-1,864.643,167.727,49.828,68.709,0.884027,-1,-1,-1
333 | 102,-1,1081.19,154.684,42.42,107.861,0.973524,-1,-1,-1
334 | 102,-1,967.625,158.624,32.855,81.043,0.952063,-1,-1,-1
335 | 102,-1,865.405,178.535,53.777,57.161,0.853297,-1,-1,-1
336 | 103,-1,1106.6,154.089,43.04,118.709,0.980035,-1,-1,-1
337 | 103,-1,978.588,170.191,30.652,61.524,0.955311,-1,-1,-1
338 | 103,-1,881.927,176.532,42.247,55.761,0.914413,-1,-1,-1
339 | 104,-1,1135.11,154.67,44.55,122.276,0.983673,-1,-1,-1
340 | 104,-1,983.692,166.857,41.838,76.073,0.950662,-1,-1,-1
341 | 104,-1,885.722,172.592,53.88,67.148,0.9178,-1,-1,-1
342 | 105,-1,1148.98,150.162,64.85,111.064,0.990981,-1,-1,-1
343 | 105,-1,999.202,166.048,38.938,84.095,0.955459,-1,-1,-1
344 | 105,-1,885.475,165.37,58.774,68.2,0.83167,-1,-1,-1
345 | 105,-1,226.427,157.691,35.379,73.049,0.762836,-1,-1,-1
346 | 106,-1,1018.55,159.653,37.47,89.015,0.973591,-1,-1,-1
347 | 106,-1,1185.81,163.872,45.14,99.943,0.972041,-1,-1,-1
348 | 106,-1,900.078,169.667,54.058,70.122,0.890775,-1,-1,-1
349 | 106,-1,203.874,167.836,32.362,69.198,0.804986,-1,-1,-1
350 | 107,-1,1021.32,168.728,43.42,89.686,0.969557,-1,-1,-1
351 | 107,-1,907.284,187.02,69.327,66.133,0.883291,-1,-1,-1
352 | 107,-1,187.848,165.261,34.528,66.362,0.746538,-1,-1,-1
353 | 107,-1,1045.81,162.969,34.96,88.574,0.629185,-1,-1,-1
354 | 108,-1,170.441,156.309,40.141,79.05,0.949765,-1,-1,-1
355 | 108,-1,1037.82,169.412,46.94,96.857,0.930328,-1,-1,-1
356 | 108,-1,914.945,179.259,79.142,71.807,0.913677,-1,-1,-1
357 | 109,-1,151.226,150.164,42.929,79.009,0.97387,-1,-1,-1
358 | 109,-1,930.633,179.811,73.577,77.848,0.906918,-1,-1,-1
359 | 109,-1,1059.56,165.814,43.72,105.421,0.897085,-1,-1,-1
360 | 110,-1,1077.58,151.829,43.29,86.945,0.957185,-1,-1,-1
361 | 110,-1,139.53,154.054,38.745,83.06,0.955141,-1,-1,-1
362 | 110,-1,935.419,184.606,89.381,75.645,0.810513,-1,-1,-1
363 | 111,-1,121.143,157.618,40.178,69.46,0.974168,-1,-1,-1
364 | 111,-1,1102.01,156.693,43.63,89.918,0.961634,-1,-1,-1
365 | 112,-1,1124.05,150.562,54.31,98.186,0.974512,-1,-1,-1
366 | 112,-1,90.3844,151.136,47.2296,86.864,0.955302,-1,-1,-1
367 | 113,-1,67.4546,149.602,50.1034,94.647,0.982215,-1,-1,-1
368 | 113,-1,1138.45,158.142,66.63,108.713,0.978656,-1,-1,-1
369 | 113,-1,464.255,168.033,27.457,56.716,0.551453,-1,-1,-1
370 | 114,-1,1169.72,161.926,51.32,93.651,0.969054,-1,-1,-1
371 | 114,-1,37.1905,149.268,51.6216,89.512,0.962479,-1,-1,-1
372 | 114,-1,454.069,165.031,28.903,68.298,0.886236,-1,-1,-1
373 | 115,-1,1197.36,152.411,43.64,103.443,0.957235,-1,-1,-1
374 | 115,-1,11.3238,155.142,48.5669,96.117,0.945833,-1,-1,-1
375 | 115,-1,451.184,173.953,30.896,65.132,0.939671,-1,-1,-1
376 | 115,-1,1015.67,187.26,56.65,97.918,0.939106,-1,-1,-1
377 | 115,-1,1075.86,180.074,74.65,129.436,0.869858,-1,-1,-1
378 | 115,-1,43.314,163.192,43.618,92.934,0.705022,-1,-1,-1
379 | 116,-1,441.03,171.314,27.776,76.626,0.921151,-1,-1,-1
380 | 116,-1,9.4081,161.975,40.5837,86.534,0.907899,-1,-1,-1
381 | 116,-1,1051.64,190.888,50.8,88.89,0.835955,-1,-1,-1
382 | 116,-1,693.074,144.053,26.658,80.629,0.604709,-1,-1,-1
383 | 117,-1,429.58,170.017,43.334,74.877,0.942502,-1,-1,-1
384 | 117,-1,1141.65,190.549,67.28,127.637,0.842515,-1,-1,-1
385 | 117,-1,1069.37,186.433,49.84,68.157,0.800473,-1,-1,-1
386 | 117,-1,1202.69,183.704,32.86,140.071,0.703244,-1,-1,-1
387 | 118,-1,428.476,173.412,37.611,91.826,0.936996,-1,-1,-1
388 | 118,-1,1193.95,187.832,47.05,114.899,0.877901,-1,-1,-1
389 | 119,-1,409.173,180.197,36.965,80.182,0.954062,-1,-1,-1
390 | 119,-1,1201.47,215.699,39.53,104.589,0.594523,-1,-1,-1
391 | 120,-1,404.907,179.213,41.222,73.611,0.975618,-1,-1,-1
392 | 121,-1,389.19,176.611,38.18,93.324,0.971872,-1,-1,-1
393 | 122,-1,378.278,180.08,41.905,99.157,0.981273,-1,-1,-1
394 | 122,-1,160.395,27.6246,67.781,75.8654,0.500922,-1,-1,-1
395 | 123,-1,366.794,182.248,40.264,87.605,0.982248,-1,-1,-1
396 | 124,-1,331.305,177.676,56.779,104.406,0.979312,-1,-1,-1
397 | 125,-1,331.001,186.07,40.704,98.88,0.973544,-1,-1,-1
398 | 125,-1,68.9718,12.3975,64.3222,90.8305,0.561877,-1,-1,-1
399 | 126,-1,307.75,183.398,43.414,105.153,0.990048,-1,-1,-1
400 | 126,-1,37.1898,31.5933,61.5619,74.8557,0.767372,-1,-1,-1
401 | 127,-1,287.344,183.826,49.024,122.471,0.995554,-1,-1,-1
402 | 128,-1,258.298,168.533,51.457,152.08,0.991281,-1,-1,-1
403 | 129,-1,222.324,186.188,62.792,147.408,0.991475,-1,-1,-1
404 | 130,-1,177.54,174.07,82.666,178.914,0.996939,-1,-1,-1
405 | 130,-1,2.14777,224.262,48.7959,139.417,0.655699,-1,-1,-1
406 | 131,-1,121.567,190.767,95.705,170.468,0.99472,-1,-1,-1
407 | 132,-1,72.3742,184.692,100.276,189.308,0.997209,-1,-1,-1
408 | 133,-1,7.21973,185.807,96.6833,188.193,0.996676,-1,-1,-1
409 | 134,-1,0,229.627,41.559,122.705,0.880457,-1,-1,-1
410 | 136,-1,356.874,165.579,53.337,76.079,0.512292,-1,-1,-1
411 | 137,-1,351.774,164.633,49.7,78.587,0.897323,-1,-1,-1
412 | 140,-1,669.648,158.154,30.581,104.942,0.801207,-1,-1,-1
413 | 141,-1,666.608,160.913,33.181,106.059,0.856503,-1,-1,-1
414 | 141,-1,54.9989,146.933,80.0921,133.732,0.686799,-1,-1,-1
415 | 142,-1,290.245,164.547,57.424,96.107,0.663914,-1,-1,-1
416 | 142,-1,24.1941,154.939,92.5269,128.201,0.593657,-1,-1,-1
417 | 142,-1,665.24,151.881,37.283,99.726,0.586144,-1,-1,-1
418 | 143,-1,277.353,166.148,55.11,98.605,0.658156,-1,-1,-1
419 | 143,-1,666.062,154.296,39.547,98.878,0.575099,-1,-1,-1
420 | 144,-1,671.557,157.618,34.03,97.752,0.831121,-1,-1,-1
421 | 145,-1,685.127,150.786,35.392,101.215,0.801728,-1,-1,-1
422 | 146,-1,678.529,138.465,38.89,113.679,0.93515,-1,-1,-1
423 | 146,-1,238.131,164.101,52.546,107.801,0.810128,-1,-1,-1
424 | 147,-1,681.849,137.336,44.305,125.333,0.978636,-1,-1,-1
425 | 147,-1,225.964,170.877,48.61,107.555,0.687421,-1,-1,-1
426 | 148,-1,698.492,157.614,39.451,92.624,0.982514,-1,-1,-1
427 | 148,-1,213.108,167.015,53.431,109.252,0.534584,-1,-1,-1
428 | 149,-1,692.392,146.986,35.981,109.39,0.797954,-1,-1,-1
429 | 150,-1,717.899,160.513,40.672,92.902,0.808106,-1,-1,-1
430 | 151,-1,123.895,144.715,135.915,170.939,0.635357,-1,-1,-1
431 | 155,-1,762.805,164.8,46.539,76.255,0.837488,-1,-1,-1
432 | 156,-1,775.246,156.753,48.775,94.64,0.942456,-1,-1,-1
433 | 157,-1,787.602,151.027,43.856,90.407,0.790535,-1,-1,-1
434 | 159,-1,825.357,139.814,55.246,94.115,0.948262,-1,-1,-1
435 | 159,-1,22.6254,95.7438,52.3589,180.779,0.91908,-1,-1,-1
436 | 160,-1,838.417,141.004,50.56,98.53,0.971228,-1,-1,-1
437 | 161,-1,848.576,155.046,65.893,95.71,0.892591,-1,-1,-1
438 | 164,-1,907.89,148.663,57.173,106.495,0.601917,-1,-1,-1
439 | 167,-1,973.032,148.5,75.598,103.498,0.85426,-1,-1,-1
440 | 168,-1,1005.92,162.111,71.52,65.358,0.801743,-1,-1,-1
441 | 169,-1,1038.27,153.346,72.52,121.105,0.931023,-1,-1,-1
442 | 169,-1,772.685,164.14,45.496,83.251,0.768753,-1,-1,-1
443 | 170,-1,1063.18,159.651,61.97,95.49,0.938523,-1,-1,-1
444 | 170,-1,12.4721,150.995,40.708,136.924,0.902885,-1,-1,-1
445 | 170,-1,776.218,176.594,44.869,71.524,0.887011,-1,-1,-1
446 | 171,-1,1088.48,163.083,62.96,82.45,0.791439,-1,-1,-1
447 | 172,-1,776.771,155.819,42.042,89.908,0.699934,-1,-1,-1
448 | 172,-1,1117.13,173.701,89.57,83.733,0.538594,-1,-1,-1
449 | 173,-1,1146.89,155.945,65.11,98.834,0.884571,-1,-1,-1
450 | 173,-1,781.721,161.558,39.12,80.317,0.710794,-1,-1,-1
451 | 175,-1,779.007,153.793,40.281,84.085,0.766883,-1,-1,-1
452 | 176,-1,775.82,165.897,37.579,76.598,0.534864,-1,-1,-1
453 | 186,-1,728.838,167.551,48.794,88.216,0.562515,-1,-1,-1
454 | 194,-1,1202.27,2.72335,36.34,172.619,0.747261,-1,-1,-1
455 | 209,-1,1031.59,158.009,33.6,67.063,0.546391,-1,-1,-1
456 | 210,-1,7.59586,152.717,56.9753,124.161,0.89631,-1,-1,-1
457 | 212,-1,423.337,132.994,36.063,90.154,0.702123,-1,-1,-1
458 | 217,-1,1149.3,6.88287,82.91,252.821,0.872819,-1,-1,-1
459 | 217,-1,743.41,160.671,31.302,76.294,0.749235,-1,-1,-1
460 | 218,-1,746.408,167.988,26.86,77.618,0.778755,-1,-1,-1
461 | 219,-1,746.615,164.223,30.784,85.13,0.938876,-1,-1,-1
462 | 220,-1,744.866,158.593,33.086,78.991,0.945277,-1,-1,-1
463 | 220,-1,32.0889,112.133,44.3867,104.349,0.849281,-1,-1,-1
464 | 221,-1,202.978,81.6005,63.412,133.096,0.983807,-1,-1,-1
465 | 221,-1,747.296,158.066,28.969,81.632,0.953587,-1,-1,-1
466 | 221,-1,1069.05,18.878,72.32,217.868,0.654245,-1,-1,-1
467 | 222,-1,749.952,159.256,32.62,93.595,0.944545,-1,-1,-1
468 | 222,-1,820.592,170.876,30.063,98.963,0.915275,-1,-1,-1
469 | 222,-1,1091.24,22.2195,68.05,204.506,0.742883,-1,-1,-1
470 | 223,-1,1121.1,23.8689,68.5,143.778,0.978969,-1,-1,-1
471 | 223,-1,743.316,156.682,44.464,97.275,0.935283,-1,-1,-1
472 | 223,-1,813.065,177.605,47.011,97.168,0.757528,-1,-1,-1
473 | 224,-1,753.282,162.919,36.438,101.504,0.957852,-1,-1,-1
474 | 224,-1,1155.04,18.9005,68.37,107.409,0.868863,-1,-1,-1
475 | 224,-1,833.783,171.407,35.058,74.471,0.749687,-1,-1,-1
476 | 225,-1,752.87,167.131,38.255,111.823,0.979896,-1,-1,-1
477 | 225,-1,836.513,160.934,47.496,110.342,0.947631,-1,-1,-1
478 | 226,-1,848.93,167.136,46.771,98.885,0.958642,-1,-1,-1
479 | 226,-1,762.547,166.013,42.544,104.718,0.940389,-1,-1,-1
480 | 226,-1,1035.29,263.386,36.35,77.961,0.80857,-1,-1,-1
481 | 227,-1,867.116,165.974,54.787,106.728,0.983153,-1,-1,-1
482 | 227,-1,763.008,165.687,48.827,119.372,0.955689,-1,-1,-1
483 | 227,-1,1091.7,273.173,50.95,90.368,0.94107,-1,-1,-1
484 | 228,-1,884.063,168.797,54.805,122.82,0.966363,-1,-1,-1
485 | 228,-1,775.605,183.413,58.818,106.559,0.922668,-1,-1,-1
486 | 228,-1,190.636,172.989,38.811,83.965,0.70316,-1,-1,-1
487 | 229,-1,796.623,179.422,67.398,131.242,0.983443,-1,-1,-1
488 | 229,-1,888.453,164.094,60.668,130.092,0.92885,-1,-1,-1
489 | 230,-1,908.26,160.666,83.649,148.27,0.987131,-1,-1,-1
490 | 230,-1,805.277,186.204,63.769,142.482,0.964056,-1,-1,-1
491 | 230,-1,95.8853,179.102,44.7437,96.591,0.895001,-1,-1,-1
492 | 231,-1,927.601,154.257,82.089,134.639,0.981265,-1,-1,-1
493 | 231,-1,825.259,199.538,60.178,125.578,0.873318,-1,-1,-1
494 | 231,-1,32.3089,177.426,40.5835,81.014,0.860498,-1,-1,-1
495 | 232,-1,967.049,152.231,89.481,125.58,0.97631,-1,-1,-1
496 | 232,-1,842.744,183.591,61.256,160.701,0.934704,-1,-1,-1
497 | 233,-1,969.633,160.844,126.117,170.08,0.991045,-1,-1,-1
498 | 233,-1,856.674,187.148,85.185,154.731,0.985386,-1,-1,-1
499 | 234,-1,1001.6,155.674,146.73,173.762,0.989453,-1,-1,-1
500 | 234,-1,865.798,191.65,99.651,147.828,0.981338,-1,-1,-1
501 | 234,-1,981.814,170.099,40.906,70.638,0.808623,-1,-1,-1
502 | 234,-1,571.601,168.56,32.874,44.604,0.581336,-1,-1,-1
503 | 235,-1,1050.71,149.068,151.62,182.521,0.993495,-1,-1,-1
504 | 235,-1,899.05,193.56,106.36,138.727,0.989993,-1,-1,-1
505 | 236,-1,1088.32,144.319,152.68,195.691,0.996345,-1,-1,-1
506 | 236,-1,937.979,193.244,140.341,164.884,0.995123,-1,-1,-1
507 | 236,-1,554.393,168.664,23.809,58.059,0.753856,-1,-1,-1
508 | 237,-1,1157.42,150.387,83.58,181.828,0.98185,-1,-1,-1
509 | 237,-1,1032.7,192.79,107.3,171.252,0.969277,-1,-1,-1
510 | 237,-1,995.15,170.25,64.23,158.354,0.807417,-1,-1,-1
511 | 237,-1,548.218,158.808,27.289,64.002,0.788789,-1,-1,-1
512 | 238,-1,1087.67,193.401,153.33,155.077,0.990944,-1,-1,-1
513 | 238,-1,1084.96,258.872,60.72,88.511,0.675153,-1,-1,-1
514 | 238,-1,727.809,160.372,30.221,35.833,0.614434,-1,-1,-1
515 | 239,-1,726.624,158.613,31.048,63.341,0.935448,-1,-1,-1
516 | 239,-1,1057.59,163.642,63.25,99.182,0.920546,-1,-1,-1
517 | 239,-1,536.173,159.557,27.97,58.128,0.751929,-1,-1,-1
518 | 239,-1,740.799,141.983,36.23,76.906,0.601723,-1,-1,-1
519 | 240,-1,733.079,158.122,28.345,64.925,0.935508,-1,-1,-1
520 | 240,-1,1079.73,154.081,52.01,104.205,0.903437,-1,-1,-1
521 | 240,-1,725.896,145.935,21.86,58.386,0.621325,-1,-1,-1
522 | 240,-1,709.858,164.963,34.241,56.106,0.597203,-1,-1,-1
523 | 241,-1,1099.55,149.549,50.47,127.462,0.967146,-1,-1,-1
524 | 241,-1,733.286,163.581,28.774,60.822,0.912349,-1,-1,-1
525 | 241,-1,721.328,149.423,27.141,58.025,0.902943,-1,-1,-1
526 | 241,-1,1069,155.385,37.86,113.12,0.531945,-1,-1,-1
527 | 242,-1,1109.62,145.785,56.05,132.296,0.991671,-1,-1,-1
528 | 242,-1,717.4,158.933,29.606,58.871,0.839761,-1,-1,-1
529 | 242,-1,730.852,150.569,31.186,56.435,0.81895,-1,-1,-1
530 | 242,-1,507.32,157.443,30.463,76.047,0.640482,-1,-1,-1
531 | 243,-1,1127.79,148.367,62.97,129.22,0.991846,-1,-1,-1
532 | 243,-1,1061.3,285.853,35.05,74.457,0.931746,-1,-1,-1
533 | 243,-1,716.172,157.937,28.676,60.413,0.809044,-1,-1,-1
534 | 244,-1,1141.92,147.567,88.88,135.995,0.989916,-1,-1,-1
535 | 244,-1,488.526,184.149,35.339,46.211,0.913285,-1,-1,-1
536 | 244,-1,723.851,152.336,27.818,64.788,0.83084,-1,-1,-1
537 | 245,-1,1151.16,155.983,84.53,127.452,0.987718,-1,-1,-1
538 | 245,-1,467.245,165.347,31.875,69.227,0.951001,-1,-1,-1
539 | 245,-1,484.452,169.22,30.152,71.77,0.892884,-1,-1,-1
540 | 245,-1,722.717,156.153,28.368,62.061,0.538622,-1,-1,-1
541 | 246,-1,1165.85,156.088,75.15,144.954,0.992417,-1,-1,-1
542 | 246,-1,453.575,167.77,36.879,74.403,0.964131,-1,-1,-1
543 | 246,-1,483.066,175.418,32.517,61.619,0.610256,-1,-1,-1
544 | 247,-1,1204.97,159.08,36.03,142.627,0.957313,-1,-1,-1
545 | 247,-1,440.078,168.471,45.88,67.59,0.955984,-1,-1,-1
546 | 247,-1,710.416,152.521,29.336,64.439,0.75219,-1,-1,-1
547 | 247,-1,462.393,185.955,36.608,72.844,0.684899,-1,-1,-1
548 | 248,-1,421.909,170.844,49.715,69.931,0.956269,-1,-1,-1
549 | 248,-1,453.037,168.279,32.33,65.323,0.848423,-1,-1,-1
550 | 248,-1,705.668,158.814,28.871,62.772,0.762172,-1,-1,-1
551 | 249,-1,415.212,172.261,39.08,80.441,0.971537,-1,-1,-1
552 | 250,-1,400.05,167.746,33.57,88.112,0.983079,-1,-1,-1
553 | 250,-1,454.303,175.788,27.611,66.546,0.655825,-1,-1,-1
554 | 250,-1,442.473,169.773,24.522,80.909,0.628369,-1,-1,-1
555 | 250,-1,938.813,259.91,35.318,92.512,0.51127,-1,-1,-1
556 | 251,-1,383.065,175.701,32.921,83.15,0.972503,-1,-1,-1
557 | 251,-1,447.075,172.835,34.911,76.313,0.929592,-1,-1,-1
558 | 251,-1,4.95443,170.045,56.8462,103.324,0.57978,-1,-1,-1
559 | 252,-1,357.318,177.272,53.486,93.518,0.972418,-1,-1,-1
560 | 252,-1,431.746,163.921,30.717,87.735,0.948996,-1,-1,-1
561 | 252,-1,1044.77,274.897,42.05,78.707,0.672281,-1,-1,-1
562 | 253,-1,352.555,182.776,37.626,104.596,0.97589,-1,-1,-1
563 | 253,-1,425.128,175.112,31.654,89.988,0.960338,-1,-1,-1
564 | 253,-1,715.089,172.458,28.69,66.677,0.651369,-1,-1,-1
565 | 254,-1,330.035,169.976,41.199,124.87,0.986764,-1,-1,-1
566 | 254,-1,418.882,171.547,36.427,92.365,0.965278,-1,-1,-1
567 | 254,-1,353.023,182.801,31.038,99.634,0.838264,-1,-1,-1
568 | 254,-1,715.853,170.062,31.701,64.138,0.689233,-1,-1,-1
569 | 254,-1,400.107,174.223,30.458,86.073,0.640692,-1,-1,-1
570 | 255,-1,325.353,182.083,33.867,113.712,0.988289,-1,-1,-1
571 | 255,-1,393.499,173.681,63.961,94.635,0.968545,-1,-1,-1
572 | 255,-1,733.43,170.491,27.708,70.742,0.928253,-1,-1,-1
573 | 255,-1,703.272,156.603,43.448,90.331,0.518467,-1,-1,-1
574 | 256,-1,280.734,167.304,66.055,164.95,0.976393,-1,-1,-1
575 | 256,-1,388.824,179.316,40.258,89.783,0.960362,-1,-1,-1
576 | 256,-1,728.106,172.184,27.032,68.783,0.930659,-1,-1,-1
577 | 256,-1,742.247,175.146,32.523,70.207,0.820393,-1,-1,-1
578 | 256,-1,350.285,177.638,24.074,95.322,0.712589,-1,-1,-1
579 | 256,-1,709.038,161.154,29.116,85.363,0.609531,-1,-1,-1
580 | 256,-1,361.796,195.866,35.951,78.753,0.523863,-1,-1,-1
581 | 257,-1,259.61,172.072,54.63,172.19,0.98596,-1,-1,-1
582 | 257,-1,376.643,168.552,62.99,130.314,0.974033,-1,-1,-1
583 | 257,-1,737.123,178.364,28.851,68.776,0.965729,-1,-1,-1
584 | 257,-1,332.72,177.82,29.334,99.298,0.941755,-1,-1,-1
585 | 257,-1,351.939,185.804,30.782,84.412,0.879738,-1,-1,-1
586 | 258,-1,230.67,164.305,57.644,187.206,0.987946,-1,-1,-1
587 | 258,-1,370.259,176.136,50.742,111.911,0.98452,-1,-1,-1
588 | 258,-1,740.659,179.502,33.068,72.881,0.965123,-1,-1,-1
589 | 258,-1,318.375,181.483,32.597,102.164,0.944546,-1,-1,-1
590 | 258,-1,343.501,187.199,46.886,97.056,0.682397,-1,-1,-1
591 | 259,-1,187.389,160.529,81.788,205.15,0.995612,-1,-1,-1
592 | 259,-1,354.818,186.857,50.283,117.705,0.987106,-1,-1,-1
593 | 259,-1,748.369,173.915,48.266,78.295,0.970992,-1,-1,-1
594 | 259,-1,281.265,184.109,76.448,102.699,0.956821,-1,-1,-1
595 | 259,-1,334.713,183.04,35.959,112.918,0.654308,-1,-1,-1
596 | 260,-1,162.94,156.121,67.532,203.855,0.990253,-1,-1,-1
597 | 260,-1,343.693,185.962,43.064,124.894,0.981829,-1,-1,-1
598 | 260,-1,767.937,164.109,40.743,103.107,0.972264,-1,-1,-1
599 | 260,-1,387.074,182.446,30.859,97.553,0.922534,-1,-1,-1
600 | 260,-1,275.875,190.126,67.84,108.565,0.910076,-1,-1,-1
601 | 260,-1,746.481,169.377,39.512,90.429,0.892399,-1,-1,-1
602 | 260,-1,259.801,202.553,38.355,90.23,0.865787,-1,-1,-1
603 | 260,-1,405.08,175.687,33.631,91.648,0.807673,-1,-1,-1
604 | 260,-1,364.242,202.08,36.015,82.494,0.807427,-1,-1,-1
605 | 261,-1,103.159,155.393,90.775,218.607,0.994985,-1,-1,-1
606 | 261,-1,318.303,182.347,62.347,147.857,0.986252,-1,-1,-1
607 | 261,-1,385.918,176.987,34.261,108.832,0.96033,-1,-1,-1
608 | 261,-1,773.871,157.467,33.84,98.523,0.951058,-1,-1,-1
609 | 261,-1,236.281,187.807,51.517,117.037,0.940745,-1,-1,-1
610 | 261,-1,275.05,180.044,45.194,124.045,0.938168,-1,-1,-1
611 | 261,-1,789.233,167.506,44.677,84.737,0.807666,-1,-1,-1
612 | 261,-1,421.177,185.546,31.304,86.605,0.765841,-1,-1,-1
613 | 261,-1,361.539,170.863,31.071,131.43,0.662173,-1,-1,-1
614 | 262,-1,13.857,154.762,102.007,216.861,0.998218,-1,-1,-1
615 | 262,-1,307.137,164.439,63.942,179.445,0.988773,-1,-1,-1
616 | 262,-1,358.671,176.2,67.83,120.728,0.983096,-1,-1,-1
617 | 262,-1,786.945,156.473,37.546,106.067,0.946363,-1,-1,-1
618 | 262,-1,253.98,167.478,47.829,144.698,0.899118,-1,-1,-1
619 | 262,-1,809.822,160.33,37.827,100.35,0.89533,-1,-1,-1
620 | 262,-1,227.232,205.829,40.288,103.064,0.860756,-1,-1,-1
621 | 262,-1,118.987,205.096,84.775,141.606,0.700252,-1,-1,-1
622 | 262,-1,281.583,172.767,52.179,147.327,0.545158,-1,-1,-1
623 | 263,-1,274.703,166.873,69.383,187.778,0.990386,-1,-1,-1
624 | 263,-1,352.166,182.501,63.078,116.937,0.98353,-1,-1,-1
625 | 263,-1,826.087,152.183,43.375,114.056,0.970254,-1,-1,-1
626 | 263,-1,0,193.621,28.4905,180.379,0.905651,-1,-1,-1
627 | 263,-1,247.873,166.971,39.262,152.622,0.87922,-1,-1,-1
628 | 263,-1,198.029,206.649,41.964,108.331,0.823275,-1,-1,-1
629 | 263,-1,804.633,167.933,28.411,89.319,0.780067,-1,-1,-1
630 | 263,-1,88.5941,211.033,92.4039,152.477,0.657282,-1,-1,-1
631 | 264,-1,235.805,169.335,82.301,204.665,0.992447,-1,-1,-1
632 | 264,-1,356.382,171.271,45.146,135.771,0.984711,-1,-1,-1
633 | 264,-1,858.507,164.884,40.835,115.605,0.978264,-1,-1,-1
634 | 264,-1,815.147,161.571,47.385,105.744,0.974777,-1,-1,-1
635 | 264,-1,334.395,179.427,41.68,113.607,0.768834,-1,-1,-1
636 | 264,-1,172.385,205.026,54.523,128.281,0.633278,-1,-1,-1
637 | 264,-1,414.056,187.358,31.261,86.401,0.567758,-1,-1,-1
638 | 265,-1,200.181,160.933,75.975,213.067,0.993649,-1,-1,-1
639 | 265,-1,330.664,179.779,77.25,143.395,0.993509,-1,-1,-1
640 | 265,-1,879.339,157.677,47.037,136.028,0.984376,-1,-1,-1
641 | 265,-1,838.766,167.124,41.373,109.882,0.979042,-1,-1,-1
642 | 265,-1,135.883,203.572,64.212,147.116,0.961891,-1,-1,-1
643 | 265,-1,411.428,187.132,35.885,91.197,0.699444,-1,-1,-1
644 | 266,-1,315.639,169.853,85.861,140.727,0.986442,-1,-1,-1
645 | 266,-1,117.23,169.492,123.672,198.788,0.986289,-1,-1,-1
646 | 266,-1,917.266,163.573,47.635,128.241,0.98106,-1,-1,-1
647 | 266,-1,848.22,154.55,55.357,139.781,0.973849,-1,-1,-1
648 | 266,-1,398.905,181.428,40.553,96.216,0.882594,-1,-1,-1
649 | 266,-1,91.5269,175.838,65.7601,176.187,0.658584,-1,-1,-1
650 | 267,-1,311.293,177.343,75.288,172.947,0.990596,-1,-1,-1
651 | 267,-1,49.1775,153.919,119.064,208.019,0.988245,-1,-1,-1
652 | 267,-1,886.356,153.846,55.758,156.273,0.982418,-1,-1,-1
653 | 267,-1,945.605,165.018,55.025,152.113,0.97729,-1,-1,-1
654 | 267,-1,399.417,173.84,46.801,115.858,0.955767,-1,-1,-1
655 | 268,-1,981.67,150.313,65.02,167.579,0.99018,-1,-1,-1
656 | 268,-1,281.774,172.652,68.571,199.655,0.988705,-1,-1,-1
657 | 268,-1,915.221,157.592,49.399,159.438,0.986903,-1,-1,-1
658 | 268,-1,388.43,171.138,43.622,113.27,0.944123,-1,-1,-1
659 | 268,-1,0,164.965,69.4481,209.035,0.939403,-1,-1,-1
660 | 268,-1,51.1172,149.042,75.7278,197.926,0.809931,-1,-1,-1
661 | 269,-1,248.099,171.142,83.306,188.809,0.995784,-1,-1,-1
662 | 269,-1,950.766,143.663,65.934,202.42,0.991518,-1,-1,-1
663 | 269,-1,1030.93,150.482,63.24,184.037,0.988191,-1,-1,-1
664 | 269,-1,382.375,182.728,34.751,102.699,0.987353,-1,-1,-1
665 | 269,-1,0,148.674,75.7108,194.865,0.91759,-1,-1,-1
666 | 270,-1,1071.99,150.582,89.28,183.701,0.997984,-1,-1,-1
667 | 270,-1,188.461,170.503,112.494,203.497,0.996615,-1,-1,-1
668 | 270,-1,370.941,166.05,44.623,133.711,0.990507,-1,-1,-1
669 | 270,-1,984.627,146.298,73.953,202.152,0.985605,-1,-1,-1
670 | 271,-1,125.698,168.015,120.379,198.369,0.997292,-1,-1,-1
671 | 271,-1,1043.27,144.287,74.92,205.536,0.995562,-1,-1,-1
672 | 271,-1,1124.5,135.611,93.81,231.092,0.995352,-1,-1,-1
673 | 271,-1,368.115,179.059,40.469,114.035,0.990766,-1,-1,-1
674 | 271,-1,956.969,283.239,41.315,76.09,0.867492,-1,-1,-1
675 | 272,-1,1100.12,148.413,88.93,213.48,0.997709,-1,-1,-1
676 | 272,-1,25.3574,173.341,175.285,196.537,0.993104,-1,-1,-1
677 | 272,-1,348.809,167.361,43.838,145.376,0.986452,-1,-1,-1
678 | 272,-1,1031.35,294.167,47.48,71.92,0.883653,-1,-1,-1
679 | 273,-1,336.611,184.93,66.088,122.53,0.992103,-1,-1,-1
680 | 273,-1,0,202.251,110.257,161.588,0.987768,-1,-1,-1
681 | 273,-1,1167.94,120.148,73.06,232.082,0.968485,-1,-1,-1
682 | 273,-1,1120.28,133.994,58.27,163.156,0.761864,-1,-1,-1
683 | 274,-1,326.776,166.191,47.631,168.522,0.989204,-1,-1,-1
684 | 275,-1,313.725,159.59,56.354,187.649,0.980691,-1,-1,-1
685 | 275,-1,428.799,179.554,24.178,55.125,0.700601,-1,-1,-1
686 | 276,-1,293.898,176.866,68.886,175.17,0.98294,-1,-1,-1
687 | 276,-1,423.209,184.767,32.994,46.633,0.872636,-1,-1,-1
688 | 276,-1,894.113,261.994,34.791,95.365,0.54221,-1,-1,-1
689 | 277,-1,286.244,172.611,73.283,180.7,0.991613,-1,-1,-1
690 | 277,-1,425.722,174.942,33.576,69.891,0.95333,-1,-1,-1
691 | 277,-1,936.417,279.657,40.406,72.62,0.880629,-1,-1,-1
692 | 278,-1,261.153,177.119,84.093,178.626,0.991823,-1,-1,-1
693 | 278,-1,415.58,177.018,30.68,57.384,0.935282,-1,-1,-1
694 | 278,-1,1001.66,288.921,38.26,64.86,0.909994,-1,-1,-1
695 | 279,-1,224.474,176.76,90.599,189.777,0.9929,-1,-1,-1
696 | 279,-1,411.561,170.409,46.937,79.712,0.963964,-1,-1,-1
697 | 280,-1,188.618,188.464,102.114,177.248,0.995611,-1,-1,-1
698 | 280,-1,417.734,184.774,38.43,54.903,0.963148,-1,-1,-1
699 | 280,-1,404.118,173.938,28.695,60.91,0.809312,-1,-1,-1
700 | 281,-1,146.142,173.764,108.575,186.174,0.997764,-1,-1,-1
701 | 281,-1,417.539,172.846,34.513,73.872,0.968011,-1,-1,-1
702 | 281,-1,654.154,169.267,22.365,66.199,0.685171,-1,-1,-1
703 | 282,-1,94.9252,181.031,110.506,178.77,0.994727,-1,-1,-1
704 | 282,-1,1111.58,176.755,44.09,100.464,0.976253,-1,-1,-1
705 | 282,-1,407.396,170.414,39.638,77.233,0.903771,-1,-1,-1
706 | 282,-1,664.093,170.998,22.535,68.645,0.838864,-1,-1,-1
707 | 282,-1,676.455,175.935,23.764,65.662,0.761758,-1,-1,-1
708 | 283,-1,34.9872,181.442,120.849,173.666,0.996622,-1,-1,-1
709 | 283,-1,1157.89,173.372,56.67,128.7,0.990218,-1,-1,-1
710 | 283,-1,407.873,170.589,35.43,84.864,0.968264,-1,-1,-1
711 | 283,-1,666.693,177.268,29.82,75.035,0.881304,-1,-1,-1
712 | 283,-1,943.112,276.407,36.914,84.563,0.601262,-1,-1,-1
713 | 284,-1,2.3056,168.972,76.1553,190.083,0.980693,-1,-1,-1
714 | 284,-1,402.369,173.957,36.349,93.288,0.970643,-1,-1,-1
715 | 284,-1,1202.29,171.743,36.93,105.934,0.942902,-1,-1,-1
716 | 284,-1,672.341,181.486,25.809,72.734,0.879868,-1,-1,-1
717 | 284,-1,1000.67,286.922,42.41,65.109,0.852106,-1,-1,-1
718 | 284,-1,377.377,169.735,36.794,93.889,0.84341,-1,-1,-1
719 | 284,-1,1175.56,174.858,46.3,112.537,0.750412,-1,-1,-1
720 | 284,-1,656.277,164.777,31.133,74.656,0.545114,-1,-1,-1
721 | 284,-1,685.519,176.278,30.414,75.645,0.520293,-1,-1,-1
722 | 285,-1,407.072,183.912,30.332,85.462,0.967929,-1,-1,-1
723 | 285,-1,678.5,177.904,25.135,67.081,0.891193,-1,-1,-1
724 | 285,-1,375.601,176.297,30.81,86.558,0.81621,-1,-1,-1
725 | 286,-1,402,171.401,36.925,96.351,0.948269,-1,-1,-1
726 | 286,-1,372.776,185.498,44.054,81.72,0.941249,-1,-1,-1
727 | 286,-1,685.719,169.211,25,69.727,0.836554,-1,-1,-1
728 | 286,-1,356.237,169.849,25.863,105.043,0.502446,-1,-1,-1
729 | 287,-1,382.2,169.216,43.962,111.218,0.962555,-1,-1,-1
730 | 287,-1,685.744,168.619,30.187,83.547,0.90929,-1,-1,-1
731 | 287,-1,117.872,156.455,69.447,154.21,0.828269,-1,-1,-1
732 | 287,-1,358.478,177.287,38.217,96.008,0.796863,-1,-1,-1
733 | 287,-1,298.513,191.716,34.734,97.42,0.546791,-1,-1,-1
734 | 288,-1,379.558,176.533,43.604,97.576,0.985118,-1,-1,-1
735 | 288,-1,685.498,170.709,39.922,85.773,0.955354,-1,-1,-1
736 | 288,-1,347.601,180.956,47.228,96.685,0.916242,-1,-1,-1
737 | 289,-1,352.771,181.339,48.563,111.36,0.976561,-1,-1,-1
738 | 289,-1,696.578,175.27,39.427,89.773,0.973994,-1,-1,-1
739 | 289,-1,327.524,167.37,38.227,118.055,0.935908,-1,-1,-1
740 | 289,-1,383.011,183.072,32.222,92.982,0.607614,-1,-1,-1
741 | 290,-1,701.503,174.212,44.558,95.378,0.977218,-1,-1,-1
742 | 290,-1,334.251,173.958,50.593,123.343,0.972404,-1,-1,-1
743 | 290,-1,302.983,172.456,39.649,121.08,0.957905,-1,-1,-1
744 | 291,-1,710.707,162.157,51.132,92.891,0.985023,-1,-1,-1
745 | 291,-1,324.613,161.662,46.009,156.501,0.98139,-1,-1,-1
746 | 291,-1,283.806,155.897,39.172,155.383,0.954754,-1,-1,-1
747 | 292,-1,299.932,173.658,60.851,136.633,0.986566,-1,-1,-1
748 | 292,-1,711.984,168.895,57.877,117.915,0.986247,-1,-1,-1
749 | 292,-1,265.002,162.16,39.809,162.436,0.945723,-1,-1,-1
750 | 292,-1,2.47835,183.727,46.6213,153.64,0.701458,-1,-1,-1
751 | 293,-1,730.622,166.431,41.397,105.607,0.992986,-1,-1,-1
752 | 293,-1,278.258,167.941,52.52,183.891,0.977351,-1,-1,-1
753 | 293,-1,225.542,163.03,63.76,181.346,0.969558,-1,-1,-1
754 | 294,-1,238.889,171.873,74.821,201.204,0.989214,-1,-1,-1
755 | 294,-1,743.581,162.022,38.397,129.321,0.980498,-1,-1,-1
756 | 294,-1,190.164,150.304,58.126,216.233,0.964528,-1,-1,-1
757 | 295,-1,192.999,165.579,77.854,206.929,0.990921,-1,-1,-1
758 | 295,-1,751.583,150.752,54.711,146.246,0.98052,-1,-1,-1
759 | 295,-1,135.54,164.036,77.858,196.869,0.973065,-1,-1,-1
760 | 296,-1,153.725,170.348,72.217,185.012,0.987147,-1,-1,-1
761 | 296,-1,65.0882,163.503,108.423,193.356,0.986131,-1,-1,-1
762 | 296,-1,774.806,152.108,49.541,161.05,0.971064,-1,-1,-1
763 | 296,-1,951.535,255.345,44.938,92.175,0.855575,-1,-1,-1
764 | 296,-1,441.497,169.742,36.735,70.848,0.530673,-1,-1,-1
765 | 297,-1,0,168.693,102.89,203.331,0.989294,-1,-1,-1
766 | 297,-1,65.5492,166.393,105.531,189.715,0.988989,-1,-1,-1
767 | 297,-1,785.775,159.995,71.175,155.065,0.986735,-1,-1,-1
768 | 297,-1,1019.98,267.994,36.92,97.791,0.825747,-1,-1,-1
769 | 298,-1,808.753,150.202,62.398,189.012,0.992763,-1,-1,-1
770 | 298,-1,6.94198,170.145,78.7681,189.385,0.983411,-1,-1,-1
771 | 299,-1,837.695,146.985,71.62,206.215,0.992438,-1,-1,-1
772 | 299,-1,410.477,172.915,39.798,79.554,0.9082,-1,-1,-1
773 | 299,-1,771.552,164.779,24.335,61.004,0.658473,-1,-1,-1
774 | 300,-1,863.899,153.665,78.424,206.407,0.990634,-1,-1,-1
775 | 300,-1,404.738,171.805,37.435,83.061,0.949811,-1,-1,-1
776 | 301,-1,905.973,155.283,77.966,218.717,0.986792,-1,-1,-1
777 | 301,-1,390.952,163.706,36.883,106.934,0.862661,-1,-1,-1
778 | 301,-1,469.66,178.423,25.798,39.328,0.501759,-1,-1,-1
779 | 302,-1,954.335,150.098,85.425,223.875,0.993714,-1,-1,-1
780 | 302,-1,370.043,173.604,47.583,101.609,0.978458,-1,-1,-1
781 | 302,-1,453.503,168.133,34.107,73.452,0.596527,-1,-1,-1
782 | 303,-1,1012.03,145.421,109.34,221.754,0.997398,-1,-1,-1
783 | 303,-1,352.03,181.579,54.154,107.4,0.985487,-1,-1,-1
784 | 303,-1,448.573,169.72,36.274,76.02,0.920087,-1,-1,-1
785 | 303,-1,801.302,171.074,28.25,64.218,0.569454,-1,-1,-1
786 | 304,-1,1091.28,149.219,136.47,221.89,0.99598,-1,-1,-1
787 | 304,-1,337.755,167.035,42.534,130.022,0.968231,-1,-1,-1
788 | 304,-1,810.048,177.765,30.083,68.741,0.830371,-1,-1,-1
789 | 304,-1,799.667,168.167,25.359,64.605,0.767143,-1,-1,-1
790 | 304,-1,439.003,162.844,29.896,96.312,0.735959,-1,-1,-1
791 | 305,-1,313.343,162.999,51.644,136.144,0.977254,-1,-1,-1
792 | 305,-1,414.801,158.338,36.635,104.213,0.965099,-1,-1,-1
793 | 305,-1,818.69,177.493,26.569,59.567,0.839437,-1,-1,-1
794 | 306,-1,280.549,157.348,62.72,156.144,0.987646,-1,-1,-1
795 | 306,-1,405.159,160.924,48.981,108.01,0.958376,-1,-1,-1
796 | 306,-1,831.648,173.131,26.531,63.18,0.878532,-1,-1,-1
797 | 306,-1,516.316,170.519,28.527,48.635,0.724819,-1,-1,-1
798 | 307,-1,241.139,155.885,75.629,182.155,0.987298,-1,-1,-1
799 | 307,-1,390.566,147.499,45.628,136.701,0.984194,-1,-1,-1
800 | 307,-1,829.996,171.355,32.439,66.958,0.939132,-1,-1,-1
801 | 307,-1,510.184,173.149,31.495,49.145,0.880532,-1,-1,-1
802 | 308,-1,176.39,175.51,84.489,172.048,0.992747,-1,-1,-1
803 | 308,-1,369.245,142.003,56.002,154.989,0.98585,-1,-1,-1
804 | 308,-1,849.774,166.33,29.074,73.268,0.94854,-1,-1,-1
805 | 308,-1,516.144,170.381,28.116,55.342,0.946733,-1,-1,-1
806 | 309,-1,96.734,168.428,123.498,193.83,0.997523,-1,-1,-1
807 | 309,-1,325.619,143.728,79.346,170.376,0.993719,-1,-1,-1
808 | 309,-1,859.148,169.824,26.607,66.997,0.971318,-1,-1,-1
809 | 309,-1,1029.16,272.173,41.1,84.244,0.963938,-1,-1,-1
810 | 309,-1,510.043,167.028,30.369,58.774,0.782063,-1,-1,-1
811 | 310,-1,7.01126,169.193,124.133,192.181,0.996594,-1,-1,-1
812 | 310,-1,288.508,161.925,94.571,188.896,0.992015,-1,-1,-1
813 | 310,-1,866.484,172.178,29.67,76.28,0.945215,-1,-1,-1
814 | 310,-1,895.958,165.61,22.575,76.858,0.74512,-1,-1,-1
815 | 310,-1,1137.52,293.824,44.38,68.612,0.602932,-1,-1,-1
816 | 311,-1,236.694,156.218,87.128,196.476,0.981525,-1,-1,-1
817 | 311,-1,877.54,176.385,40.346,78.116,0.948137,-1,-1,-1
818 | 311,-1,503.372,158.003,33.106,66.674,0.783279,-1,-1,-1
819 | 312,-1,163.34,145.559,113.901,220.144,0.991012,-1,-1,-1
820 | 312,-1,889.373,170.518,42.209,94.346,0.98,-1,-1,-1
821 | 312,-1,502.879,175.143,23.889,51.804,0.795426,-1,-1,-1
822 | 312,-1,916.845,179.866,30.493,91.646,0.663248,-1,-1,-1
823 | 313,-1,8.93084,134.474,183.695,239.526,0.994524,-1,-1,-1
824 | 313,-1,923.203,165.936,38.053,126.029,0.984273,-1,-1,-1
825 | 313,-1,488.419,171.469,24.369,59.269,0.82342,-1,-1,-1
826 | 313,-1,503.402,170.15,28.852,70.361,0.675651,-1,-1,-1
827 | 314,-1,925.711,165.002,55.482,101.481,0.976418,-1,-1,-1
828 | 314,-1,497.811,169.087,27.585,71.989,0.849182,-1,-1,-1
829 | 314,-1,963.404,265.075,36.466,94.593,0.845712,-1,-1,-1
830 | 315,-1,959.795,148.02,43.725,125.943,0.984578,-1,-1,-1
831 | 315,-1,493.929,163.296,35.283,81.655,0.91011,-1,-1,-1
832 | 315,-1,1024.69,273.18,42.76,76.976,0.721583,-1,-1,-1
833 | 315,-1,474.63,173.944,41.268,50.71,0.569714,-1,-1,-1
834 | 316,-1,965.677,157.11,53.303,121.747,0.986207,-1,-1,-1
835 | 316,-1,1121.82,294.427,47.28,68.878,0.904895,-1,-1,-1
836 | 316,-1,491.218,167.941,25.649,53.717,0.900074,-1,-1,-1
837 | 317,-1,1001.14,147.075,48.01,132.682,0.993955,-1,-1,-1
838 | 317,-1,487.306,167.208,31.03,68.752,0.949142,-1,-1,-1
839 | 317,-1,473.062,170.857,22.544,57.429,0.534261,-1,-1,-1
840 | 318,-1,480.613,163.715,32.325,75.258,0.974545,-1,-1,-1
841 | 318,-1,1033.01,138.971,49.96,167.464,0.973979,-1,-1,-1
842 | 318,-1,1182.28,187.804,51.05,118.413,0.58722,-1,-1,-1
843 | 319,-1,473.899,171.879,33.168,69.952,0.984363,-1,-1,-1
844 | 319,-1,1061.17,142.256,61.96,159.266,0.971774,-1,-1,-1
845 | 319,-1,902.021,252.252,33.143,103.318,0.730995,-1,-1,-1
846 | 320,-1,1103.17,123.046,63.76,180.183,0.992873,-1,-1,-1
847 | 320,-1,471.279,169.68,37.154,81.223,0.96684,-1,-1,-1
848 | 320,-1,940.86,251.324,40.412,96.456,0.748324,-1,-1,-1
849 | 321,-1,1142.99,128.479,79.15,196.229,0.997021,-1,-1,-1
850 | 321,-1,1006.92,270.843,46.62,86.369,0.9663,-1,-1,-1
851 | 321,-1,475.259,181.725,40.841,51.983,0.909376,-1,-1,-1
852 | 321,-1,454.497,174.532,38.02,71.884,0.830912,-1,-1,-1
853 | 322,-1,461.625,177.086,37.999,56.598,0.947209,-1,-1,-1
854 | 322,-1,1098.1,282.902,49,76.809,0.888505,-1,-1,-1
855 | 322,-1,451.09,170.898,23.227,67.372,0.531006,-1,-1,-1
856 | 323,-1,456.509,173.972,34.927,86.329,0.962425,-1,-1,-1
857 | 323,-1,446.165,170.341,25.72,73.333,0.786636,-1,-1,-1
858 | 323,-1,717.256,167.444,21.879,62.928,0.657731,-1,-1,-1
859 | 324,-1,454.607,176.149,32.997,78.437,0.969711,-1,-1,-1
860 | 324,-1,721.809,166.181,31.627,87.237,0.813505,-1,-1,-1
861 | 324,-1,708.285,166.812,24.605,67.935,0.672521,-1,-1,-1
862 | 325,-1,451.036,169.345,36.612,99.207,0.957983,-1,-1,-1
863 | 325,-1,428.608,169.982,38.972,95.138,0.950704,-1,-1,-1
864 | 325,-1,871.199,232.886,31.229,87.336,0.682499,-1,-1,-1
865 | 325,-1,734.644,159.226,23.445,69.486,0.656459,-1,-1,-1
866 | 326,-1,461.171,170.175,40.901,98.936,0.950082,-1,-1,-1
867 | 326,-1,428.045,182.475,37.906,77.256,0.94764,-1,-1,-1
868 | 326,-1,723.424,156.51,34.486,95.224,0.937426,-1,-1,-1
869 | 326,-1,908.902,259.693,40.67,100.175,0.667526,-1,-1,-1
870 | 327,-1,443.706,181.97,43.254,100.451,0.963885,-1,-1,-1
871 | 327,-1,966.047,254.725,34.773,103.852,0.949458,-1,-1,-1
872 | 327,-1,727.295,170.056,32.643,69.708,0.941633,-1,-1,-1
873 | 327,-1,413.291,189.921,37.403,85.658,0.900128,-1,-1,-1
874 | 328,-1,445.179,178.668,45.512,102.029,0.976526,-1,-1,-1
875 | 328,-1,401.905,175.93,43.111,99.329,0.95474,-1,-1,-1
876 | 328,-1,731.34,155.799,44.663,95.526,0.944364,-1,-1,-1
877 | 328,-1,1018.98,267.07,38.96,90.077,0.692851,-1,-1,-1
878 | 328,-1,713.213,154.013,36.682,83.208,0.63735,-1,-1,-1
879 | 329,-1,431.002,182.294,41.052,109.65,0.977423,-1,-1,-1
880 | 329,-1,1109.8,290.831,45.69,68.635,0.962728,-1,-1,-1
881 | 329,-1,400.561,185.107,42.273,115.404,0.956826,-1,-1,-1
882 | 329,-1,751.616,162.83,28.163,89.154,0.855134,-1,-1,-1
883 | 330,-1,372.348,185.411,54.398,113.311,0.987169,-1,-1,-1
884 | 330,-1,420.694,181.594,49.266,119.67,0.98398,-1,-1,-1
885 | 330,-1,765.72,154.214,33.216,90.351,0.819916,-1,-1,-1
886 | 330,-1,741.972,162.649,30.673,94.343,0.749411,-1,-1,-1
887 | 331,-1,366.524,178.573,41.64,113.291,0.980361,-1,-1,-1
888 | 331,-1,409.838,183.261,48.267,113.522,0.977901,-1,-1,-1
889 | 331,-1,756.891,160.559,33.339,96.705,0.951641,-1,-1,-1
890 | 331,-1,383.191,161.983,53.034,159.51,0.666056,-1,-1,-1
891 | 332,-1,387.145,175.986,62.394,127.896,0.977244,-1,-1,-1
892 | 332,-1,756.721,158.201,47.061,105.596,0.972348,-1,-1,-1
893 | 332,-1,336.087,174.469,52.57,140.808,0.971069,-1,-1,-1
894 | 332,-1,903.998,242.009,34.113,104.024,0.908721,-1,-1,-1
895 | 332,-1,364.153,189.83,41.913,106.135,0.801974,-1,-1,-1
896 | 332,-1,736.224,161.3,37.896,93.063,0.639118,-1,-1,-1
897 | 332,-1,790.486,164.97,27.833,84.069,0.576139,-1,-1,-1
898 | 333,-1,372.902,174.728,58.466,157.008,0.973615,-1,-1,-1
899 | 333,-1,327.709,181.438,42.873,148.296,0.969587,-1,-1,-1
900 | 333,-1,774.81,155.308,43.975,117.189,0.967054,-1,-1,-1
901 | 333,-1,925.983,250.744,36.181,104.125,0.954166,-1,-1,-1
902 | 333,-1,890.311,164.288,49.391,78.512,0.719593,-1,-1,-1
903 | 333,-1,735.252,177.821,32.027,82.384,0.572984,-1,-1,-1
904 | 333,-1,751.414,167.325,36.638,105.729,0.513317,-1,-1,-1
905 | 334,-1,358.908,178.784,46.069,169.626,0.976653,-1,-1,-1
906 | 334,-1,785.701,156.787,49.472,129.836,0.966493,-1,-1,-1
907 | 334,-1,297.436,184.224,55.516,160.807,0.963153,-1,-1,-1
908 | 334,-1,983.883,274.369,39.037,86.545,0.934036,-1,-1,-1
909 | 334,-1,906.268,166.464,42.626,72.488,0.675405,-1,-1,-1
910 | 334,-1,751.745,169.304,27.964,86.893,0.631305,-1,-1,-1
911 | 335,-1,333.381,174.275,63.254,185.871,0.980824,-1,-1,-1
912 | 335,-1,1041.34,289.099,45.82,65.286,0.967167,-1,-1,-1
913 | 335,-1,803.931,161.956,42.271,130.194,0.930257,-1,-1,-1
914 | 335,-1,287.228,188.833,42.927,159.619,0.925312,-1,-1,-1
915 | 335,-1,759.365,169.854,41.835,89.727,0.834337,-1,-1,-1
916 | 335,-1,926.951,174.449,48.93,75.172,0.770715,-1,-1,-1
917 | 336,-1,303.844,186.132,75.016,169.332,0.97492,-1,-1,-1
918 | 336,-1,763.75,163.051,38.035,102.071,0.965448,-1,-1,-1
919 | 336,-1,815.529,155.97,42.933,129.505,0.912646,-1,-1,-1
920 | 336,-1,250.865,188.142,58.447,180.214,0.911233,-1,-1,-1
921 | 336,-1,933.369,175.704,35.19,72.614,0.884073,-1,-1,-1
922 | 336,-1,909.35,169.639,39.966,77.464,0.873233,-1,-1,-1
923 | 337,-1,272.205,177.33,74.397,194.485,0.982882,-1,-1,-1
924 | 337,-1,218.949,184.704,68.044,178.9,0.976111,-1,-1,-1
925 | 337,-1,832.8,147.343,44.537,137.668,0.961095,-1,-1,-1
926 | 337,-1,771.072,161.508,47.499,120.068,0.955929,-1,-1,-1
927 | 337,-1,931.261,169.554,32.876,85.165,0.928855,-1,-1,-1
928 | 337,-1,959.335,170.891,42.185,69.006,0.913654,-1,-1,-1
929 | 338,-1,253.269,183.838,67.667,186.15,0.9912,-1,-1,-1
930 | 338,-1,850.6,146.943,48.522,154.012,0.958671,-1,-1,-1
931 | 338,-1,945.854,173.207,37.451,85.367,0.955694,-1,-1,-1
932 | 338,-1,775.959,154.401,67.155,120.065,0.915547,-1,-1,-1
933 | 338,-1,185.407,163.795,64.228,199.055,0.890077,-1,-1,-1
934 | 338,-1,976.132,180.582,25.248,76.075,0.678133,-1,-1,-1
935 | 339,-1,215.437,170.402,78.078,190.566,0.992256,-1,-1,-1
936 | 339,-1,790.511,144.371,64.979,138.101,0.980998,-1,-1,-1
937 | 339,-1,869.466,148.92,52.135,195.599,0.950098,-1,-1,-1
938 | 339,-1,955.94,176.425,44.08,81.653,0.934038,-1,-1,-1
939 | 339,-1,148.177,166.61,56.285,143.54,0.797657,-1,-1,-1
940 | 339,-1,982.711,173.075,40.159,67.851,0.585985,-1,-1,-1
941 | 340,-1,800.019,139.713,65.685,162.962,0.98916,-1,-1,-1
942 | 340,-1,165.911,173.417,86.205,198.671,0.986945,-1,-1,-1
943 | 340,-1,881.722,140.292,45.963,170.431,0.983809,-1,-1,-1
944 | 340,-1,993.422,167.396,46.518,102.415,0.940571,-1,-1,-1
945 | 340,-1,92.4337,160.702,84.2883,174.359,0.885339,-1,-1,-1
946 |
--------------------------------------------------------------------------------
/data/KITTI-17/det.txt:
--------------------------------------------------------------------------------
1 | 1,-1,477.417,133.575,60.972,206.672,0.985314,-1,-1,-1
2 | 1,-1,387.83,158.467,100.509,182.139,0.97094,-1,-1,-1
3 | 2,-1,417.554,152.34,87.063,188.592,0.990937,-1,-1,-1
4 | 2,-1,499.257,139.014,65.487,203.564,0.990493,-1,-1,-1
5 | 3,-1,498.214,128.481,70.59,200.297,0.995258,-1,-1,-1
6 | 3,-1,424.154,153.412,82.495,189.499,0.986761,-1,-1,-1
7 | 4,-1,439.309,143.884,80.462,208.168,0.994842,-1,-1,-1
8 | 4,-1,518.468,130,55.275,219.953,0.987654,-1,-1,-1
9 | 5,-1,516.955,131.026,86.723,210.707,0.993197,-1,-1,-1
10 | 5,-1,460.852,141.261,60.075,210.584,0.983597,-1,-1,-1
11 | 6,-1,538.367,144.488,63.531,206.507,0.99477,-1,-1,-1
12 | 6,-1,457.382,156.632,89.806,185.123,0.989349,-1,-1,-1
13 | 7,-1,481.114,140.433,71.365,210.658,0.991944,-1,-1,-1
14 | 7,-1,551.227,140.883,64.373,200.49,0.985207,-1,-1,-1
15 | 8,-1,559.924,142.305,58.757,191.829,0.990819,-1,-1,-1
16 | 8,-1,492.365,155.3,70.165,180.783,0.975726,-1,-1,-1
17 | 9,-1,580.236,134.541,52.879,209.277,0.986716,-1,-1,-1
18 | 9,-1,506.963,158.328,67.037,192.508,0.963329,-1,-1,-1
19 | 10,-1,581.56,132.447,63.044,202.526,0.991309,-1,-1,-1
20 | 10,-1,520.272,150.418,76.956,194.572,0.985844,-1,-1,-1
21 | 11,-1,526.89,158.186,84.713,184.466,0.993296,-1,-1,-1
22 | 11,-1,243.122,136.767,55.327,160.776,0.966675,-1,-1,-1
23 | 11,-1,602.995,147.678,59.739,194.772,0.964845,-1,-1,-1
24 | 12,-1,545.382,151.221,84.428,198.4,0.990525,-1,-1,-1
25 | 12,-1,613.926,145.141,62.962,205.249,0.97402,-1,-1,-1
26 | 12,-1,243.57,138.252,64.629,158.576,0.950364,-1,-1,-1
27 | 12,-1,508.681,135.805,34.921,48.726,0.770134,-1,-1,-1
28 | 13,-1,552.147,151.93,109.293,207.661,0.988067,-1,-1,-1
29 | 13,-1,626.171,150.045,71.227,203.925,0.97436,-1,-1,-1
30 | 13,-1,254.982,133.642,67.075,155.124,0.968768,-1,-1,-1
31 | 13,-1,504.996,129.224,31.287,67.245,0.736315,-1,-1,-1
32 | 14,-1,646.888,146.608,53.491,215.831,0.982562,-1,-1,-1
33 | 14,-1,254.132,137.935,80.497,173.445,0.981753,-1,-1,-1
34 | 14,-1,576.705,158.945,80.038,196.511,0.979956,-1,-1,-1
35 | 14,-1,494.432,134.831,32.291,63.705,0.673853,-1,-1,-1
36 | 15,-1,596.462,144.982,78.02,216.909,0.992956,-1,-1,-1
37 | 15,-1,652.59,148.269,68.964,212.625,0.979891,-1,-1,-1
38 | 15,-1,273.951,144.053,73.923,143.043,0.970793,-1,-1,-1
39 | 15,-1,495.056,138.808,30.973,58.889,0.793536,-1,-1,-1
40 | 15,-1,239.144,132.457,35.489,65.558,0.701717,-1,-1,-1
41 | 15,-1,513.07,132.169,34.991,59.766,0.635846,-1,-1,-1
42 | 16,-1,658.277,144.896,72.702,217.059,0.994229,-1,-1,-1
43 | 16,-1,588.158,150.656,85.325,202.332,0.982293,-1,-1,-1
44 | 16,-1,280.721,138.012,79.465,190.828,0.959602,-1,-1,-1
45 | 16,-1,501.933,130.656,35.502,64.356,0.865727,-1,-1,-1
46 | 16,-1,248.412,133.759,35.067,80.21,0.668597,-1,-1,-1
47 | 17,-1,585.944,144.844,134.636,213.981,0.992635,-1,-1,-1
48 | 17,-1,294.363,111.71,84.954,227.787,0.983005,-1,-1,-1
49 | 17,-1,675.009,145.081,79.413,208.379,0.97805,-1,-1,-1
50 | 17,-1,250.117,122.537,56.361,181.917,0.892538,-1,-1,-1
51 | 17,-1,502.042,128.3,32.999,74.613,0.888704,-1,-1,-1
52 | 18,-1,611.526,146.596,95.772,216.648,0.990819,-1,-1,-1
53 | 18,-1,692.732,147.877,72.097,217.009,0.988203,-1,-1,-1
54 | 18,-1,306.292,122.575,96.147,211.919,0.93201,-1,-1,-1
55 | 18,-1,515.683,132.887,29.373,69.346,0.882139,-1,-1,-1
56 | 18,-1,270.158,138.546,49.195,88.054,0.736707,-1,-1,-1
57 | 18,-1,492.035,131.088,35.295,72.246,0.691443,-1,-1,-1
58 | 18,-1,531.568,133.657,34.314,58.537,0.607998,-1,-1,-1
59 | 19,-1,1137.03,152.72,75.94,200.635,0.992521,-1,-1,-1
60 | 19,-1,627.896,154.608,90.639,208.011,0.986729,-1,-1,-1
61 | 19,-1,699.173,147.827,72.027,204.524,0.984407,-1,-1,-1
62 | 19,-1,513.547,146.26,40.269,40.626,0.903117,-1,-1,-1
63 | 19,-1,298.742,97.7595,114.26,232.805,0.632553,-1,-1,-1
64 | 19,-1,269.32,168.094,49.147,162.952,0.580045,-1,-1,-1
65 | 20,-1,1110.97,147.083,93.93,204.555,0.989922,-1,-1,-1
66 | 20,-1,655.651,150.686,71.216,204.238,0.988635,-1,-1,-1
67 | 20,-1,717.646,133.151,64.105,204.442,0.982856,-1,-1,-1
68 | 20,-1,341.731,139.206,69.428,173.432,0.966457,-1,-1,-1
69 | 20,-1,501.043,139.33,38.015,56.837,0.92032,-1,-1,-1
70 | 20,-1,270.223,136.66,73.055,205.994,0.900745,-1,-1,-1
71 | 20,-1,527.618,128.109,29.106,76.934,0.826132,-1,-1,-1
72 | 21,-1,1065.35,137.664,109.9,204.279,0.994954,-1,-1,-1
73 | 21,-1,661.086,144.409,80.13,223.942,0.986304,-1,-1,-1
74 | 21,-1,352.263,126.622,74.738,210.318,0.986061,-1,-1,-1
75 | 21,-1,262.748,129.176,86.378,201.011,0.978803,-1,-1,-1
76 | 21,-1,715.351,137.086,89.3,229.777,0.955809,-1,-1,-1
77 | 21,-1,505.778,131.401,41.021,69.075,0.947781,-1,-1,-1
78 | 21,-1,488.333,141.133,38.818,47.775,0.618705,-1,-1,-1
79 | 22,-1,1020.95,156.635,124.72,212.365,0.998364,-1,-1,-1
80 | 22,-1,360.28,139.031,78.158,202.284,0.99343,-1,-1,-1
81 | 22,-1,672.848,152.484,125.333,202.009,0.992134,-1,-1,-1
82 | 22,-1,287.509,141.523,75.143,195.33,0.984796,-1,-1,-1
83 | 22,-1,502.857,130.311,41.631,71.539,0.910746,-1,-1,-1
84 | 23,-1,988.488,153.99,128.762,215.01,0.997118,-1,-1,-1
85 | 23,-1,694.397,150.384,116.378,212.948,0.992191,-1,-1,-1
86 | 23,-1,389.495,129.369,83.391,199.016,0.972051,-1,-1,-1
87 | 23,-1,303.499,125.414,70.802,208.935,0.971455,-1,-1,-1
88 | 23,-1,770.41,151.174,64.048,178.105,0.939877,-1,-1,-1
89 | 23,-1,514.385,126.464,40.932,71.341,0.903706,-1,-1,-1
90 | 24,-1,972.444,152.777,100.536,216.223,0.997928,-1,-1,-1
91 | 24,-1,702.512,143.946,123.666,225.054,0.987845,-1,-1,-1
92 | 24,-1,395.217,148.407,79.41,175.846,0.986072,-1,-1,-1
93 | 24,-1,780.052,145.273,73.945,211.387,0.985581,-1,-1,-1
94 | 24,-1,311.56,138.404,82.799,192.662,0.983229,-1,-1,-1
95 | 24,-1,516.884,137.63,24.976,64.221,0.902676,-1,-1,-1
96 | 25,-1,729.324,144.667,84.494,213.094,0.993443,-1,-1,-1
97 | 25,-1,788.849,146.521,78.937,211.443,0.992757,-1,-1,-1
98 | 25,-1,320.087,117.802,88.738,221.897,0.990407,-1,-1,-1
99 | 25,-1,940.321,154.884,95.799,198.341,0.98638,-1,-1,-1
100 | 25,-1,386.62,135.074,93.712,190.873,0.985291,-1,-1,-1
101 | 25,-1,520.736,127.93,27.358,62.127,0.865737,-1,-1,-1
102 | 26,-1,926.931,148.619,77.109,216.247,0.996362,-1,-1,-1
103 | 26,-1,748.49,144.39,89.364,211.453,0.989616,-1,-1,-1
104 | 26,-1,335.219,127.673,73.016,203.758,0.983305,-1,-1,-1
105 | 26,-1,815.872,140.195,65.675,209.279,0.979055,-1,-1,-1
106 | 26,-1,435.049,145.554,67.023,178.154,0.949972,-1,-1,-1
107 | 26,-1,502.273,143.12,46.092,45.576,0.867716,-1,-1,-1
108 | 26,-1,533.604,127.301,27.433,66.101,0.604577,-1,-1,-1
109 | 27,-1,743.485,148.442,120.698,206.747,0.996165,-1,-1,-1
110 | 27,-1,441.556,134.29,65.14,198.513,0.994304,-1,-1,-1
111 | 27,-1,337.845,128.873,80.866,204.999,0.991101,-1,-1,-1
112 | 27,-1,898.43,147.046,92.126,219.091,0.987951,-1,-1,-1
113 | 27,-1,828.334,130.409,72.911,229.751,0.981773,-1,-1,-1
114 | 27,-1,512.341,129.576,26.788,74.707,0.869709,-1,-1,-1
115 | 27,-1,532.829,130.121,30.182,68.35,0.665174,-1,-1,-1
116 | 28,-1,748.634,162.24,137.411,186.881,0.997454,-1,-1,-1
117 | 28,-1,344.589,126.85,91.976,218.63,0.993603,-1,-1,-1
118 | 28,-1,442.262,142.387,80.652,187.248,0.993461,-1,-1,-1
119 | 28,-1,865.642,153.789,85.54,212.906,0.992316,-1,-1,-1
120 | 28,-1,518.638,136.811,30.306,71.435,0.88073,-1,-1,-1
121 | 29,-1,762.447,163.491,145.149,193.519,0.995288,-1,-1,-1
122 | 29,-1,468.135,144.483,64.049,189.614,0.993769,-1,-1,-1
123 | 29,-1,868.531,139.971,77.598,215.89,0.990386,-1,-1,-1
124 | 29,-1,374.811,126.193,69.982,212.189,0.977368,-1,-1,-1
125 | 29,-1,525.647,133.665,35.183,58.551,0.798725,-1,-1,-1
126 | 29,-1,511.892,143.208,28.809,65.25,0.513312,-1,-1,-1
127 | 30,-1,382.504,133.699,69.255,212.322,0.990416,-1,-1,-1
128 | 30,-1,878.396,143.56,85.858,202.131,0.989074,-1,-1,-1
129 | 30,-1,805.042,156.973,85.717,203.859,0.988266,-1,-1,-1
130 | 30,-1,489.141,134.497,62.357,210.521,0.96237,-1,-1,-1
131 | 31,-1,390.194,137.987,82.269,216.46,0.991865,-1,-1,-1
132 | 31,-1,867.058,147.418,131.861,204.437,0.988828,-1,-1,-1
133 | 31,-1,498.253,148.267,58.864,190.287,0.981512,-1,-1,-1
134 | 31,-1,800.032,168.723,82.96,177.158,0.974406,-1,-1,-1
135 | 32,-1,389.901,131.531,85.163,205.883,0.996101,-1,-1,-1
136 | 32,-1,765.883,171.614,84.49,185.265,0.993425,-1,-1,-1
137 | 32,-1,507.498,144.881,54.033,185.281,0.992058,-1,-1,-1
138 | 32,-1,840.814,142.029,123.886,226.545,0.991394,-1,-1,-1
139 | 32,-1,918.373,146.86,76.194,166.791,0.907112,-1,-1,-1
140 | 33,-1,424.416,131.801,70.769,204.587,0.995888,-1,-1,-1
141 | 33,-1,751.619,157.832,72.877,211.017,0.994081,-1,-1,-1
142 | 33,-1,868.265,142.329,119.326,226.671,0.99356,-1,-1,-1
143 | 33,-1,525.025,141.447,55.195,205.208,0.992997,-1,-1,-1
144 | 33,-1,942.308,142.163,81.842,224.503,0.957417,-1,-1,-1
145 | 34,-1,532.358,144.919,81.585,189.841,0.997954,-1,-1,-1
146 | 34,-1,887.07,143.79,171.59,225.21,0.996937,-1,-1,-1
147 | 34,-1,436.256,127.446,63.382,213.095,0.99496,-1,-1,-1
148 | 34,-1,738.448,152.243,69.452,207.5,0.991548,-1,-1,-1
149 | 35,-1,707.22,154.089,90.47,202.049,0.995786,-1,-1,-1
150 | 35,-1,925.908,145.876,147.292,219.278,0.995388,-1,-1,-1
151 | 35,-1,544.032,143.082,77.202,203.875,0.994122,-1,-1,-1
152 | 35,-1,440.362,118.205,76.234,227.972,0.983383,-1,-1,-1
153 | 36,-1,942.39,138.025,161.9,230.975,0.997991,-1,-1,-1
154 | 36,-1,454.249,124.12,83.205,229.849,0.995744,-1,-1,-1
155 | 36,-1,561.419,152.062,68.536,190.918,0.994899,-1,-1,-1
156 | 36,-1,680.844,154.073,97.462,191.754,0.99227,-1,-1,-1
157 | 37,-1,968.99,140.467,140.87,228.533,0.99535,-1,-1,-1
158 | 37,-1,675.849,165.272,66.87,194.889,0.991089,-1,-1,-1
159 | 37,-1,468.679,133.923,75.469,208.105,0.987769,-1,-1,-1
160 | 37,-1,581.011,157.905,60.337,203.258,0.987422,-1,-1,-1
161 | 38,-1,997.483,150.978,135.027,205.389,0.997767,-1,-1,-1
162 | 38,-1,586.995,154.427,73.444,195.013,0.990785,-1,-1,-1
163 | 38,-1,486.675,137.87,68.312,209.231,0.98775,-1,-1,-1
164 | 38,-1,653.762,154.102,63.101,189.665,0.986379,-1,-1,-1
165 | 39,-1,1011.26,138.367,172.94,226.287,0.997312,-1,-1,-1
166 | 39,-1,499.05,139.897,68.148,211.013,0.996044,-1,-1,-1
167 | 39,-1,600.548,148.505,96.849,209.797,0.993612,-1,-1,-1
168 | 40,-1,1057.39,146.303,148.7,215.955,0.996407,-1,-1,-1
169 | 40,-1,522.413,134.241,70.71,191.788,0.994969,-1,-1,-1
170 | 40,-1,616.444,156.134,90.486,187.179,0.987612,-1,-1,-1
171 | 41,-1,1068.75,145.787,154.25,201.555,0.998598,-1,-1,-1
172 | 41,-1,524.907,149.078,79.776,217.432,0.994079,-1,-1,-1
173 | 41,-1,637.447,145.925,78.934,199.364,0.992091,-1,-1,-1
174 | 41,-1,591.065,151.068,52.421,182.831,0.833123,-1,-1,-1
175 | 42,-1,1107.31,136.34,115.69,228.602,0.999023,-1,-1,-1
176 | 42,-1,531.8,143.894,116.306,210.931,0.995722,-1,-1,-1
177 | 42,-1,648.454,146.365,67.038,198.678,0.994891,-1,-1,-1
178 | 43,-1,672.193,156.895,67.921,201.577,0.995798,-1,-1,-1
179 | 43,-1,549.815,146.834,85.677,197.886,0.992412,-1,-1,-1
180 | 43,-1,1142.75,157.674,80.25,197.761,0.966967,-1,-1,-1
181 | 44,-1,664.2,143.295,104.465,222.849,0.99581,-1,-1,-1
182 | 44,-1,599.835,139.36,56.164,201.788,0.985223,-1,-1,-1
183 | 44,-1,527.615,158.161,87.116,196.663,0.98484,-1,-1,-1
184 | 44,-1,1170.61,133.584,52.39,226.25,0.560709,-1,-1,-1
185 | 45,-1,691.284,159.42,88.546,194.804,0.998416,-1,-1,-1
186 | 45,-1,591.165,125.296,85.368,242.417,0.993842,-1,-1,-1
187 | 45,-1,510.245,151.442,65.342,174.842,0.960311,-1,-1,-1
188 | 46,-1,706.798,152.322,90.844,205.441,0.998464,-1,-1,-1
189 | 46,-1,620.12,139.133,73.071,214.819,0.992269,-1,-1,-1
190 | 46,-1,494.915,136.342,67.32,195.538,0.977863,-1,-1,-1
191 | 46,-1,562.174,152.628,26.421,71.81,0.85485,-1,-1,-1
192 | 47,-1,717.099,150.498,90.195,214.998,0.997254,-1,-1,-1
193 | 47,-1,633.931,119.265,77.598,243.723,0.997102,-1,-1,-1
194 | 47,-1,488.178,148.003,53.256,176.662,0.976217,-1,-1,-1
195 | 47,-1,559.84,148.612,29.018,64.534,0.925171,-1,-1,-1
196 | 47,-1,597.467,153.221,32.613,53.993,0.558801,-1,-1,-1
197 | 48,-1,630.278,138.088,112.607,222.466,0.997115,-1,-1,-1
198 | 48,-1,735.071,140.816,83.664,223.865,0.995783,-1,-1,-1
199 | 48,-1,454.795,132.81,62.723,203.719,0.945832,-1,-1,-1
200 | 48,-1,559.51,147.494,25.872,79.694,0.904358,-1,-1,-1
201 | 48,-1,574.452,143.956,24.929,66.003,0.851921,-1,-1,-1
202 | 48,-1,588.797,144.91,24.624,69.027,0.841466,-1,-1,-1
203 | 48,-1,533.806,144.233,19.845,71.179,0.662942,-1,-1,-1
204 | 48,-1,548.394,140.58,21.41,84.429,0.589504,-1,-1,-1
205 | 49,-1,668.334,123.71,87.174,245.29,0.996213,-1,-1,-1
206 | 49,-1,416.018,152.786,103.779,171.755,0.993063,-1,-1,-1
207 | 49,-1,755.935,138.66,88.104,220.974,0.981243,-1,-1,-1
208 | 49,-1,572.487,143.751,27.706,64.24,0.895957,-1,-1,-1
209 | 49,-1,550.33,136.128,31.468,74.17,0.836923,-1,-1,-1
210 | 49,-1,530.424,141.267,22.285,65.133,0.774813,-1,-1,-1
211 | 49,-1,591.873,141.278,25.24,80.423,0.715537,-1,-1,-1
212 | 50,-1,766.261,136.971,93.724,220.035,0.995611,-1,-1,-1
213 | 50,-1,685.558,120.277,78.265,246.681,0.992815,-1,-1,-1
214 | 50,-1,410.098,147.151,79.725,183.971,0.972143,-1,-1,-1
215 | 50,-1,578.095,144.506,30.575,70.431,0.914374,-1,-1,-1
216 | 50,-1,520.567,139.448,24.057,66.929,0.899085,-1,-1,-1
217 | 50,-1,594.672,146.489,30.741,59.498,0.806166,-1,-1,-1
218 | 50,-1,536.372,138.439,23.81,78.919,0.80524,-1,-1,-1
219 | 51,-1,794.526,133.007,85.322,235.608,0.997255,-1,-1,-1
220 | 51,-1,695.415,114.435,98.371,253.983,0.975761,-1,-1,-1
221 | 51,-1,383.425,126.011,86.676,205.861,0.949157,-1,-1,-1
222 | 51,-1,582.245,135.844,33.273,70.602,0.887017,-1,-1,-1
223 | 51,-1,534.313,136.536,37.751,85.175,0.836034,-1,-1,-1
224 | 51,-1,524.289,133.755,25.181,74.838,0.802809,-1,-1,-1
225 | 51,-1,564.675,139.489,24.284,73.977,0.748594,-1,-1,-1
226 | 52,-1,703.688,105.948,112.8,263.052,0.997783,-1,-1,-1
227 | 52,-1,828.156,142.905,78.301,215.034,0.995528,-1,-1,-1
228 | 52,-1,367.055,143.016,83.904,191.641,0.985572,-1,-1,-1
229 | 52,-1,578.341,145.712,36.82,77.48,0.949827,-1,-1,-1
230 | 52,-1,535.956,135.051,35.922,82.551,0.84673,-1,-1,-1
231 | 52,-1,564.779,139.075,27.248,73.332,0.730768,-1,-1,-1
232 | 52,-1,599.034,148.015,30.139,56.98,0.715715,-1,-1,-1
233 | 52,-1,511.359,134.151,29.752,73.584,0.585065,-1,-1,-1
234 | 53,-1,726.978,118.022,101.212,244.741,0.995348,-1,-1,-1
235 | 53,-1,850.706,136.374,80.494,221.563,0.995169,-1,-1,-1
236 | 53,-1,318.497,111.191,131.789,236.28,0.948754,-1,-1,-1
237 | 53,-1,579.058,151.016,32.942,74.502,0.910853,-1,-1,-1
238 | 53,-1,528.146,138.538,31.072,69.678,0.872469,-1,-1,-1
239 | 53,-1,593.676,145.814,38.03,62.231,0.845746,-1,-1,-1
240 | 53,-1,565.1,143.672,23.575,67.548,0.668562,-1,-1,-1
241 | 53,-1,512.566,139.762,28.05,65.914,0.536471,-1,-1,-1
242 | 54,-1,745.983,124.023,102.145,244.977,0.997919,-1,-1,-1
243 | 54,-1,870.653,134.054,75.538,216.489,0.995822,-1,-1,-1
244 | 54,-1,310.242,99.166,128.243,237.819,0.962206,-1,-1,-1
245 | 54,-1,530.274,131.939,25.136,68.32,0.879063,-1,-1,-1
246 | 54,-1,583.6,142.075,28.632,67.676,0.857445,-1,-1,-1
247 | 54,-1,540.941,138.053,34.679,82.585,0.843777,-1,-1,-1
248 | 54,-1,563.426,138.679,30.664,80.509,0.614124,-1,-1,-1
249 | 54,-1,514.766,141.941,26.131,61.739,0.503103,-1,-1,-1
250 | 55,-1,769.858,107.945,102.217,261.055,0.997446,-1,-1,-1
251 | 55,-1,882.91,140.764,121.02,205.868,0.996003,-1,-1,-1
252 | 55,-1,521.771,130.491,37.499,81.474,0.924019,-1,-1,-1
253 | 55,-1,590.268,136.244,38.261,82.9,0.830351,-1,-1,-1
254 | 55,-1,318.106,108.897,80.215,214.366,0.737786,-1,-1,-1
255 | 55,-1,557.657,138.009,24.747,74.703,0.629271,-1,-1,-1
256 | 56,-1,899.947,148.34,148.363,209.051,0.997479,-1,-1,-1
257 | 56,-1,788.471,117.302,117.823,233.653,0.997273,-1,-1,-1
258 | 56,-1,311.72,139.538,71.491,190.195,0.99477,-1,-1,-1
259 | 56,-1,530.251,137.539,28.929,68.805,0.956887,-1,-1,-1
260 | 56,-1,600.824,142.103,35.107,77.989,0.875682,-1,-1,-1
261 | 56,-1,547.446,132.487,31.236,77.447,0.826384,-1,-1,-1
262 | 56,-1,580.754,138.847,36.525,67.971,0.625784,-1,-1,-1
263 | 57,-1,819.915,106.998,104.566,262.002,0.997379,-1,-1,-1
264 | 57,-1,932.856,135.16,116.724,227.899,0.996656,-1,-1,-1
265 | 57,-1,281.032,130.045,91.085,195.839,0.985281,-1,-1,-1
266 | 57,-1,535.044,140.647,37.902,83.108,0.9303,-1,-1,-1
267 | 57,-1,598.533,146.675,32.67,75.117,0.91543,-1,-1,-1
268 | 57,-1,557.46,140.02,36.731,87.04,0.635052,-1,-1,-1
269 | 57,-1,580.164,143.982,31.669,65.662,0.517928,-1,-1,-1
270 | 58,-1,961.707,145.285,133.873,197.583,0.998042,-1,-1,-1
271 | 58,-1,845.245,107.066,95.13,261.012,0.99724,-1,-1,-1
272 | 58,-1,274.905,137.502,88.692,199.365,0.978221,-1,-1,-1
273 | 58,-1,533.033,133.183,34.643,78.65,0.921729,-1,-1,-1
274 | 58,-1,600.818,142.017,35.51,82.449,0.879731,-1,-1,-1
275 | 58,-1,554.945,133.698,38.526,88.521,0.795551,-1,-1,-1
276 | 58,-1,581.23,142.788,36.94,67.136,0.520343,-1,-1,-1
277 | 59,-1,999.051,129.547,94.239,205.522,0.996783,-1,-1,-1
278 | 59,-1,855.987,116.014,127.586,244.632,0.996181,-1,-1,-1
279 | 59,-1,262.583,130.475,74.561,214.264,0.987222,-1,-1,-1
280 | 59,-1,540.516,129.632,35.967,78.384,0.943728,-1,-1,-1
281 | 59,-1,600.625,144.584,31.864,75.516,0.809646,-1,-1,-1
282 | 60,-1,902.047,104.474,103.113,264.526,0.997961,-1,-1,-1
283 | 60,-1,1035.4,142.667,83.44,193.376,0.993725,-1,-1,-1
284 | 60,-1,250.727,142.001,73.609,173.266,0.992396,-1,-1,-1
285 | 60,-1,544.754,141.008,36.756,81.468,0.949773,-1,-1,-1
286 | 60,-1,601.386,142.208,36.163,87.953,0.808993,-1,-1,-1
287 | 60,-1,573.333,141.632,37.051,70.16,0.668701,-1,-1,-1
288 | 61,-1,924.877,97.7567,123.493,263.338,0.998709,-1,-1,-1
289 | 61,-1,1061.66,146.278,87.62,178.913,0.995757,-1,-1,-1
290 | 61,-1,541.092,131.498,35.785,77.753,0.944162,-1,-1,-1
291 | 61,-1,606.545,150.135,33.47,79.974,0.839865,-1,-1,-1
292 | 61,-1,576.546,144.592,29.962,78.257,0.71402,-1,-1,-1
293 | 62,-1,1099.53,147.434,88.72,186.917,0.996306,-1,-1,-1
294 | 62,-1,947.615,97.7506,116.465,268.017,0.995907,-1,-1,-1
295 | 62,-1,614.086,157.72,37.111,73.738,0.935915,-1,-1,-1
296 | 62,-1,557.626,138.363,33.138,81.839,0.864147,-1,-1,-1
297 | 62,-1,542.072,131.627,30.623,81.063,0.593382,-1,-1,-1
298 | 63,-1,981.419,89.2527,133.391,278.249,0.996812,-1,-1,-1
299 | 63,-1,1132.98,127.26,90.02,228.502,0.993643,-1,-1,-1
300 | 63,-1,541.336,140.813,34.365,72.155,0.942259,-1,-1,-1
301 | 63,-1,606.831,154.104,43.971,85.722,0.939383,-1,-1,-1
302 | 63,-1,575.272,155.886,33.356,61.747,0.591051,-1,-1,-1
303 | 64,-1,1018.74,102.729,120.44,265.196,0.994183,-1,-1,-1
304 | 64,-1,1166.79,132.34,56.21,232.583,0.992251,-1,-1,-1
305 | 64,-1,550.058,137.777,33.132,82.226,0.935987,-1,-1,-1
306 | 64,-1,619.789,150.946,33.714,79.074,0.910749,-1,-1,-1
307 | 64,-1,566.901,138.776,40.517,92.279,0.850669,-1,-1,-1
308 | 64,-1,530.121,141.056,31.708,69.493,0.544124,-1,-1,-1
309 | 65,-1,1045.98,97.8839,134.98,271.116,0.995377,-1,-1,-1
310 | 65,-1,542.282,138.03,32.937,72.674,0.909059,-1,-1,-1
311 | 65,-1,561.354,134.64,32.358,73.38,0.882666,-1,-1,-1
312 | 65,-1,622.936,141.5,42.527,99.509,0.505498,-1,-1,-1
313 | 66,-1,1080.9,96.2023,142.1,258.015,0.996625,-1,-1,-1
314 | 66,-1,626.89,151.208,46.554,99.93,0.941827,-1,-1,-1
315 | 66,-1,568.385,139.31,31.259,86.274,0.929489,-1,-1,-1
316 | 66,-1,549.254,136.818,32.294,83.468,0.910696,-1,-1,-1
317 | 67,-1,1132.48,115.64,90.52,253.36,0.983466,-1,-1,-1
318 | 67,-1,632.658,147.922,53.97,101.454,0.980625,-1,-1,-1
319 | 67,-1,570.915,140.71,30.199,80.849,0.947375,-1,-1,-1
320 | 67,-1,543.621,140.406,40.053,77.973,0.889698,-1,-1,-1
321 | 68,-1,636.335,149.298,46.891,107.579,0.984139,-1,-1,-1
322 | 68,-1,1173.02,155.116,49.98,212.538,0.94388,-1,-1,-1
323 | 68,-1,564.02,130.024,35.144,90.963,0.911028,-1,-1,-1
324 | 68,-1,547.656,138.762,30.17,75.929,0.873519,-1,-1,-1
325 | 69,-1,636.281,142.603,49.68,117.004,0.985381,-1,-1,-1
326 | 69,-1,557.126,137.461,36.877,87.9,0.847137,-1,-1,-1
327 | 69,-1,540.961,139.333,26.896,79.399,0.552473,-1,-1,-1
328 | 70,-1,642.763,144.576,48.086,112.445,0.988713,-1,-1,-1
329 | 70,-1,550.616,138.93,27.603,70.242,0.841119,-1,-1,-1
330 | 70,-1,571.3,139.054,37.614,87.891,0.778405,-1,-1,-1
331 | 70,-1,593.199,147.587,31.063,80.218,0.566084,-1,-1,-1
332 | 71,-1,646.492,150.295,47.819,108.389,0.986628,-1,-1,-1
333 | 71,-1,547.705,136.677,28.626,72.633,0.91078,-1,-1,-1
334 | 71,-1,568.856,131.044,39.56,96.536,0.825951,-1,-1,-1
335 | 71,-1,595.562,154.669,32.026,71.598,0.657272,-1,-1,-1
336 | 72,-1,649.906,152.669,47.516,107.076,0.983221,-1,-1,-1
337 | 72,-1,539.016,142.354,28.552,68.253,0.883516,-1,-1,-1
338 | 72,-1,557.269,143.097,30.208,78.13,0.839922,-1,-1,-1
339 | 72,-1,598.516,153.791,28.409,69.451,0.766545,-1,-1,-1
340 | 72,-1,577.131,131.926,28.209,90.454,0.637434,-1,-1,-1
341 | 73,-1,655.947,151.935,48.564,104.215,0.991031,-1,-1,-1
342 | 73,-1,548.063,137.922,30.003,71.708,0.83926,-1,-1,-1
343 | 73,-1,591.058,146.006,29.388,78.916,0.829215,-1,-1,-1
344 | 74,-1,659.99,151.303,52.953,108.713,0.989688,-1,-1,-1
345 | 74,-1,594.672,139.563,28.973,77.715,0.768182,-1,-1,-1
346 | 74,-1,542.78,136.862,51.949,97.593,0.754138,-1,-1,-1
347 | 75,-1,671.963,153.689,48.971,99.237,0.974804,-1,-1,-1
348 | 75,-1,598.139,141.329,27.745,68.673,0.918353,-1,-1,-1
349 | 75,-1,553.026,134.749,35.439,81.864,0.891484,-1,-1,-1
350 | 76,-1,673.82,147.678,55.561,118.795,0.983847,-1,-1,-1
351 | 76,-1,600.14,148.823,32.633,67.8,0.948514,-1,-1,-1
352 | 76,-1,553.984,139.594,39.571,91.332,0.932204,-1,-1,-1
353 | 77,-1,688.474,159.334,54.741,109.011,0.984013,-1,-1,-1
354 | 77,-1,553.918,145.54,32.185,81.059,0.970857,-1,-1,-1
355 | 77,-1,598.461,157.012,30.859,75.439,0.939432,-1,-1,-1
356 | 78,-1,689.907,156.46,50.789,113.282,0.976419,-1,-1,-1
357 | 78,-1,551.819,136.928,41.667,87.221,0.974012,-1,-1,-1
358 | 78,-1,609.405,143.372,27.771,65.526,0.958913,-1,-1,-1
359 | 79,-1,699.926,146.418,46.174,142.917,0.978794,-1,-1,-1
360 | 79,-1,553.272,134.296,37.167,96.473,0.971058,-1,-1,-1
361 | 79,-1,607.33,139.691,34.081,73.011,0.945,-1,-1,-1
362 | 79,-1,670.111,150.023,31.969,82.845,0.649826,-1,-1,-1
363 | 80,-1,698.942,153.656,64.629,124.252,0.986537,-1,-1,-1
364 | 80,-1,559.362,139.515,36.191,90.556,0.958294,-1,-1,-1
365 | 80,-1,663.059,148.6,41.02,93.134,0.900167,-1,-1,-1
366 | 80,-1,604.929,149.629,34.642,76.225,0.86652,-1,-1,-1
367 | 81,-1,709.675,153.762,54.559,134.541,0.984462,-1,-1,-1
368 | 81,-1,557.339,131.079,37.949,101.88,0.966391,-1,-1,-1
369 | 81,-1,674.824,159.005,29.508,84.866,0.889064,-1,-1,-1
370 | 81,-1,618.981,147.77,30.088,74.474,0.877249,-1,-1,-1
371 | 82,-1,703.327,141.126,74.091,164.636,0.984548,-1,-1,-1
372 | 82,-1,547.114,134.465,61.025,104.567,0.949922,-1,-1,-1
373 | 82,-1,620.995,153.257,31.135,71.572,0.944156,-1,-1,-1
374 | 82,-1,680.338,149.184,32.72,86.316,0.770752,-1,-1,-1
375 | 83,-1,719.446,152.799,60.055,140.649,0.986426,-1,-1,-1
376 | 83,-1,547.987,131.092,62.305,93.957,0.952284,-1,-1,-1
377 | 83,-1,616.814,134.089,38.101,96.17,0.851617,-1,-1,-1
378 | 83,-1,675.841,140.711,31.458,87.937,0.645096,-1,-1,-1
379 | 84,-1,735.708,131.118,60.958,176.803,0.988403,-1,-1,-1
380 | 84,-1,625.38,150.357,30.227,83.827,0.917445,-1,-1,-1
381 | 84,-1,684.736,149.532,29.111,81.657,0.9095,-1,-1,-1
382 | 84,-1,554.205,125.757,43.253,110.001,0.757334,-1,-1,-1
383 | 85,-1,732.717,127.852,75.079,167.785,0.986208,-1,-1,-1
384 | 85,-1,560.835,131.66,44.91,104.489,0.975554,-1,-1,-1
385 | 85,-1,635.501,154.667,31.233,72.515,0.940865,-1,-1,-1
386 | 85,-1,674.92,151.275,38.783,76.814,0.892694,-1,-1,-1
387 | 85,-1,614.369,146.393,35.787,79.586,0.585745,-1,-1,-1
388 | 86,-1,738.349,140.039,62.879,178.244,0.989647,-1,-1,-1
389 | 86,-1,550.883,136.964,59.522,102.061,0.965281,-1,-1,-1
390 | 86,-1,626.562,151.267,40.384,89.635,0.964573,-1,-1,-1
391 | 86,-1,682.604,162.645,36.059,70.705,0.922638,-1,-1,-1
392 | 86,-1,653.654,145.007,26.904,82.269,0.511496,-1,-1,-1
393 | 87,-1,753.372,137.504,60.975,173.911,0.990948,-1,-1,-1
394 | 87,-1,574.209,127.306,40.472,111.504,0.988132,-1,-1,-1
395 | 87,-1,633.102,145.374,33.687,90.099,0.972985,-1,-1,-1
396 | 87,-1,689.849,140.446,36.718,97.899,0.861611,-1,-1,-1
397 | 88,-1,758.468,139.094,67.162,168.459,0.988624,-1,-1,-1
398 | 88,-1,571.437,120.784,40.121,109.523,0.965277,-1,-1,-1
399 | 88,-1,634.949,148.354,37.751,89.53,0.963649,-1,-1,-1
400 | 88,-1,690.453,151.616,33.785,77.63,0.933231,-1,-1,-1
401 | 89,-1,773.43,138.612,59.61,177.032,0.984012,-1,-1,-1
402 | 89,-1,695.334,152.716,35.471,92.685,0.96068,-1,-1,-1
403 | 89,-1,567.897,122.833,44.139,120.337,0.958825,-1,-1,-1
404 | 89,-1,638.529,145.676,34.799,87.919,0.953511,-1,-1,-1
405 | 90,-1,789.827,144.146,57.859,182.375,0.989305,-1,-1,-1
406 | 90,-1,567.579,130.542,50.966,113.71,0.980857,-1,-1,-1
407 | 90,-1,684.049,148.853,47.762,85.01,0.939045,-1,-1,-1
408 | 90,-1,630.123,151.245,33.476,95.305,0.879198,-1,-1,-1
409 | 91,-1,779.031,143.52,71.174,183.654,0.993431,-1,-1,-1
410 | 91,-1,576.744,132.585,42.816,109.469,0.986212,-1,-1,-1
411 | 91,-1,708.63,151.461,38.007,78.276,0.938992,-1,-1,-1
412 | 91,-1,640.758,146.873,34.669,92.122,0.833459,-1,-1,-1
413 | 92,-1,797.405,140.931,60.239,192.696,0.990967,-1,-1,-1
414 | 92,-1,572.597,136.29,54.747,111.532,0.987429,-1,-1,-1
415 | 92,-1,638.117,144.1,39.616,98.722,0.864331,-1,-1,-1
416 | 92,-1,700.525,142.881,34.418,83.75,0.703711,-1,-1,-1
417 | 93,-1,813.072,143.874,63.319,193.922,0.991621,-1,-1,-1
418 | 93,-1,707.345,160.354,39.664,82.912,0.980087,-1,-1,-1
419 | 93,-1,577.221,135.674,56.974,109.662,0.979199,-1,-1,-1
420 | 93,-1,636.005,146.776,38.28,100.61,0.914976,-1,-1,-1
421 | 94,-1,586.379,130.334,49.466,117.255,0.985393,-1,-1,-1
422 | 94,-1,823.628,141.122,73.818,192.471,0.98313,-1,-1,-1
423 | 94,-1,712.873,156.799,50.181,80.861,0.957801,-1,-1,-1
424 | 94,-1,632.668,156.988,39.664,74.691,0.767599,-1,-1,-1
425 | 95,-1,839.686,134.079,72.547,194.68,0.987511,-1,-1,-1
426 | 95,-1,588.028,133.166,48.895,108.939,0.981221,-1,-1,-1
427 | 95,-1,714.929,154.66,39.606,86.693,0.939747,-1,-1,-1
428 | 95,-1,641.11,148.759,39.963,95.254,0.879061,-1,-1,-1
429 | 96,-1,852.643,147.416,78.851,194.369,0.994956,-1,-1,-1
430 | 96,-1,593.76,136.876,44.087,113.766,0.983705,-1,-1,-1
431 | 96,-1,637.614,151.691,42.621,101.51,0.97586,-1,-1,-1
432 | 96,-1,717.524,146.6,39.34,103.31,0.921816,-1,-1,-1
433 | 97,-1,852.848,153.949,90.16,190.29,0.985474,-1,-1,-1
434 | 97,-1,592.898,129.74,44.709,122.129,0.984277,-1,-1,-1
435 | 97,-1,728.481,152.233,42.243,106.13,0.980086,-1,-1,-1
436 | 97,-1,646.148,153.807,37.889,100.447,0.968226,-1,-1,-1
437 | 98,-1,877.911,139.452,74.027,215.719,0.991114,-1,-1,-1
438 | 98,-1,598.994,126.541,42.926,127.119,0.985908,-1,-1,-1
439 | 98,-1,731.704,152.444,39.754,88.65,0.983724,-1,-1,-1
440 | 98,-1,641.978,147.71,35.514,102.548,0.964437,-1,-1,-1
441 | 99,-1,902.77,153.341,68.621,192.818,0.989579,-1,-1,-1
442 | 99,-1,641.889,151.007,43.651,105.785,0.969977,-1,-1,-1
443 | 99,-1,600.013,143.143,39.303,103.943,0.969326,-1,-1,-1
444 | 99,-1,731.216,160.743,45.056,92.857,0.949957,-1,-1,-1
445 | 100,-1,912.866,150.211,68.484,199.903,0.995878,-1,-1,-1
446 | 100,-1,595.423,128.074,54.26,127.575,0.968553,-1,-1,-1
447 | 100,-1,736.496,159.963,41.026,85.976,0.965925,-1,-1,-1
448 | 100,-1,643.46,135.422,42.074,121.798,0.956654,-1,-1,-1
449 | 101,-1,909.911,154.895,92.459,194.59,0.997635,-1,-1,-1
450 | 101,-1,605.487,136.37,46.751,130.172,0.973259,-1,-1,-1
451 | 101,-1,653,153.628,41.547,113.574,0.970898,-1,-1,-1
452 | 101,-1,752.864,157.921,39.072,86.183,0.929102,-1,-1,-1
453 | 102,-1,926.038,154.175,105.292,210.026,0.996549,-1,-1,-1
454 | 102,-1,604.917,128.148,52.578,133.349,0.982595,-1,-1,-1
455 | 102,-1,742.184,155.761,53.127,93.452,0.961152,-1,-1,-1
456 | 102,-1,656.445,148.399,39.607,121.284,0.958055,-1,-1,-1
457 | 103,-1,957.384,140.887,88.766,223.035,0.996853,-1,-1,-1
458 | 103,-1,607.377,143.021,44.876,117.184,0.980245,-1,-1,-1
459 | 103,-1,666.325,152.334,44.213,112.678,0.976145,-1,-1,-1
460 | 103,-1,750.933,163.671,45.367,85.186,0.926382,-1,-1,-1
461 | 104,-1,984.29,135.628,81.07,224.55,0.997315,-1,-1,-1
462 | 104,-1,748.091,162.778,58.388,88.318,0.989759,-1,-1,-1
463 | 104,-1,614.849,127.689,49.755,148.042,0.980918,-1,-1,-1
464 | 104,-1,668.226,143.259,36.29,124.698,0.975547,-1,-1,-1
465 | 105,-1,991.901,142.328,93.829,226.672,0.996825,-1,-1,-1
466 | 105,-1,606.403,127.9,52.84,141.064,0.986047,-1,-1,-1
467 | 105,-1,759.468,147.463,46.758,97.447,0.985685,-1,-1,-1
468 | 105,-1,667.855,146.287,46.092,130.599,0.977189,-1,-1,-1
469 | 106,-1,1004.47,144.628,112.56,224.301,0.998228,-1,-1,-1
470 | 106,-1,606.581,131.322,53.144,129.343,0.983274,-1,-1,-1
471 | 106,-1,669.252,139.272,60.942,155.155,0.981359,-1,-1,-1
472 | 106,-1,760.705,150.087,46.874,103.308,0.96745,-1,-1,-1
473 | 107,-1,1023.51,143.429,117.9,225.571,0.998017,-1,-1,-1
474 | 107,-1,624.186,126.087,48.822,147.691,0.981708,-1,-1,-1
475 | 107,-1,677.115,155.588,48.535,123.655,0.97732,-1,-1,-1
476 | 107,-1,768.485,143.855,44.597,119.625,0.975743,-1,-1,-1
477 | 108,-1,1054.49,147.304,111.34,221.696,0.997482,-1,-1,-1
478 | 108,-1,680.036,146.336,43.22,126.656,0.986771,-1,-1,-1
479 | 108,-1,618.683,131.142,53.202,151.426,0.986437,-1,-1,-1
480 | 108,-1,777.456,145.007,40.034,109.958,0.961837,-1,-1,-1
481 | 109,-1,1101.33,143.258,87.2,209.39,0.997119,-1,-1,-1
482 | 109,-1,782.738,160.657,51.927,108.185,0.985711,-1,-1,-1
483 | 109,-1,683.593,143.343,48.728,148.043,0.981819,-1,-1,-1
484 | 109,-1,619.444,123.631,56.583,171.693,0.979817,-1,-1,-1
485 | 110,-1,1127.51,142.049,91.5,226.135,0.997502,-1,-1,-1
486 | 110,-1,677.308,150.853,60.913,138.322,0.987526,-1,-1,-1
487 | 110,-1,625.181,111.598,49.692,191.489,0.973644,-1,-1,-1
488 | 110,-1,785.6,151.634,47.642,112.398,0.970089,-1,-1,-1
489 | 111,-1,1129.54,142.019,93.46,226.981,0.995785,-1,-1,-1
490 | 111,-1,692.915,161.959,44.773,130.261,0.988051,-1,-1,-1
491 | 111,-1,790.486,157.113,43.538,108.975,0.982624,-1,-1,-1
492 | 111,-1,627.937,135.306,60.29,166.353,0.963975,-1,-1,-1
493 | 112,-1,630.164,131.159,53.623,169.017,0.991356,-1,-1,-1
494 | 112,-1,698.249,137.993,55.877,161.09,0.984513,-1,-1,-1
495 | 112,-1,798.254,163.46,53.441,98.108,0.976576,-1,-1,-1
496 | 112,-1,1167.94,157.928,55.06,210.979,0.925301,-1,-1,-1
497 | 113,-1,637.84,131.513,48.163,177.381,0.991551,-1,-1,-1
498 | 113,-1,700.489,144.07,48.709,164.994,0.978426,-1,-1,-1
499 | 113,-1,797.573,161.918,58.172,106.175,0.974386,-1,-1,-1
500 | 114,-1,639.605,133.079,60.9,181.195,0.972864,-1,-1,-1
501 | 114,-1,814.559,153.894,49.816,126.543,0.969086,-1,-1,-1
502 | 114,-1,704.659,135.858,59.785,175.838,0.964789,-1,-1,-1
503 | 115,-1,711.291,145.477,54.692,166.436,0.990968,-1,-1,-1
504 | 115,-1,640.967,115.534,63.166,198.435,0.983963,-1,-1,-1
505 | 115,-1,812.131,151.877,53.792,116.252,0.98247,-1,-1,-1
506 | 116,-1,827.835,156.064,49.489,123.557,0.988564,-1,-1,-1
507 | 116,-1,706.171,145.507,60.719,173.347,0.985844,-1,-1,-1
508 | 116,-1,634.835,138.404,72.079,166.047,0.979988,-1,-1,-1
509 | 117,-1,645.506,142.435,67.591,167.308,0.988588,-1,-1,-1
510 | 117,-1,832.702,158.722,45.769,110.149,0.983729,-1,-1,-1
511 | 117,-1,719.002,153.655,67.812,173.689,0.978206,-1,-1,-1
512 | 118,-1,652.121,135.337,65.374,180.296,0.988726,-1,-1,-1
513 | 118,-1,847.791,164.866,51.047,102.929,0.988388,-1,-1,-1
514 | 118,-1,723.581,150.938,53.047,168.118,0.988311,-1,-1,-1
515 | 119,-1,848.717,158.054,50.357,131.655,0.98802,-1,-1,-1
516 | 119,-1,733.021,144.89,51.132,187.974,0.9879,-1,-1,-1
517 | 119,-1,660.609,130.77,57.717,210.327,0.98725,-1,-1,-1
518 | 120,-1,662.439,126.709,62.992,190.127,0.981553,-1,-1,-1
519 | 120,-1,852.672,144.98,56.455,153.948,0.978729,-1,-1,-1
520 | 120,-1,732.789,153.765,57.051,180.235,0.97628,-1,-1,-1
521 | 121,-1,863.41,153.98,54.228,137.033,0.9866,-1,-1,-1
522 | 121,-1,667.177,131.238,56.334,195.032,0.97746,-1,-1,-1
523 | 121,-1,738.285,145.599,58.638,191.521,0.977047,-1,-1,-1
524 | 122,-1,870.015,156.14,75.307,139.005,0.990668,-1,-1,-1
525 | 122,-1,743.049,149.082,55.836,189.255,0.988898,-1,-1,-1
526 | 122,-1,675.199,125.674,64.587,208.172,0.977401,-1,-1,-1
527 | 123,-1,752.569,154.044,61.706,188.859,0.986982,-1,-1,-1
528 | 123,-1,888.707,155.697,57.407,131.114,0.984583,-1,-1,-1
529 | 123,-1,674.257,144.151,65.664,190.443,0.971462,-1,-1,-1
530 | 124,-1,752.98,150.031,58.484,202.161,0.99103,-1,-1,-1
531 | 124,-1,688.34,126.331,56.142,221.724,0.980714,-1,-1,-1
532 | 124,-1,900.027,157.211,58.667,154.468,0.979578,-1,-1,-1
533 | 125,-1,691.745,133.87,74.414,217.028,0.99139,-1,-1,-1
534 | 125,-1,760.021,153.074,77.918,203.824,0.990494,-1,-1,-1
535 | 125,-1,900.838,159.354,74.1,146.94,0.982236,-1,-1,-1
536 | 126,-1,776.685,159.948,59.627,195.368,0.989655,-1,-1,-1
537 | 126,-1,927.549,156.346,46.07,163.923,0.987393,-1,-1,-1
538 | 126,-1,696.101,117.967,75.882,224.789,0.971032,-1,-1,-1
539 | 127,-1,775.15,163.176,70.186,201.061,0.99064,-1,-1,-1
540 | 127,-1,932.887,148.146,61.753,158.286,0.988912,-1,-1,-1
541 | 127,-1,699.253,148.368,89.608,193.98,0.987366,-1,-1,-1
542 | 128,-1,711.36,120.749,69.828,243.254,0.994068,-1,-1,-1
543 | 128,-1,792.175,160.581,73.244,193.721,0.989942,-1,-1,-1
544 | 128,-1,941.561,159.984,71.569,150.851,0.988087,-1,-1,-1
545 | 129,-1,789.472,163.836,71.088,202.161,0.994044,-1,-1,-1
546 | 129,-1,707.035,119.434,83.717,244.868,0.99294,-1,-1,-1
547 | 129,-1,957.599,154.005,64.071,171.105,0.990424,-1,-1,-1
548 | 130,-1,805.025,163.985,64.13,205.015,0.995356,-1,-1,-1
549 | 130,-1,975.555,158.933,55.525,140.852,0.986612,-1,-1,-1
550 | 130,-1,730.829,131.91,70.146,225.39,0.984378,-1,-1,-1
551 | 131,-1,976.5,148.328,70.7,174.846,0.995624,-1,-1,-1
552 | 131,-1,808.432,156.127,69.884,212.873,0.993558,-1,-1,-1
553 | 131,-1,731.126,128.042,75.908,230.596,0.990217,-1,-1,-1
554 | 132,-1,823.697,157.175,68.286,211.825,0.994272,-1,-1,-1
555 | 132,-1,987.198,153.35,87.712,153.783,0.993616,-1,-1,-1
556 | 132,-1,737.791,119.346,78.64,249.654,0.990758,-1,-1,-1
557 | 133,-1,750.6,132.092,80.748,236.908,0.996865,-1,-1,-1
558 | 133,-1,997.755,153.216,88.415,183.16,0.99401,-1,-1,-1
559 | 133,-1,823.344,155.124,103.279,212.404,0.993695,-1,-1,-1
560 | 134,-1,757.384,118.975,87.457,250.025,0.995278,-1,-1,-1
561 | 134,-1,844.412,163.445,85.025,205.555,0.99485,-1,-1,-1
562 | 134,-1,1034.73,158.359,68.25,148.558,0.971422,-1,-1,-1
563 | 135,-1,860.56,153.496,100.413,215.235,0.995368,-1,-1,-1
564 | 135,-1,775.125,137.638,82.854,226.482,0.994246,-1,-1,-1
565 | 135,-1,1040.89,154.383,69.76,182.547,0.977356,-1,-1,-1
566 | 136,-1,878.021,156.356,79.014,200.085,0.997339,-1,-1,-1
567 | 136,-1,780.665,122.728,95.617,237.771,0.996334,-1,-1,-1
568 | 136,-1,1052.81,158.194,85.66,150.904,0.99268,-1,-1,-1
569 | 137,-1,781.629,136.669,88.33,231.726,0.996705,-1,-1,-1
570 | 137,-1,894.631,161.582,80.705,201.005,0.994971,-1,-1,-1
571 | 137,-1,1079.33,169.051,68.23,131.286,0.984561,-1,-1,-1
572 | 138,-1,770.678,131.603,117.404,230.73,0.997497,-1,-1,-1
573 | 138,-1,922.204,160.247,61.452,206.543,0.996467,-1,-1,-1
574 | 138,-1,1090.86,156.437,76.7,190.165,0.993924,-1,-1,-1
575 | 139,-1,926.768,164.4,82.932,191.865,0.997593,-1,-1,-1
576 | 139,-1,772.353,117.656,152.962,251.344,0.996666,-1,-1,-1
577 | 139,-1,1114.6,147.474,78.67,203.087,0.990613,-1,-1,-1
578 | 140,-1,805.743,107.966,99.805,255.522,0.996183,-1,-1,-1
579 | 140,-1,932.781,167.755,108.129,192.497,0.99568,-1,-1,-1
580 | 140,-1,1121,151.023,94.06,175.061,0.993705,-1,-1,-1
581 | 141,-1,955.251,166.473,117.489,202.302,0.998231,-1,-1,-1
582 | 141,-1,817.565,100.061,119.05,268.939,0.998025,-1,-1,-1
583 | 141,-1,1139.55,160.503,83.45,170.559,0.991625,-1,-1,-1
584 | 142,-1,988.013,157,97.847,209.636,0.996576,-1,-1,-1
585 | 142,-1,841.185,110.382,114.048,258.618,0.995297,-1,-1,-1
586 | 142,-1,1172.14,146.151,50.86,174.271,0.976974,-1,-1,-1
587 | 143,-1,861.648,119.426,103.946,249.574,0.998594,-1,-1,-1
588 | 143,-1,1008.64,152.233,102.2,216.767,0.998092,-1,-1,-1
589 | 144,-1,882.772,119.686,118.038,249.314,0.997924,-1,-1,-1
590 | 144,-1,1046.74,164.052,111.32,204.948,0.997535,-1,-1,-1
591 | 145,-1,904.717,101.387,120.923,267.613,0.998596,-1,-1,-1
592 | 145,-1,1084.97,149.669,109.72,219.331,0.994309,-1,-1,-1
593 |
--------------------------------------------------------------------------------
/data/TUD-Campus/det.txt:
--------------------------------------------------------------------------------
1 | 1,-1,281.931,187.466,79.93,209.537,0.997784,-1,-1,-1
2 | 1,-1,56.6878,144.225,93.5572,295.907,0.997601,-1,-1,-1
3 | 1,-1,378.618,188.922,166.431,234.127,0.995973,-1,-1,-1
4 | 1,-1,203.983,207.153,45.553,133.834,0.985409,-1,-1,-1
5 | 1,-1,155.331,202.131,56.161,161.993,0.94249,-1,-1,-1
6 | 1,-1,136.718,190.031,41.27,176.146,0.852382,-1,-1,-1
7 | 2,-1,269.796,197.997,88.397,193.976,0.997721,-1,-1,-1
8 | 2,-1,56.5504,144.96,98.9106,303.352,0.997179,-1,-1,-1
9 | 2,-1,401.402,172.071,144.295,258.762,0.994948,-1,-1,-1
10 | 2,-1,167.374,227.424,51.28,131.007,0.9619,-1,-1,-1
11 | 2,-1,216.511,210.273,36.69,136.403,0.938671,-1,-1,-1
12 | 2,-1,147.794,204.774,39.482,159.201,0.838842,-1,-1,-1
13 | 3,-1,64.7874,157.4,108.544,283.358,0.997287,-1,-1,-1
14 | 3,-1,268.043,184.128,72.475,201.941,0.995447,-1,-1,-1
15 | 3,-1,416.857,161.232,120.985,266.794,0.993389,-1,-1,-1
16 | 3,-1,171.6,215.795,53.846,142.888,0.962757,-1,-1,-1
17 | 3,-1,215.405,195.66,44.924,150.998,0.949537,-1,-1,-1
18 | 3,-1,140.357,194.457,51.476,168.939,0.847853,-1,-1,-1
19 | 4,-1,420.791,164.003,129.139,270.287,0.996617,-1,-1,-1
20 | 4,-1,262.994,195.135,78.454,199.697,0.995761,-1,-1,-1
21 | 4,-1,61.256,150.2,126.576,301.18,0.995554,-1,-1,-1
22 | 4,-1,175.208,208.079,55.479,155.254,0.974032,-1,-1,-1
23 | 4,-1,224.823,211.013,38.287,134.287,0.941396,-1,-1,-1
24 | 4,-1,155.668,205.692,38.399,144.88,0.507287,-1,-1,-1
25 | 5,-1,434.105,159.018,124.947,275.907,0.995753,-1,-1,-1
26 | 5,-1,262.358,188.535,72.352,193.758,0.992384,-1,-1,-1
27 | 5,-1,64.7231,153.427,160.571,274.242,0.98755,-1,-1,-1
28 | 5,-1,228.192,212.353,42.889,135.124,0.980498,-1,-1,-1
29 | 5,-1,180.333,213.121,55.575,149.266,0.953667,-1,-1,-1
30 | 5,-1,106.094,162.331,69.714,178.466,0.667354,-1,-1,-1
31 | 6,-1,256.331,179.604,59.298,204.445,0.996394,-1,-1,-1
32 | 6,-1,441.627,174.493,107.1,250.987,0.992144,-1,-1,-1
33 | 6,-1,65.5473,164.478,162.939,280.467,0.989228,-1,-1,-1
34 | 6,-1,177.409,216.893,54.008,144.582,0.967242,-1,-1,-1
35 | 6,-1,235.833,203.613,40.113,145.399,0.945697,-1,-1,-1
36 | 6,-1,109.369,166.868,67.014,158.526,0.759937,-1,-1,-1
37 | 6,-1,66.6542,214.755,29.3487,49.62,0.630435,-1,-1,-1
38 | 6,-1,191.531,202.875,35.481,68.687,0.503938,-1,-1,-1
39 | 7,-1,449.201,163.894,108.957,269.857,0.998049,-1,-1,-1
40 | 7,-1,241.314,190.42,70.324,180.613,0.996652,-1,-1,-1
41 | 7,-1,71.6031,153.772,175.283,289.433,0.98706,-1,-1,-1
42 | 7,-1,185.659,234.378,53.154,120.168,0.954696,-1,-1,-1
43 | 7,-1,66.5255,212.778,30.7028,46.31,0.685141,-1,-1,-1
44 | 7,-1,115.778,166.117,72.839,177.268,0.591923,-1,-1,-1
45 | 8,-1,466.104,166.858,89.57,275.851,0.998298,-1,-1,-1
46 | 8,-1,244.407,174.561,61.66,215.743,0.996497,-1,-1,-1
47 | 8,-1,123.427,159.24,113.798,285.445,0.975059,-1,-1,-1
48 | 8,-1,201.122,217.371,44.858,143.165,0.950049,-1,-1,-1
49 | 9,-1,239.97,175.491,67.681,214.437,0.997788,-1,-1,-1
50 | 9,-1,470.983,158.791,86.855,266.716,0.994853,-1,-1,-1
51 | 9,-1,138.14,165.274,68.402,247.789,0.972396,-1,-1,-1
52 | 9,-1,209.038,223.205,29.442,123.454,0.699889,-1,-1,-1
53 | 10,-1,490.458,161.539,77.997,272.003,0.998887,-1,-1,-1
54 | 10,-1,227.859,180.966,80.777,208.864,0.997242,-1,-1,-1
55 | 10,-1,138.814,172.908,68.877,206.49,0.966586,-1,-1,-1
56 | 10,-1,207.795,207.341,32.676,156.651,0.771827,-1,-1,-1
57 | 11,-1,485.049,150.469,93.195,280.504,0.998951,-1,-1,-1
58 | 11,-1,218.328,194.324,90.187,191.6,0.991807,-1,-1,-1
59 | 11,-1,143.84,176.397,107.48,277.711,0.972094,-1,-1,-1
60 | 12,-1,492.869,156.645,94.179,276.098,0.999452,-1,-1,-1
61 | 12,-1,215.533,183.073,92.781,198.548,0.984114,-1,-1,-1
62 | 12,-1,154.816,151.072,92.624,290.63,0.9755,-1,-1,-1
63 | 13,-1,500.126,158.829,100.546,268.676,0.999186,-1,-1,-1
64 | 13,-1,161.066,145.736,103.624,302.782,0.993706,-1,-1,-1
65 | 13,-1,219.123,195.168,83.008,187.473,0.963507,-1,-1,-1
66 | 13,-1,268.418,207.036,43.63,109.807,0.769279,-1,-1,-1
67 | 14,-1,498.52,159.536,111.217,272.538,0.999149,-1,-1,-1
68 | 14,-1,159.829,138.46,138.931,303.042,0.997235,-1,-1,-1
69 | 14,-1,269.55,200.441,54.047,121.106,0.897891,-1,-1,-1
70 | 15,-1,176.066,149.162,106.475,296.273,0.996929,-1,-1,-1
71 | 15,-1,508.997,161.941,106.668,264.479,0.996709,-1,-1,-1
72 | 15,-1,279.589,206.513,47.986,132.068,0.991513,-1,-1,-1
73 | 16,-1,170.94,146.702,113.853,304.278,0.998414,-1,-1,-1
74 | 16,-1,510.357,169.143,113.596,261.805,0.997883,-1,-1,-1
75 | 16,-1,285.279,205.905,45.787,143.008,0.996877,-1,-1,-1
76 | 17,-1,513.378,168.154,113.737,270.782,0.998034,-1,-1,-1
77 | 17,-1,184.011,153.317,104.895,296.457,0.995869,-1,-1,-1
78 | 17,-1,284.166,201.934,62.379,141.058,0.917349,-1,-1,-1
79 | 18,-1,530.124,159.648,97.181,270.254,0.998161,-1,-1,-1
80 | 18,-1,295.778,203.537,48.616,138.326,0.990652,-1,-1,-1
81 | 18,-1,175.285,164.298,126.35,293.944,0.990241,-1,-1,-1
82 | 18,-1,173.823,181.474,53.406,209.544,0.620964,-1,-1,-1
83 | 18,-1,176.192,183.025,33.304,57.645,0.511746,-1,-1,-1
84 | 19,-1,539.591,153.148,99.409,281.173,0.997805,-1,-1,-1
85 | 19,-1,293.45,203.179,47.587,141.418,0.995965,-1,-1,-1
86 | 19,-1,189.64,154.469,116.908,306.153,0.988479,-1,-1,-1
87 | 19,-1,175.494,164.273,50.129,258.199,0.945116,-1,-1,-1
88 | 20,-1,537.547,161.26,100.558,263.552,0.994915,-1,-1,-1
89 | 20,-1,297.768,202.796,51.127,149.988,0.989496,-1,-1,-1
90 | 20,-1,165.673,178.039,55.952,215.088,0.979027,-1,-1,-1
91 | 20,-1,206.196,177.082,129.84,261.294,0.936912,-1,-1,-1
92 | 21,-1,161.149,174.498,65.619,210.752,0.993418,-1,-1,-1
93 | 21,-1,556.184,154.678,82.615,271.203,0.992796,-1,-1,-1
94 | 21,-1,308.105,214.424,51.618,137.41,0.982397,-1,-1,-1
95 | 21,-1,213.057,154.815,123.969,280.088,0.960469,-1,-1,-1
96 | 21,-1,0.304614,179.233,31.4182,114.456,0.783707,-1,-1,-1
97 | 21,-1,244.278,171.333,60.159,155.079,0.54348,-1,-1,-1
98 | 22,-1,149.979,174.619,70.719,217.891,0.994828,-1,-1,-1
99 | 22,-1,568.422,149.768,70.404,280.913,0.99077,-1,-1,-1
100 | 22,-1,207.229,176.429,158.534,273.265,0.963839,-1,-1,-1
101 | 22,-1,309.637,204.845,58.803,147.657,0.953732,-1,-1,-1
102 | 22,-1,0.341978,190.728,33.2533,118.414,0.598427,-1,-1,-1
103 | 23,-1,146.211,174.943,55.788,218.104,0.996437,-1,-1,-1
104 | 23,-1,222.515,166.049,146.811,285.421,0.984833,-1,-1,-1
105 | 23,-1,578.631,161.57,60.369,250.513,0.978597,-1,-1,-1
106 | 23,-1,315.149,211.57,51.41,139.016,0.82101,-1,-1,-1
107 | 23,-1,0,176.548,42.4124,182.788,0.807631,-1,-1,-1
108 | 23,-1,219.189,187.387,50.953,185.493,0.752326,-1,-1,-1
109 | 23,-1,232.408,190.999,35.075,77.37,0.665798,-1,-1,-1
110 | 23,-1,261.824,164.744,60.731,170.644,0.51734,-1,-1,-1
111 | 24,-1,120.94,168.093,92.762,217.972,0.997513,-1,-1,-1
112 | 24,-1,0,173.036,43.4966,249.438,0.995833,-1,-1,-1
113 | 24,-1,235.088,172.725,134.61,283.122,0.979642,-1,-1,-1
114 | 24,-1,587.703,167.199,49.034,194.509,0.83355,-1,-1,-1
115 | 24,-1,319.567,206.801,56.567,143.125,0.78107,-1,-1,-1
116 | 24,-1,237.824,193.942,33.006,63.059,0.745167,-1,-1,-1
117 | 24,-1,235.658,188.323,54.974,174.589,0.727878,-1,-1,-1
118 | 25,-1,128.08,175.868,78.991,217.391,0.998783,-1,-1,-1
119 | 25,-1,0,169.779,43.5329,264.267,0.991916,-1,-1,-1
120 | 25,-1,250.778,175.454,116.797,283.193,0.986607,-1,-1,-1
121 | 25,-1,594.308,164.484,41.633,165.173,0.924312,-1,-1,-1
122 | 25,-1,234.409,188.491,54.891,165.937,0.855918,-1,-1,-1
123 | 26,-1,117.979,169.148,91.506,231.195,0.996416,-1,-1,-1
124 | 26,-1,276.085,156.999,95.43,306.726,0.968984,-1,-1,-1
125 | 26,-1,598.229,166.819,40.771,140.663,0.937105,-1,-1,-1
126 | 26,-1,1.06226,162.698,48.8197,271.442,0.912433,-1,-1,-1
127 | 26,-1,246.053,185.637,44.164,91.566,0.899592,-1,-1,-1
128 | 27,-1,108.448,165.674,98.093,234.206,0.994798,-1,-1,-1
129 | 27,-1,1.2024,171.061,56.0132,267.714,0.972926,-1,-1,-1
130 | 27,-1,246.001,183.637,38.364,83.74,0.953834,-1,-1,-1
131 | 27,-1,297.584,158.02,72.841,298.984,0.901405,-1,-1,-1
132 | 27,-1,336.948,191.12,41.86,147.378,0.703058,-1,-1,-1
133 | 27,-1,207.225,251.565,106.188,107.56,0.541628,-1,-1,-1
134 | 28,-1,291.291,153.979,98.554,297.327,0.998769,-1,-1,-1
135 | 28,-1,2.65334,159.343,61.8022,270.842,0.996074,-1,-1,-1
136 | 28,-1,94.5332,160.062,106.569,229.124,0.994916,-1,-1,-1
137 | 28,-1,247.908,189.303,39.771,84.326,0.933535,-1,-1,-1
138 | 28,-1,240.511,202.438,58.227,156.799,0.892174,-1,-1,-1
139 | 29,-1,101.896,173.046,87.353,220.152,0.997026,-1,-1,-1
140 | 29,-1,3.57357,167.182,64.3818,267.084,0.996989,-1,-1,-1
141 | 29,-1,296.408,158.99,106.304,292.102,0.99595,-1,-1,-1
142 | 29,-1,233.094,235.938,81.058,127.304,0.978826,-1,-1,-1
143 | 29,-1,252.648,188.081,36.313,92.516,0.904551,-1,-1,-1
144 | 29,-1,282.918,197.294,31.465,90.84,0.533393,-1,-1,-1
145 | 30,-1,1.61432,165.358,84.5202,255.67,0.998407,-1,-1,-1
146 | 30,-1,84.9715,180.201,104.1,212.34,0.998033,-1,-1,-1
147 | 30,-1,298.765,156.522,107.762,287.927,0.997607,-1,-1,-1
148 | 30,-1,236.902,204.371,84.73,166.47,0.990803,-1,-1,-1
149 | 30,-1,260.489,193.295,34.741,76.84,0.96136,-1,-1,-1
150 | 30,-1,278.973,197.55,33.14,94.402,0.677042,-1,-1,-1
151 | 31,-1,298.533,164.243,120.345,292.144,0.997004,-1,-1,-1
152 | 31,-1,6.69603,168.509,77.3386,263.077,0.996586,-1,-1,-1
153 | 31,-1,79.7971,174.973,79.5639,225.656,0.995564,-1,-1,-1
154 | 31,-1,231.819,229.285,87.389,137.682,0.979197,-1,-1,-1
155 | 31,-1,261.922,194.421,30.702,78.838,0.950692,-1,-1,-1
156 | 31,-1,283.286,199.73,32.218,93.717,0.745606,-1,-1,-1
157 | 32,-1,78.4941,173.295,61.6979,232.272,0.997013,-1,-1,-1
158 | 32,-1,295.536,139.07,152.022,330.774,0.996519,-1,-1,-1
159 | 32,-1,254.08,191.101,64.058,175.491,0.99565,-1,-1,-1
160 | 32,-1,7.2247,179.15,87.1761,243.362,0.993169,-1,-1,-1
161 | 32,-1,263.553,198.501,36.144,79.56,0.916442,-1,-1,-1
162 | 32,-1,290.027,197.628,29.77,70.223,0.657551,-1,-1,-1
163 | 33,-1,301.642,154.963,146.467,301.105,0.997569,-1,-1,-1
164 | 33,-1,61.8175,184.27,93.2045,228.139,0.993515,-1,-1,-1
165 | 33,-1,256.862,197.953,63.877,165.937,0.990806,-1,-1,-1
166 | 33,-1,6.817,172.187,102.811,259.631,0.988907,-1,-1,-1
167 | 34,-1,325.309,158.45,131.699,301.195,0.996419,-1,-1,-1
168 | 34,-1,14.2686,186.743,129.69,228.132,0.996388,-1,-1,-1
169 | 34,-1,253.285,199.615,91.692,152.105,0.993194,-1,-1,-1
170 | 35,-1,326.76,168.898,131.84,291.788,0.995634,-1,-1,-1
171 | 35,-1,21.7875,178.825,112.406,249.32,0.992658,-1,-1,-1
172 | 35,-1,271.246,205.494,58.332,142.633,0.990056,-1,-1,-1
173 | 35,-1,181.266,202.465,28.409,45.086,0.573162,-1,-1,-1
174 | 36,-1,272.934,194.701,65.744,165.553,0.993505,-1,-1,-1
175 | 36,-1,345.346,160.774,125.408,302.775,0.99231,-1,-1,-1
176 | 36,-1,18.1651,183.853,125.926,246.998,0.991854,-1,-1,-1
177 | 36,-1,179.21,201.164,31.26,47.609,0.571801,-1,-1,-1
178 | 37,-1,278.425,192.768,67.382,165.509,0.996993,-1,-1,-1
179 | 37,-1,29.4217,189.89,100.517,225.353,0.993843,-1,-1,-1
180 | 37,-1,369.038,153.962,106.275,311.762,0.987658,-1,-1,-1
181 | 37,-1,26.3468,163.22,78.3662,122.548,0.604894,-1,-1,-1
182 | 38,-1,284.714,184.991,64.88,189.809,0.998419,-1,-1,-1
183 | 38,-1,375.979,155.153,113.622,316.029,0.996165,-1,-1,-1
184 | 38,-1,31.2307,153.131,92.2403,276.115,0.991285,-1,-1,-1
185 | 38,-1,34.3067,166.579,68.0333,86.014,0.588207,-1,-1,-1
186 | 39,-1,288.115,181.843,63.887,184.699,0.9978,-1,-1,-1
187 | 39,-1,33.9692,160.57,103.549,265.974,0.991199,-1,-1,-1
188 | 39,-1,390.001,138.03,95.184,327.333,0.983115,-1,-1,-1
189 | 40,-1,407.878,143.926,88.163,316.579,0.996842,-1,-1,-1
190 | 40,-1,16.4275,151.833,117.767,279.303,0.995886,-1,-1,-1
191 | 40,-1,289.984,192.418,69.409,175.954,0.995138,-1,-1,-1
192 | 40,-1,93.1497,170.342,52.8303,179.169,0.614041,-1,-1,-1
193 | 41,-1,400.443,139.002,99.102,320.273,0.997364,-1,-1,-1
194 | 41,-1,11.568,154.639,111.837,265.703,0.994788,-1,-1,-1
195 | 41,-1,304.011,198.958,52.204,145.665,0.990437,-1,-1,-1
196 | 41,-1,89.3375,172.641,59.3485,244.464,0.943441,-1,-1,-1
197 | 42,-1,412.382,147.176,102.682,311.293,0.998236,-1,-1,-1
198 | 42,-1,2.57338,158.935,114.21,265.946,0.997482,-1,-1,-1
199 | 42,-1,296.445,192.45,74.149,181.024,0.996432,-1,-1,-1
200 | 42,-1,92.0947,175.231,65.1163,239.653,0.963116,-1,-1,-1
201 | 43,-1,416.788,152.405,111.552,296.599,0.998226,-1,-1,-1
202 | 43,-1,4.08447,161.158,100.633,245.684,0.998079,-1,-1,-1
203 | 43,-1,303.764,192.901,73.902,182.642,0.997738,-1,-1,-1
204 | 43,-1,93.651,170.653,86.766,246.614,0.939239,-1,-1,-1
205 | 44,-1,419.964,135.649,114.734,330.791,0.998119,-1,-1,-1
206 | 44,-1,1.53414,174.309,82.6401,236.213,0.997731,-1,-1,-1
207 | 44,-1,303.117,205.545,80.945,155.834,0.996518,-1,-1,-1
208 | 44,-1,102.629,159.039,87.582,270.84,0.995254,-1,-1,-1
209 | 45,-1,1.67256,163.401,79.9973,247.567,0.998111,-1,-1,-1
210 | 45,-1,106.874,182.181,98.855,242.721,0.997768,-1,-1,-1
211 | 45,-1,418.572,147.323,118.812,313.66,0.997332,-1,-1,-1
212 | 45,-1,305.236,192.174,77.17,182.94,0.99676,-1,-1,-1
213 | 45,-1,148.706,177.068,54.11,104.433,0.760432,-1,-1,-1
214 | 46,-1,105.945,168.679,99.697,262.231,0.998493,-1,-1,-1
215 | 46,-1,305.053,195.14,76.231,174.384,0.997502,-1,-1,-1
216 | 46,-1,2.10851,158.744,69.3669,266.687,0.994696,-1,-1,-1
217 | 46,-1,424.021,133.457,130.946,319.476,0.994492,-1,-1,-1
218 | 47,-1,310.933,191.254,80.899,177.009,0.997615,-1,-1,-1
219 | 47,-1,111.517,160.711,107.784,261.454,0.997252,-1,-1,-1
220 | 47,-1,425.51,137.56,145.968,320.383,0.990545,-1,-1,-1
221 | 47,-1,0.395605,167.023,51.7516,201.432,0.962598,-1,-1,-1
222 | 48,-1,313.601,192.976,89.252,168.073,0.997545,-1,-1,-1
223 | 48,-1,435.931,138.466,148.324,330.787,0.993456,-1,-1,-1
224 | 48,-1,120.926,179.105,118.257,244.923,0.991124,-1,-1,-1
225 | 48,-1,0,173.276,42.6584,153.81,0.826132,-1,-1,-1
226 | 49,-1,318.534,206.975,75.493,154.623,0.994457,-1,-1,-1
227 | 49,-1,132.966,178.61,103.994,251.826,0.993245,-1,-1,-1
228 | 49,-1,438.767,151.366,138.48,308.437,0.991756,-1,-1,-1
229 | 49,-1,0.573276,184.988,30.2769,88.303,0.730952,-1,-1,-1
230 | 49,-1,454.513,200.934,55.726,141.052,0.614578,-1,-1,-1
231 | 50,-1,130.185,180.243,115.309,251.223,0.995544,-1,-1,-1
232 | 50,-1,452.875,159,133.895,302.181,0.994177,-1,-1,-1
233 | 50,-1,319.953,197.972,76.386,165.975,0.993406,-1,-1,-1
234 | 50,-1,465.487,207.47,55.95,145.202,0.842629,-1,-1,-1
235 | 51,-1,322.557,200.138,86.385,163.409,0.99487,-1,-1,-1
236 | 51,-1,458.495,152.945,143.977,307.623,0.973867,-1,-1,-1
237 | 51,-1,140.506,182.978,115.96,250.359,0.964487,-1,-1,-1
238 | 52,-1,334.544,200.407,85.245,171.222,0.996382,-1,-1,-1
239 | 52,-1,478.914,160.765,125.731,310.963,0.982917,-1,-1,-1
240 | 52,-1,164.951,186.157,95.672,240.461,0.945487,-1,-1,-1
241 | 52,-1,473.932,221.486,35.998,120.086,0.809936,-1,-1,-1
242 | 53,-1,333.684,203.933,81.051,164.82,0.993741,-1,-1,-1
243 | 53,-1,491.371,151.248,116.711,315.818,0.984342,-1,-1,-1
244 | 53,-1,173.8,178.639,89.222,139.368,0.978852,-1,-1,-1
245 | 53,-1,472.441,212.116,53.277,131.418,0.971175,-1,-1,-1
246 | 54,-1,346.089,191.553,71.768,174.547,0.988951,-1,-1,-1
247 | 54,-1,186.549,177.229,86.583,256.933,0.983098,-1,-1,-1
248 | 54,-1,496.234,157.59,122.11,301.835,0.97932,-1,-1,-1
249 | 54,-1,476.85,205.448,53.569,147.936,0.96676,-1,-1,-1
250 | 55,-1,512.724,142.999,115.03,318.323,0.995673,-1,-1,-1
251 | 55,-1,352.578,192.958,67.676,174.749,0.994056,-1,-1,-1
252 | 55,-1,193.69,184.511,78.22,253.339,0.987409,-1,-1,-1
253 | 55,-1,482.192,207.135,58.97,140.33,0.896179,-1,-1,-1
254 | 56,-1,197.877,171.213,93.298,252.52,0.999236,-1,-1,-1
255 | 56,-1,524.343,146.264,100.813,305.775,0.996306,-1,-1,-1
256 | 56,-1,353.16,201.659,63.97,146.763,0.988969,-1,-1,-1
257 | 56,-1,391.168,216.634,46.996,145.888,0.827745,-1,-1,-1
258 | 56,-1,485.683,208.17,86.652,147.703,0.661032,-1,-1,-1
259 | 57,-1,207.491,171.448,87.525,250.375,0.998257,-1,-1,-1
260 | 57,-1,526.406,151.83,107.909,308.497,0.997857,-1,-1,-1
261 | 57,-1,359.461,203.402,72.526,160.5,0.993262,-1,-1,-1
262 | 57,-1,488.928,209.988,83.074,142.147,0.754082,-1,-1,-1
263 | 58,-1,537.477,160.348,101.523,297.272,0.997085,-1,-1,-1
264 | 58,-1,207.834,169.808,105.124,254.892,0.996057,-1,-1,-1
265 | 58,-1,362.254,202.414,74.495,171.838,0.994832,-1,-1,-1
266 | 58,-1,494.682,212.734,72.417,139.282,0.815401,-1,-1,-1
267 | 59,-1,368.487,194.141,70.57,173.377,0.997523,-1,-1,-1
268 | 59,-1,551.123,145.261,85.155,311.827,0.996532,-1,-1,-1
269 | 59,-1,210.975,179.613,129.481,244.193,0.995308,-1,-1,-1
270 | 59,-1,495.879,223.886,70.621,137.252,0.935703,-1,-1,-1
271 | 60,-1,221.927,177.682,137.949,244.241,0.996689,-1,-1,-1
272 | 60,-1,365.071,200.737,82.778,171.595,0.99539,-1,-1,-1
273 | 60,-1,538.359,156.408,100.641,312.892,0.99308,-1,-1,-1
274 | 60,-1,507.234,219.557,60.747,134.32,0.835582,-1,-1,-1
275 | 61,-1,222.393,185.307,143.185,241.288,0.995221,-1,-1,-1
276 | 61,-1,367.485,199.75,78.681,151.5,0.991305,-1,-1,-1
277 | 61,-1,534.125,152.785,104.875,319.12,0.963246,-1,-1,-1
278 | 61,-1,576.377,184.333,49.141,190.192,0.655385,-1,-1,-1
279 | 61,-1,516.42,215.457,61.031,135.829,0.56515,-1,-1,-1
280 | 61,-1,419.678,203.381,33.259,140.307,0.542471,-1,-1,-1
281 | 62,-1,226.414,191.655,136.172,244.242,0.99621,-1,-1,-1
282 | 62,-1,371.399,204.638,73.482,160.841,0.995558,-1,-1,-1
283 | 62,-1,544.485,176.05,94.515,286.094,0.991782,-1,-1,-1
284 | 62,-1,517.609,203.262,57.069,140.613,0.9687,-1,-1,-1
285 | 62,-1,418.844,208.81,43.851,146.545,0.914553,-1,-1,-1
286 | 63,-1,249.48,182.113,113.83,252.98,0.998128,-1,-1,-1
287 | 63,-1,389.089,199.35,65.642,178.314,0.986921,-1,-1,-1
288 | 63,-1,532.68,202.899,49.574,142.749,0.986447,-1,-1,-1
289 | 63,-1,540.482,187.889,96.022,269.676,0.960656,-1,-1,-1
290 | 63,-1,592.438,210.12,37.023,134.644,0.888554,-1,-1,-1
291 | 64,-1,275.435,173.969,91.126,265.116,0.995931,-1,-1,-1
292 | 64,-1,383.635,200.812,65.029,161.449,0.99113,-1,-1,-1
293 | 64,-1,532.442,207.932,47.736,139.043,0.975959,-1,-1,-1
294 | 64,-1,423.71,208.82,39.692,138.565,0.819596,-1,-1,-1
295 | 64,-1,600.478,200.495,31.678,99.278,0.508747,-1,-1,-1
296 | 65,-1,391.67,204.976,73.277,163.219,0.997027,-1,-1,-1
297 | 65,-1,289.864,169.411,85.886,263.576,0.994629,-1,-1,-1
298 | 65,-1,535.735,209.005,49.269,139.408,0.991204,-1,-1,-1
299 | 66,-1,537.726,210.834,55.999,135.087,0.994092,-1,-1,-1
300 | 66,-1,400.242,200.479,71.843,167.368,0.989536,-1,-1,-1
301 | 66,-1,296.324,164.527,89.966,281.299,0.876203,-1,-1,-1
302 | 67,-1,549.847,219.569,46.553,128.14,0.993483,-1,-1,-1
303 | 67,-1,392.671,201.957,85.792,160.703,0.989303,-1,-1,-1
304 | 67,-1,308.794,169.16,87.247,183.762,0.85751,-1,-1,-1
305 | 67,-1,436.704,208.636,32.88,116.821,0.653179,-1,-1,-1
306 | 68,-1,549.636,217.381,58.854,137.686,0.994496,-1,-1,-1
307 | 68,-1,309.806,183.57,99.159,251.645,0.990782,-1,-1,-1
308 | 68,-1,406.915,204.189,68.436,155.128,0.984797,-1,-1,-1
309 | 68,-1,451.69,214.829,38.811,149.114,0.918864,-1,-1,-1
310 | 69,-1,554.066,227.194,57.351,118.977,0.993298,-1,-1,-1
311 | 69,-1,407.946,199.183,81.448,174.628,0.990582,-1,-1,-1
312 | 69,-1,314.189,178.561,104.102,262.096,0.989359,-1,-1,-1
313 | 70,-1,322.195,167.601,103.975,271.325,0.996437,-1,-1,-1
314 | 70,-1,407.877,192.019,77.257,184.875,0.994615,-1,-1,-1
315 | 70,-1,555.829,219.508,59.637,132.527,0.989564,-1,-1,-1
316 | 70,-1,448.859,237.861,62.513,133.123,0.807496,-1,-1,-1
317 | 70,-1,366.493,170.653,52.355,114.637,0.675409,-1,-1,-1
318 | 71,-1,324.38,189.225,107.07,243.089,0.992714,-1,-1,-1
319 | 71,-1,421.225,202.738,74.047,164.796,0.991345,-1,-1,-1
320 | 71,-1,548.108,216.599,83.053,135.563,0.977693,-1,-1,-1
321 | 71,-1,164.16,214.71,36.95,26.306,0.724231,-1,-1,-1
322 |
--------------------------------------------------------------------------------
/docker_run.sh:
--------------------------------------------------------------------------------
1 | DOCKER_NAME=sort
2 |
3 | XSOCK=/tmp/.X11-unix
4 | XAUTH=/home/$USER/.Xauthority
5 |
6 | xhost +
7 |
8 | docker run \
9 | -it --rm \
10 | -e XAUTHORITY=${XAUTH} \
11 | -e DISPLAY=${DISPLAY} \
12 | -e QT_X11_NO_MITSHM=1 \
13 | --privileged \
14 | -v /dev/bus/usb:/dev/bus/usb \
15 | -v /dev/video0:/dev/video0 \
16 | -v $XSOCK:$XSOCK:rw \
17 | -v $XAUTH:$XAUTH:rw \
18 | -v /home/$USER:/home/$USER \
19 | -u $(id -u ${USER}):$(id -g ${USER}) \
20 | --name sort-cpp \
21 | $DOCKER_NAME /bin/bash
22 |
--------------------------------------------------------------------------------
/docs/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasenh/sort-cpp/1dcafbaa43513bfe8d80a18894fee829a40ba408/docs/1.png
--------------------------------------------------------------------------------
/docs/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasenh/sort-cpp/1dcafbaa43513bfe8d80a18894fee829a40ba408/docs/2.png
--------------------------------------------------------------------------------
/include/kalman_filter.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 |
6 | // abstract class for Kalman filter
7 | // implementation could be KF/EKF/UKF...
8 | class KalmanFilter {
9 | public:
10 | /**
11 | * user need to define H matrix & R matrix
12 | * @param num_states
13 | * @param num_obs
14 | */
15 | // constructor
16 | explicit KalmanFilter(unsigned int num_states, unsigned int num_obs);
17 |
18 | // destructor
19 | virtual ~KalmanFilter() = default;
20 |
21 | /**
22 | * Coast state and state covariance using the process model
23 | * User can use this function without change the internal
24 | * tracking state x_
25 | */
26 | virtual void Coast();
27 |
28 | /**
29 | * Predict without measurement update
30 | */
31 | void Predict();
32 |
33 | /**
34 | * This function maps the true state space into the observed space
35 | * using the observation model
36 | * User can implement their own method for more complicated models
37 | */
38 | virtual Eigen::VectorXd PredictionToObservation(const Eigen::VectorXd &state);
39 |
40 | /**
41 | * Updates the state by using Extended Kalman Filter equations
42 | * @param z The measurement at k+1
43 | */
44 | virtual void Update(const Eigen::VectorXd &z);
45 |
46 | /**
47 | * Calculate marginal log-likelihood to evaluate different parameter choices
48 | */
49 | float CalculateLogLikelihood(const Eigen::VectorXd& y, const Eigen::MatrixXd& S);
50 |
51 | // State vector
52 | Eigen::VectorXd x_, x_predict_;
53 |
54 | // Error covariance matrix
55 | Eigen::MatrixXd P_, P_predict_;
56 |
57 | // State transition matrix
58 | Eigen::MatrixXd F_;
59 |
60 | // Covariance matrix of process noise
61 | Eigen::MatrixXd Q_;
62 |
63 | // measurement matrix
64 | Eigen::MatrixXd H_;
65 |
66 | // covariance matrix of observation noise
67 | Eigen::MatrixXd R_;
68 |
69 | unsigned int num_states_, num_obs_;
70 |
71 | float log_likelihood_delta_;
72 |
73 | float NIS_;
74 | };
--------------------------------------------------------------------------------
/include/matrix.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2007 John Weaver
3 | *
4 | * This program is free software; you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation; either version 2 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program; if not, write to the Free Software
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 | */
18 |
19 | #include "matrix.h"
20 |
21 | #include
22 | #include
23 | #include
24 |
25 | /*export*/ template
26 | Matrix::Matrix() {
27 | m_rows = 0;
28 | m_columns = 0;
29 | m_matrix = nullptr;
30 | }
31 |
32 |
33 | /*export*/ template
34 | Matrix::Matrix(const std::initializer_list> init) {
35 | m_matrix = nullptr;
36 | m_rows = init.size();
37 | if ( m_rows == 0 ) {
38 | m_columns = 0;
39 | } else {
40 | m_columns = init.begin()->size();
41 | if ( m_columns > 0 ) {
42 | resize(m_rows, m_columns);
43 | }
44 | }
45 |
46 | size_t i = 0, j;
47 | for ( auto row = init.begin() ; row != init.end() ; ++row, ++i ) {
48 | assert ( row->size() == m_columns && "All rows must have the same number of columns." );
49 | j = 0;
50 | for ( auto value = row->begin() ; value != row->end() ; ++value, ++j ) {
51 | m_matrix[i][j] = *value;
52 | }
53 | }
54 | }
55 |
56 | /*export*/ template
57 | Matrix::Matrix(const Matrix &other) {
58 | if ( other.m_matrix != nullptr ) {
59 | // copy arrays
60 | m_matrix = nullptr;
61 | resize(other.m_rows, other.m_columns);
62 | for ( size_t i = 0 ; i < m_rows ; i++ ) {
63 | for ( size_t j = 0 ; j < m_columns ; j++ ) {
64 | m_matrix[i][j] = other.m_matrix[i][j];
65 | }
66 | }
67 | } else {
68 | m_matrix = nullptr;
69 | m_rows = 0;
70 | m_columns = 0;
71 | }
72 | }
73 |
74 | /*export*/ template
75 | Matrix::Matrix(const size_t rows, const size_t columns) {
76 | m_matrix = nullptr;
77 | resize(rows, columns);
78 | }
79 |
80 | /*export*/ template
81 | Matrix &
82 | Matrix::operator= (const Matrix &other) {
83 | if ( other.m_matrix != nullptr ) {
84 | // copy arrays
85 | resize(other.m_rows, other.m_columns);
86 | for ( size_t i = 0 ; i < m_rows ; i++ ) {
87 | for ( size_t j = 0 ; j < m_columns ; j++ ) {
88 | m_matrix[i][j] = other.m_matrix[i][j];
89 | }
90 | }
91 | } else {
92 | // free arrays
93 | for ( size_t i = 0 ; i < m_columns ; i++ ) {
94 | delete [] m_matrix[i];
95 | }
96 |
97 | delete [] m_matrix;
98 |
99 | m_matrix = nullptr;
100 | m_rows = 0;
101 | m_columns = 0;
102 | }
103 |
104 | return *this;
105 | }
106 |
107 | /*export*/ template
108 | Matrix::~Matrix() {
109 | if ( m_matrix != nullptr ) {
110 | // free arrays
111 | for ( size_t i = 0 ; i < m_rows ; i++ ) {
112 | delete [] m_matrix[i];
113 | }
114 |
115 | delete [] m_matrix;
116 | }
117 | m_matrix = nullptr;
118 | }
119 |
120 | /*export*/ template
121 | void
122 | Matrix::resize(const size_t rows, const size_t columns, const T default_value) {
123 | assert ( rows > 0 && columns > 0 && "Columns and rows must exist." );
124 |
125 | if ( m_matrix == nullptr ) {
126 | // alloc arrays
127 | m_matrix = new T*[rows]; // rows
128 | for ( size_t i = 0 ; i < rows ; i++ ) {
129 | m_matrix[i] = new T[columns]; // columns
130 | }
131 |
132 | m_rows = rows;
133 | m_columns = columns;
134 | clear();
135 | } else {
136 | // save array pointer
137 | T **new_matrix;
138 | // alloc new arrays
139 | new_matrix = new T*[rows]; // rows
140 | for ( size_t i = 0 ; i < rows ; i++ ) {
141 | new_matrix[i] = new T[columns]; // columns
142 | for ( size_t j = 0 ; j < columns ; j++ ) {
143 | new_matrix[i][j] = default_value;
144 | }
145 | }
146 |
147 | // copy data from saved pointer to new arrays
148 | size_t minrows = std::min(rows, m_rows);
149 | size_t mincols = std::min(columns, m_columns);
150 | for ( size_t x = 0 ; x < minrows ; x++ ) {
151 | for ( size_t y = 0 ; y < mincols ; y++ ) {
152 | new_matrix[x][y] = m_matrix[x][y];
153 | }
154 | }
155 |
156 | // delete old arrays
157 | if ( m_matrix != nullptr ) {
158 | for ( size_t i = 0 ; i < m_rows ; i++ ) {
159 | delete [] m_matrix[i];
160 | }
161 |
162 | delete [] m_matrix;
163 | }
164 |
165 | m_matrix = new_matrix;
166 | }
167 |
168 | m_rows = rows;
169 | m_columns = columns;
170 | }
171 |
172 | /*export*/ template
173 | void
174 | Matrix::clear() {
175 | assert( m_matrix != nullptr );
176 |
177 | for ( size_t i = 0 ; i < m_rows ; i++ ) {
178 | for ( size_t j = 0 ; j < m_columns ; j++ ) {
179 | m_matrix[i][j] = 0;
180 | }
181 | }
182 | }
183 |
184 | /*export*/ template
185 | inline T&
186 | Matrix::operator ()(const size_t x, const size_t y) {
187 | assert ( x < m_rows );
188 | assert ( y < m_columns );
189 | assert ( m_matrix != nullptr );
190 | return m_matrix[x][y];
191 | }
192 |
193 |
194 | /*export*/ template
195 | inline const T&
196 | Matrix::operator ()(const size_t x, const size_t y) const {
197 | assert ( x < m_rows );
198 | assert ( y < m_columns );
199 | assert ( m_matrix != nullptr );
200 | return m_matrix[x][y];
201 | }
202 |
203 |
204 | /*export*/ template
205 | const T
206 | Matrix::min() const {
207 | assert( m_matrix != nullptr );
208 | assert ( m_rows > 0 );
209 | assert ( m_columns > 0 );
210 | T min = m_matrix[0][0];
211 |
212 | for ( size_t i = 0 ; i < m_rows ; i++ ) {
213 | for ( size_t j = 0 ; j < m_columns ; j++ ) {
214 | min = std::min(min, m_matrix[i][j]);
215 | }
216 | }
217 |
218 | return min;
219 | }
220 |
221 |
222 | /*export*/ template
223 | const T
224 | Matrix::max() const {
225 | assert( m_matrix != nullptr );
226 | assert ( m_rows > 0 );
227 | assert ( m_columns > 0 );
228 | T max = m_matrix[0][0];
229 |
230 | for ( size_t i = 0 ; i < m_rows ; i++ ) {
231 | for ( size_t j = 0 ; j < m_columns ; j++ ) {
232 | max = std::max(max, m_matrix[i][j]);
233 | }
234 | }
235 |
236 | return max;
237 | }
238 |
--------------------------------------------------------------------------------
/include/matrix.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2007 John Weaver
3 | *
4 | * This program is free software; you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation; either version 2 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program; if not, write to the Free Software
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 | */
18 |
19 | #ifndef _MATRIX_H_
20 | #define _MATRIX_H_
21 |
22 | #include
23 | #include
24 | #include
25 |
26 | template
27 | class Matrix {
28 | public:
29 | Matrix();
30 | Matrix(const size_t rows, const size_t columns);
31 | Matrix(const std::initializer_list> init);
32 | Matrix(const Matrix &other);
33 | Matrix & operator= (const Matrix &other);
34 | ~Matrix();
35 | // all operations modify the matrix in-place.
36 | void resize(const size_t rows, const size_t columns, const T default_value = 0);
37 | void clear();
38 | T& operator () (const size_t x, const size_t y);
39 | const T& operator () (const size_t x, const size_t y) const;
40 | const T min() const;
41 | const T max() const;
42 | inline size_t minsize() { return ((m_rows < m_columns) ? m_rows : m_columns); }
43 | inline size_t columns() const { return m_columns;}
44 | inline size_t rows() const { return m_rows;}
45 |
46 | friend std::ostream& operator<<(std::ostream& os, const Matrix &matrix)
47 | {
48 | os << "Matrix:" << std::endl;
49 | for (size_t row = 0 ; row < matrix.rows() ; row++ )
50 | {
51 | for (size_t col = 0 ; col < matrix.columns() ; col++ )
52 | {
53 | os.width(8);
54 | os << matrix(row, col) << ",";
55 | }
56 | os << std::endl;
57 | }
58 | return os;
59 | }
60 |
61 | private:
62 | T **m_matrix;
63 | size_t m_rows;
64 | size_t m_columns;
65 | };
66 |
67 | #ifndef USE_EXPORT_KEYWORD
68 | #include "matrix.cpp"
69 | //#define export /*export*/
70 | #endif
71 |
72 | #endif /* !defined(_MATRIX_H_) */
73 |
74 |
--------------------------------------------------------------------------------
/include/munkres.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2007 John Weaver
3 | * Copyright (c) 2015 Miroslav Krajicek
4 | *
5 | * This program is free software; you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation; either version 2 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program; if not, write to the Free Software
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | */
19 |
20 | #if !defined(_MUNKRES_H_)
21 | #define _MUNKRES_H_
22 |
23 | #include "matrix.h"
24 |
25 | #include
26 | #include
27 | #include
28 | #include
29 | #include
30 |
31 | template class Munkres
32 | {
33 | static constexpr int NORMAL = 0;
34 | static constexpr int STAR = 1;
35 | static constexpr int PRIME = 2;
36 | public:
37 |
38 | /*
39 | *
40 | * Linear assignment problem solution
41 | * [modifies matrix in-place.]
42 | * matrix(row,col): row major format assumed.
43 | *
44 | * Assignments are remaining 0 values
45 | * (extra 0 values are replaced with -1)
46 | *
47 | */
48 | void solve(Matrix &m) {
49 | const size_t rows = m.rows(),
50 | columns = m.columns(),
51 | size = std::max(rows, columns);
52 |
53 | #ifdef DEBUG
54 | std::cout << "Munkres input: " << m << std::endl;
55 | #endif
56 |
57 | // Copy input matrix
58 | this->matrix = m;
59 |
60 | if ( rows != columns ) {
61 | // If the input matrix isn't square, make it square
62 | // and fill the empty values with the largest value present
63 | // in the matrix.
64 | matrix.resize(size, size, matrix.max());
65 | }
66 |
67 |
68 | // STAR == 1 == starred, PRIME == 2 == primed
69 | mask_matrix.resize(size, size);
70 |
71 | row_mask = new bool[size];
72 | col_mask = new bool[size];
73 | for ( size_t i = 0 ; i < size ; i++ ) {
74 | row_mask[i] = false;
75 | }
76 |
77 | for ( size_t i = 0 ; i < size ; i++ ) {
78 | col_mask[i] = false;
79 | }
80 |
81 | // Prepare the matrix values...
82 |
83 | // If there were any infinities, replace them with a value greater
84 | // than the maximum value in the matrix.
85 | replace_infinites(matrix);
86 |
87 | minimize_along_direction(matrix, rows >= columns);
88 | minimize_along_direction(matrix, rows < columns);
89 |
90 | // Follow the steps
91 | int step = 1;
92 | while ( step ) {
93 | switch ( step ) {
94 | case 1:
95 | step = step1();
96 | // step is always 2
97 | break;
98 | case 2:
99 | step = step2();
100 | // step is always either 0 or 3
101 | break;
102 | case 3:
103 | step = step3();
104 | // step in [3, 4, 5]
105 | break;
106 | case 4:
107 | step = step4();
108 | // step is always 2
109 | break;
110 | case 5:
111 | step = step5();
112 | // step is always 3
113 | break;
114 | }
115 | }
116 |
117 | // Store results
118 | for ( size_t row = 0 ; row < size ; row++ ) {
119 | for ( size_t col = 0 ; col < size ; col++ ) {
120 | if ( mask_matrix(row, col) == STAR ) {
121 | matrix(row, col) = 0;
122 | } else {
123 | matrix(row, col) = -1;
124 | }
125 | }
126 | }
127 |
128 | #ifdef DEBUG
129 | std::cout << "Munkres output: " << matrix << std::endl;
130 | #endif
131 | // Remove the excess rows or columns that we added to fit the
132 | // input to a square matrix.
133 | matrix.resize(rows, columns);
134 |
135 | m = matrix;
136 |
137 | delete [] row_mask;
138 | delete [] col_mask;
139 | }
140 |
141 | static void replace_infinites(Matrix &matrix) {
142 | const size_t rows = matrix.rows(),
143 | columns = matrix.columns();
144 | assert( rows > 0 && columns > 0 );
145 | double max = matrix(0, 0);
146 | constexpr auto infinity = std::numeric_limits::infinity();
147 |
148 | // Find the greatest value in the matrix that isn't infinity.
149 | for ( size_t row = 0 ; row < rows ; row++ ) {
150 | for ( size_t col = 0 ; col < columns ; col++ ) {
151 | if ( matrix(row, col) != infinity ) {
152 | if ( max == infinity ) {
153 | max = matrix(row, col);
154 | } else {
155 | max = std::max(max, matrix(row, col));
156 | }
157 | }
158 | }
159 | }
160 |
161 | // a value higher than the maximum value present in the matrix.
162 | if ( max == infinity ) {
163 | // This case only occurs when all values are infinite.
164 | max = 0;
165 | } else {
166 | max++;
167 | }
168 |
169 | for ( size_t row = 0 ; row < rows ; row++ ) {
170 | for ( size_t col = 0 ; col < columns ; col++ ) {
171 | if ( matrix(row, col) == infinity ) {
172 | matrix(row, col) = max;
173 | }
174 | }
175 | }
176 |
177 | }
178 |
179 | static void minimize_along_direction(Matrix &matrix, const bool over_columns) {
180 | const size_t outer_size = over_columns ? matrix.columns() : matrix.rows(),
181 | inner_size = over_columns ? matrix.rows() : matrix.columns();
182 |
183 | // Look for a minimum value to subtract from all values along
184 | // the "outer" direction.
185 | for ( size_t i = 0 ; i < outer_size ; i++ ) {
186 | double min = over_columns ? matrix(0, i) : matrix(i, 0);
187 |
188 | // As long as the current minimum is greater than zero,
189 | // keep looking for the minimum.
190 | // Start at one because we already have the 0th value in min.
191 | for ( size_t j = 1 ; j < inner_size && min > 0 ; j++ ) {
192 | min = std::min(
193 | min,
194 | over_columns ? matrix(j, i) : matrix(i, j));
195 | }
196 |
197 | if ( min > 0 ) {
198 | for ( size_t j = 0 ; j < inner_size ; j++ ) {
199 | if ( over_columns ) {
200 | matrix(j, i) -= min;
201 | } else {
202 | matrix(i, j) -= min;
203 | }
204 | }
205 | }
206 | }
207 | }
208 |
209 | private:
210 |
211 | inline bool find_uncovered_in_matrix(const double item, size_t &row, size_t &col) const {
212 | const size_t rows = matrix.rows(),
213 | columns = matrix.columns();
214 |
215 | for ( row = 0 ; row < rows ; row++ ) {
216 | if ( !row_mask[row] ) {
217 | for ( col = 0 ; col < columns ; col++ ) {
218 | if ( !col_mask[col] ) {
219 | if ( matrix(row,col) == item ) {
220 | return true;
221 | }
222 | }
223 | }
224 | }
225 | }
226 |
227 | return false;
228 | }
229 |
230 | bool pair_in_list(const std::pair &needle, const std::list > &haystack) {
231 | for ( std::list >::const_iterator i = haystack.begin() ; i != haystack.end() ; i++ ) {
232 | if ( needle == *i ) {
233 | return true;
234 | }
235 | }
236 |
237 | return false;
238 | }
239 |
240 | int step1() {
241 | const size_t rows = matrix.rows(),
242 | columns = matrix.columns();
243 |
244 | for ( size_t row = 0 ; row < rows ; row++ ) {
245 | for ( size_t col = 0 ; col < columns ; col++ ) {
246 | if ( 0 == matrix(row, col) ) {
247 | for ( size_t nrow = 0 ; nrow < row ; nrow++ )
248 | if ( STAR == mask_matrix(nrow,col) )
249 | goto next_column;
250 |
251 | mask_matrix(row,col) = STAR;
252 | goto next_row;
253 | }
254 | next_column:;
255 | }
256 | next_row:;
257 | }
258 |
259 | return 2;
260 | }
261 |
262 | int step2() {
263 | const size_t rows = matrix.rows(),
264 | columns = matrix.columns();
265 | size_t covercount = 0;
266 |
267 | for ( size_t row = 0 ; row < rows ; row++ )
268 | for ( size_t col = 0 ; col < columns ; col++ )
269 | if ( STAR == mask_matrix(row, col) ) {
270 | col_mask[col] = true;
271 | covercount++;
272 | }
273 |
274 | if ( covercount >= matrix.minsize() ) {
275 | #ifdef DEBUG
276 | std::cout << "Final cover count: " << covercount << std::endl;
277 | #endif
278 | return 0;
279 | }
280 |
281 | #ifdef DEBUG
282 | std::cout << "Munkres matrix has " << covercount << " of " << matrix.minsize() << " Columns covered:" << std::endl;
283 | std::cout << matrix << std::endl;
284 | #endif
285 |
286 |
287 | return 3;
288 | }
289 |
290 | int step3() {
291 | /*
292 | Main Zero Search
293 |
294 | 1. Find an uncovered Z in the distance matrix and prime it. If no such zero exists, go to Step 5
295 | 2. If No Z* exists in the row of the Z', go to Step 4.
296 | 3. If a Z* exists, cover this row and uncover the column of the Z*. Return to Step 3.1 to find a new Z
297 | */
298 | if ( find_uncovered_in_matrix(0, saverow, savecol) ) {
299 | mask_matrix(saverow,savecol) = PRIME; // prime it.
300 | } else {
301 | return 5;
302 | }
303 |
304 | for ( size_t ncol = 0 ; ncol < matrix.columns() ; ncol++ ) {
305 | if ( mask_matrix(saverow,ncol) == STAR ) {
306 | row_mask[saverow] = true; //cover this row and
307 | col_mask[ncol] = false; // uncover the column containing the starred zero
308 | return 3; // repeat
309 | }
310 | }
311 |
312 | return 4; // no starred zero in the row containing this primed zero
313 | }
314 |
315 | int step4() {
316 | const size_t rows = matrix.rows(),
317 | columns = matrix.columns();
318 |
319 | // seq contains pairs of row/column values where we have found
320 | // either a star or a prime that is part of the ``alternating sequence``.
321 | std::list > seq;
322 | // use saverow, savecol from step 3.
323 | std::pair z0(saverow, savecol);
324 | seq.insert(seq.end(), z0);
325 |
326 | // We have to find these two pairs:
327 | std::pair z1(-1, -1);
328 | std::pair z2n(-1, -1);
329 |
330 | size_t row, col = savecol;
331 | /*
332 | Increment Set of Starred Zeros
333 |
334 | 1. Construct the ``alternating sequence'' of primed and starred zeros:
335 |
336 | Z0 : Unpaired Z' from Step 4.2
337 | Z1 : The Z* in the column of Z0
338 | Z[2N] : The Z' in the row of Z[2N-1], if such a zero exists
339 | Z[2N+1] : The Z* in the column of Z[2N]
340 |
341 | The sequence eventually terminates with an unpaired Z' = Z[2N] for some N.
342 | */
343 | bool madepair;
344 | do {
345 | madepair = false;
346 | for ( row = 0 ; row < rows ; row++ ) {
347 | if ( mask_matrix(row,col) == STAR ) {
348 | z1.first = row;
349 | z1.second = col;
350 | if ( pair_in_list(z1, seq) ) {
351 | continue;
352 | }
353 |
354 | madepair = true;
355 | seq.insert(seq.end(), z1);
356 | break;
357 | }
358 | }
359 |
360 | if ( !madepair )
361 | break;
362 |
363 | madepair = false;
364 |
365 | for ( col = 0 ; col < columns ; col++ ) {
366 | if ( mask_matrix(row, col) == PRIME ) {
367 | z2n.first = row;
368 | z2n.second = col;
369 | if ( pair_in_list(z2n, seq) ) {
370 | continue;
371 | }
372 | madepair = true;
373 | seq.insert(seq.end(), z2n);
374 | break;
375 | }
376 | }
377 | } while ( madepair );
378 |
379 | for ( std::list >::iterator i = seq.begin() ;
380 | i != seq.end() ;
381 | i++ ) {
382 | // 2. Unstar each starred zero of the sequence.
383 | if ( mask_matrix(i->first,i->second) == STAR )
384 | mask_matrix(i->first,i->second) = NORMAL;
385 |
386 | // 3. Star each primed zero of the sequence,
387 | // thus increasing the number of starred zeros by one.
388 | if ( mask_matrix(i->first,i->second) == PRIME )
389 | mask_matrix(i->first,i->second) = STAR;
390 | }
391 |
392 | // 4. Erase all primes, uncover all columns and rows,
393 | for ( size_t row = 0 ; row < mask_matrix.rows() ; row++ ) {
394 | for ( size_t col = 0 ; col < mask_matrix.columns() ; col++ ) {
395 | if ( mask_matrix(row,col) == PRIME ) {
396 | mask_matrix(row,col) = NORMAL;
397 | }
398 | }
399 | }
400 |
401 | for ( size_t i = 0 ; i < rows ; i++ ) {
402 | row_mask[i] = false;
403 | }
404 |
405 | for ( size_t i = 0 ; i < columns ; i++ ) {
406 | col_mask[i] = false;
407 | }
408 |
409 | // and return to Step 2.
410 | return 2;
411 | }
412 |
413 | int step5() {
414 | const size_t rows = matrix.rows(),
415 | columns = matrix.columns();
416 | /*
417 | New Zero Manufactures
418 |
419 | 1. Let h be the smallest uncovered entry in the (modified) distance matrix.
420 | 2. Add h to all covered rows.
421 | 3. Subtract h from all uncovered columns
422 | 4. Return to Step 3, without altering stars, primes, or covers.
423 | */
424 | double h = std::numeric_limits::max();
425 | for ( size_t row = 0 ; row < rows ; row++ ) {
426 | if ( !row_mask[row] ) {
427 | for ( size_t col = 0 ; col < columns ; col++ ) {
428 | if ( !col_mask[col] ) {
429 | if ( h > matrix(row, col) && matrix(row, col) != 0 ) {
430 | h = matrix(row, col);
431 | }
432 | }
433 | }
434 | }
435 | }
436 |
437 | for ( size_t row = 0 ; row < rows ; row++ ) {
438 | if ( row_mask[row] ) {
439 | for ( size_t col = 0 ; col < columns ; col++ ) {
440 | matrix(row, col) += h;
441 | }
442 | }
443 | }
444 |
445 | for ( size_t col = 0 ; col < columns ; col++ ) {
446 | if ( !col_mask[col] ) {
447 | for ( size_t row = 0 ; row < rows ; row++ ) {
448 | matrix(row, col) -= h;
449 | }
450 | }
451 | }
452 |
453 | return 3;
454 | }
455 |
456 | Matrix mask_matrix;
457 | Matrix matrix;
458 | bool *row_mask;
459 | bool *col_mask;
460 | size_t saverow = 0, savecol = 0;
461 | };
462 |
463 |
464 | #endif /* !defined(_MUNKRES_H_) */
465 |
--------------------------------------------------------------------------------
/include/track.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "kalman_filter.h"
5 |
6 | class Track {
7 | public:
8 | // Constructor
9 | Track();
10 |
11 | // Destructor
12 | ~Track() = default;
13 |
14 | void Init(const cv::Rect& bbox);
15 | void Predict();
16 | void Update(const cv::Rect& bbox);
17 | cv::Rect GetStateAsBbox() const;
18 | float GetNIS() const;
19 |
20 | int coast_cycles_ = 0, hit_streak_ = 0;
21 |
22 | private:
23 | Eigen::VectorXd ConvertBboxToObservation(const cv::Rect& bbox) const;
24 | cv::Rect ConvertStateToBbox(const Eigen::VectorXd &state) const;
25 |
26 | KalmanFilter kf_;
27 | };
28 |
--------------------------------------------------------------------------------
/include/tracker.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include