multi-person analysis almost there
@ -1,40 +0,0 @@
|
|||||||
import os
|
|
||||||
import toml
|
|
||||||
|
|
||||||
def test_workflow():
|
|
||||||
|
|
||||||
from Pose2Sim import Pose2Sim
|
|
||||||
|
|
||||||
|
|
||||||
# Calibration
|
|
||||||
config_dict = toml.load('Config.toml')
|
|
||||||
config_dict.get("project").update({"project_dir":"."})
|
|
||||||
Pose2Sim.calibration(config_dict)
|
|
||||||
|
|
||||||
|
|
||||||
# Static trial
|
|
||||||
project_dir = os.path.join("S00_P00_SingleParticipant","S00_P00_T00_StaticTrial")
|
|
||||||
config_dict.get("project").update({"project_dir":project_dir})
|
|
||||||
config_dict['filtering']['display_figures'] = False
|
|
||||||
|
|
||||||
# Pose2Sim.poseEstimation(config_dict)
|
|
||||||
# Pose2Sim.synchronization(config_dict)
|
|
||||||
Pose2Sim.personAssociation(config_dict)
|
|
||||||
Pose2Sim.triangulation(config_dict)
|
|
||||||
Pose2Sim.filtering(config_dict)
|
|
||||||
Pose2Sim.markerAugmentation(config_dict)
|
|
||||||
# Pose2Sim.kinematics(config_dict)
|
|
||||||
|
|
||||||
|
|
||||||
# Balancing trial
|
|
||||||
project_dir = os.path.join("S00_P00_SingleParticipant","S00_P00_T01_BalancingTrial")
|
|
||||||
config_dict.get("project").update({"project_dir":project_dir})
|
|
||||||
config_dict['filtering']['display_figures'] = False
|
|
||||||
|
|
||||||
# Pose2Sim.poseEstimation(config_dict)
|
|
||||||
# Pose2Sim.synchronization(config_dict)
|
|
||||||
Pose2Sim.personAssociation(config_dict)
|
|
||||||
Pose2Sim.triangulation(config_dict)
|
|
||||||
Pose2Sim.filtering(config_dict)
|
|
||||||
Pose2Sim.markerAugmentation(config_dict)
|
|
||||||
# Pose2Sim.kinematics(config_dict)
|
|
@ -1,250 +0,0 @@
|
|||||||
###############################################################################
|
|
||||||
## PROJECT PARAMETERS ##
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Configure your project parameters here.
|
|
||||||
#
|
|
||||||
# IMPORTANT:
|
|
||||||
# If a parameter is not found here, Pose2Sim will look for its value in the
|
|
||||||
# Config.toml file of the level above. This way, you can set global
|
|
||||||
# instructions for the Session and alter them for specific Participants or Trials.
|
|
||||||
#
|
|
||||||
# If you wish to overwrite a parameter for a specific trial or participant,
|
|
||||||
# edit its Config.toml file by uncommenting its key (e.g., [project])
|
|
||||||
# and editing its value (e.g., frame_range = [10,300]). Or else, uncomment
|
|
||||||
# [filtering.butterworth] and set cut_off_frequency = 10, etc.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[project]
|
|
||||||
frame_rate = 60 # fps
|
|
||||||
frame_range = [] # For example [10,300], or [] for all frames
|
|
||||||
## N.B.: If you want a time range instead, use frame_range = time_range * frame_rate
|
|
||||||
## For example if you want to analyze from 0.1 to 2 seconds with a 60 fps frame rate,
|
|
||||||
## frame_range = [0.1, 2.0]*frame_rate = [6, 120]
|
|
||||||
|
|
||||||
exclude_from_batch = [] # List of trials to be excluded from batch analysis, ['<participant_dir/trial_dir>', 'etc'].
|
|
||||||
# e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P00_Participant/S00_P00_T01_BalancingTrial']
|
|
||||||
# Take heart, calibration is not that complicated once you get the hang of it!
|
|
||||||
|
|
||||||
|
|
||||||
[calibration]
|
|
||||||
calibration_type = 'convert' # 'convert' or 'calculate'
|
|
||||||
|
|
||||||
[calibration.convert]
|
|
||||||
convert_from = 'qualisys' # 'qualisys', 'optitrack', vicon', 'opencap', 'easymocap', 'biocv', 'anipose', or 'freemocap'
|
|
||||||
[calibration.convert.qualisys]
|
|
||||||
binning_factor = 1 # Usually 1, except when filming in 540p where it usually is 2
|
|
||||||
[calibration.convert.optitrack] # See readme for instructions
|
|
||||||
[calibration.convert.vicon] # No parameter needed
|
|
||||||
[calibration.convert.opencap] # No parameter needed
|
|
||||||
[calibration.convert.easymocap] # No parameter needed
|
|
||||||
[calibration.convert.biocv] # No parameter needed
|
|
||||||
[calibration.convert.anipose] # No parameter needed
|
|
||||||
[calibration.convert.freemocap] # No parameter needed
|
|
||||||
|
|
||||||
|
|
||||||
[calibration.calculate]
|
|
||||||
# Camera properties, theoretically need to be calculated only once in a camera lifetime
|
|
||||||
[calibration.calculate.intrinsics]
|
|
||||||
overwrite_intrinsics = false # overwrite (or not) if they have already been calculated?
|
|
||||||
show_detection_intrinsics = true # true or false (lowercase)
|
|
||||||
intrinsics_extension = 'jpg' # any video or image extension
|
|
||||||
extract_every_N_sec = 1 # if video, extract frames every N seconds (can be <1 )
|
|
||||||
intrinsics_corners_nb = [4,7]
|
|
||||||
intrinsics_square_size = 60 # mm
|
|
||||||
|
|
||||||
# Camera placements, need to be done before every session
|
|
||||||
[calibration.calculate.extrinsics]
|
|
||||||
calculate_extrinsics = true # true or false (lowercase)
|
|
||||||
extrinsics_method = 'scene' # 'board', 'scene', 'keypoints'
|
|
||||||
# 'board' should be large enough to be detected when laid on the floor. Not recommended.
|
|
||||||
# 'scene' involves manually clicking any point of know coordinates on scene. Usually more accurate if points are spread out.
|
|
||||||
# 'keypoints' uses automatic pose estimation of a person freely walking and waving arms in the scene. Slighlty less accurate, requires synchronized cameras.
|
|
||||||
moving_cameras = false # Not implemented yet
|
|
||||||
|
|
||||||
[calibration.calculate.extrinsics.board]
|
|
||||||
show_reprojection_error = true # true or false (lowercase)
|
|
||||||
extrinsics_extension = 'png' # any video or image extension
|
|
||||||
extrinsics_corners_nb = [4,7] # [H,W] rather than [w,h]
|
|
||||||
extrinsics_square_size = 60 # mm # [h,w] if square is actually a rectangle
|
|
||||||
|
|
||||||
[calibration.calculate.extrinsics.scene]
|
|
||||||
show_reprojection_error = true # true or false (lowercase)
|
|
||||||
extrinsics_extension = 'png' # any video or image extension
|
|
||||||
# list of 3D coordinates to be manually labelled on images. Can also be a 2 dimensional plane.
|
|
||||||
# in m -> unlike for intrinsics, NOT in mm!
|
|
||||||
object_coords_3d = [[-2.0, 0.3, 0.0],
|
|
||||||
[-2.0 , 0.0, 0.0],
|
|
||||||
[-2.0, 0.0, 0.05],
|
|
||||||
[-2.0, -0.3 , 0.0],
|
|
||||||
[0.0, 0.3, 0.0],
|
|
||||||
[0.0, 0.0, 0.0],
|
|
||||||
[0.0, 0.0, 0.05],
|
|
||||||
[0.0, -0.3, 0.0]]
|
|
||||||
|
|
||||||
[calibration.calculate.extrinsics.keypoints]
|
|
||||||
# Coming soon!
|
|
||||||
|
|
||||||
|
|
||||||
[pose]
|
|
||||||
pose_framework = 'openpose' # 'openpose', 'mediapipe', 'alphapose', 'deeplabcut'
|
|
||||||
pose_model = 'BODY_25B' #With openpose: BODY_25B, BODY_25, BODY_135, COCO, MPII
|
|
||||||
#With mediapipe: BLAZEPOSE.
|
|
||||||
#With alphapose: HALPE_26, HALPE_68, HALPE_136, COCO_133.
|
|
||||||
#With deeplabcut: CUSTOM. See example at the end of the file.
|
|
||||||
# What follows has not been implemented yet
|
|
||||||
overwrite_pose = false
|
|
||||||
openpose_path = '' # only checked if OpenPose is used
|
|
||||||
|
|
||||||
|
|
||||||
[synchronization]
|
|
||||||
# COMING SOON!
|
|
||||||
reset_sync = true # Recalculate synchronization even if already done
|
|
||||||
frames = [2850,3490] # Frames to use for synchronization, should point to a moment with fast motion.
|
|
||||||
cut_off_frequency = 10 # cut-off frequency for a 4th order low-pass Butterworth filter
|
|
||||||
# Vertical speeds (on X, Y, or Z axis, or 2D speeds)
|
|
||||||
speed_kind = 'y' # 'x', 'y', 'z', or '2D'
|
|
||||||
vmax = 20 # px/s
|
|
||||||
cam1_nb = 4
|
|
||||||
cam2_nb = 3
|
|
||||||
id_kpt = [9,10] # Pour plus tard aller chercher numéro depuis keypoint name dans skeleton.py. 'RWrist' BLAZEPOSE 16, BODY_25B 10, BODY_25 4 ; 'LWrist' BLAZEPOSE 15, BODY_25B 9, BODY_25 7
|
|
||||||
weights_kpt = [1,1] # Pris en compte uniquement si on a plusieurs keypoints
|
|
||||||
|
|
||||||
|
|
||||||
[personAssociation]
|
|
||||||
single_person = true # false for multi-person analysis (not supported yet), true for only triangulating the main person in scene.
|
|
||||||
tracked_keypoint = 'Neck' # If the neck is not detected by the pose_model, check skeleton.py
|
|
||||||
# and choose a stable point for tracking the person of interest (e.g., 'right_shoulder' with BLAZEPOSE)
|
|
||||||
reproj_error_threshold_association = 20 # px
|
|
||||||
likelihood_threshold_association = 0.2
|
|
||||||
|
|
||||||
|
|
||||||
[triangulation]
|
|
||||||
reproj_error_threshold_triangulation = 15 # px
|
|
||||||
likelihood_threshold_triangulation = 0.3
|
|
||||||
min_cameras_for_triangulation = 2
|
|
||||||
interpolation = 'cubic' #linear, slinear, quadratic, cubic, or none
|
|
||||||
# 'none' if you don't want to interpolate missing points
|
|
||||||
interp_if_gap_smaller_than = 10 # do not interpolate bigger gaps
|
|
||||||
show_interp_indices = true # true or false (lowercase). For each keypoint, return the frames that need to be interpolated
|
|
||||||
handle_LR_swap = false # Better if few cameras (eg less than 4) with risk of limb swapping (eg camera facing sagittal plane), otherwise slightly less accurate and slower
|
|
||||||
undistort_points = false # Better if distorted image (parallel lines curvy on the edge or at least one param > 10^-2), but unnecessary (and slightly slower) if distortions are low
|
|
||||||
make_c3d = false # save triangulated data in c3d format in addition to trc # Coming soon!
|
|
||||||
|
|
||||||
|
|
||||||
[filtering]
|
|
||||||
type = 'butterworth' # butterworth, kalman, gaussian, LOESS, median, butterworth_on_speed
|
|
||||||
display_figures = true # true or false (lowercase)
|
|
||||||
|
|
||||||
[filtering.butterworth]
|
|
||||||
order = 4
|
|
||||||
cut_off_frequency = 6 # Hz
|
|
||||||
[filtering.kalman]
|
|
||||||
# How much more do you trust triangulation results (measurements), than previous data (process assuming constant acceleration)?
|
|
||||||
trust_ratio = 100 # = measurement_trust/process_trust ~= process_noise/measurement_noise
|
|
||||||
smooth = true # should be true, unless you need real-time filtering
|
|
||||||
[filtering.butterworth_on_speed]
|
|
||||||
order = 4
|
|
||||||
cut_off_frequency = 10 # Hz
|
|
||||||
[filtering.gaussian]
|
|
||||||
sigma_kernel = 2 #px
|
|
||||||
[filtering.LOESS]
|
|
||||||
nb_values_used = 30 # = fraction of data used * nb frames
|
|
||||||
[filtering.median]
|
|
||||||
kernel_size = 9
|
|
||||||
|
|
||||||
|
|
||||||
[markerAugmentation]
|
|
||||||
## Only works on BODY_25 and BODY_25B models
|
|
||||||
participant_height = 1.7 # m
|
|
||||||
participant_mass = 70 # kg
|
|
||||||
|
|
||||||
|
|
||||||
[opensim]
|
|
||||||
static_trial = ['S00_P00_Participant/S00_P00_T00_StaticTrial']
|
|
||||||
# # If this Config.toml file is at the Trial level, set to true or false (lowercase);
|
|
||||||
# # At the Participant level, specify the name of the static trial folder name, e.g. ['S00_P00_T00_StaticTrial'];
|
|
||||||
# # At the Session level, add participant subdirectory, e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P01_Participant/S00_P00_T00_StaticTrial']
|
|
||||||
opensim_bin_path = 'C:\OpenSim 4.4\bin'
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# CUSTOM skeleton, if you trained your own DeepLabCut model for example.
|
|
||||||
# Make sure the node ids correspond to the column numbers of the 2D pose file, starting from zero.
|
|
||||||
#
|
|
||||||
# If you want to perform inverse kinematics, you will also need to create an OpenSim model
|
|
||||||
# and add to its markerset the location where you expect the triangulated keypoints to be detected.
|
|
||||||
#
|
|
||||||
# In this example, CUSTOM reproduces the BODY_25B skeleton (default skeletons are stored in skeletons.py).
|
|
||||||
# You can create as many custom skeletons as you want, just add them further down and rename them.
|
|
||||||
#
|
|
||||||
# Check your model hierarchy with: for pre, _, node in RenderTree(model):
|
|
||||||
# print(f'{pre}{node.name} id={node.id}')
|
|
||||||
[pose.CUSTOM]
|
|
||||||
name = "CHip"
|
|
||||||
id = "None"
|
|
||||||
[[pose.CUSTOM.children]]
|
|
||||||
id = 12
|
|
||||||
name = "RHip"
|
|
||||||
[[pose.CUSTOM.children.children]]
|
|
||||||
id = 14
|
|
||||||
name = "RKnee"
|
|
||||||
[[pose.CUSTOM.children.children.children]]
|
|
||||||
id = 16
|
|
||||||
name = "RAnkle"
|
|
||||||
[[pose.CUSTOM.children.children.children.children]]
|
|
||||||
id = 22
|
|
||||||
name = "RBigToe"
|
|
||||||
[[pose.CUSTOM.children.children.children.children.children]]
|
|
||||||
id = 23
|
|
||||||
name = "RSmallToe"
|
|
||||||
[[pose.CUSTOM.children.children.children.children]]
|
|
||||||
id = 24
|
|
||||||
name = "RHeel"
|
|
||||||
[[pose.CUSTOM.children]]
|
|
||||||
id = 11
|
|
||||||
name = "LHip"
|
|
||||||
[[pose.CUSTOM.children.children]]
|
|
||||||
id = 13
|
|
||||||
name = "LKnee"
|
|
||||||
[[pose.CUSTOM.children.children.children]]
|
|
||||||
id = 15
|
|
||||||
name = "LAnkle"
|
|
||||||
[[pose.CUSTOM.children.children.children.children]]
|
|
||||||
id = 19
|
|
||||||
name = "LBigToe"
|
|
||||||
[[pose.CUSTOM.children.children.children.children.children]]
|
|
||||||
id = 20
|
|
||||||
name = "LSmallToe"
|
|
||||||
[[pose.CUSTOM.children.children.children.children]]
|
|
||||||
id = 21
|
|
||||||
name = "LHeel"
|
|
||||||
[[pose.CUSTOM.children]]
|
|
||||||
id = 17
|
|
||||||
name = "Neck"
|
|
||||||
[[pose.CUSTOM.children.children]]
|
|
||||||
id = 18
|
|
||||||
name = "Head"
|
|
||||||
[[pose.CUSTOM.children.children.children]]
|
|
||||||
id = 0
|
|
||||||
name = "Nose"
|
|
||||||
[[pose.CUSTOM.children.children]]
|
|
||||||
id = 6
|
|
||||||
name = "RShoulder"
|
|
||||||
[[pose.CUSTOM.children.children.children]]
|
|
||||||
id = 8
|
|
||||||
name = "RElbow"
|
|
||||||
[[pose.CUSTOM.children.children.children.children]]
|
|
||||||
id = 10
|
|
||||||
name = "RWrist"
|
|
||||||
[[pose.CUSTOM.children.children]]
|
|
||||||
id = 5
|
|
||||||
name = "LShoulder"
|
|
||||||
[[pose.CUSTOM.children.children.children]]
|
|
||||||
id = 7
|
|
||||||
name = "LElbow"
|
|
||||||
[[pose.CUSTOM.children.children.children.children]]
|
|
||||||
id = 9
|
|
||||||
name = "LWrist"
|
|
@ -1,250 +0,0 @@
|
|||||||
###############################################################################
|
|
||||||
## PROJECT PARAMETERS ##
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Configure your project parameters here.
|
|
||||||
#
|
|
||||||
# IMPORTANT:
|
|
||||||
# If a parameter is not found here, Pose2Sim will look for its value in the
|
|
||||||
# Config.toml file of the level above. This way, you can set global
|
|
||||||
# instructions for the Session and alter them for specific Participants or Trials.
|
|
||||||
#
|
|
||||||
# If you wish to overwrite a parameter for a specific trial or participant,
|
|
||||||
# edit its Config.toml file by uncommenting its key (e.g., [project])
|
|
||||||
# and editing its value (e.g., frame_range = [10,300]). Or else, uncomment
|
|
||||||
# [filtering.butterworth] and set cut_off_frequency = 10, etc.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [project]
|
|
||||||
# frame_rate = 60 # FPS
|
|
||||||
# frame_range = [] # For example [10,300], or [] for all frames
|
|
||||||
## N.B.: If you want a time range instead, use frame_range = time_range * frame_rate
|
|
||||||
## For example if you want to analyze from 0.1 to 2 seconds with a 60 fps frame rate,
|
|
||||||
## frame_range = [0.1, 2.0]*frame_rate = [6, 120]
|
|
||||||
|
|
||||||
# exclude_from_batch = [] # List of trials to be excluded from batch analysis, ['<participant_dir/trial_dir>', 'etc'].
|
|
||||||
# e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P00_Participant/S00_P00_T01_BalancingTrial']
|
|
||||||
## Take heart, calibration is not that complicated once you get the hang of it!
|
|
||||||
|
|
||||||
|
|
||||||
# [calibration]
|
|
||||||
# calibration_type = 'convert' # 'convert' or 'calculate'
|
|
||||||
|
|
||||||
# [calibration.convert]
|
|
||||||
# convert_from = 'qualisys' # 'qualisys', 'optitrack', vicon', 'opencap', 'easymocap', or 'biocv'
|
|
||||||
# [calibration.convert.qualisys]
|
|
||||||
# binning_factor = 1 # Usually 1, except when filming in 540p where it usually is 2
|
|
||||||
# [calibration.convert.optitrack] # See readme for instructions
|
|
||||||
# [calibration.convert.vicon] # No parameter needed
|
|
||||||
# [calibration.convert.opencap] # No parameter needed
|
|
||||||
# [calibration.convert.easymocap] # No parameter needed
|
|
||||||
# [calibration.convert.biocv] # No parameter needed
|
|
||||||
# [calibration.convert.anipose] # No parameter needed
|
|
||||||
# [calibration.convert.freemocap] # No parameter needed
|
|
||||||
|
|
||||||
|
|
||||||
# [calibration.calculate]
|
|
||||||
## Camera properties, theoretically need to be calculated only once in a camera lifetime
|
|
||||||
# [calibration.calculate.intrinsics]
|
|
||||||
# overwrite_intrinsics = false # overwrite (or not) if they have already been calculated?
|
|
||||||
# show_detection_intrinsics = true # true or false (lowercase)
|
|
||||||
# intrinsics_extension = 'jpg' # any video or image extension
|
|
||||||
# extract_every_N_sec = 1 # if video, extract frames every N seconds (can be <1 )
|
|
||||||
# intrinsics_corners_nb = [4,7]
|
|
||||||
# intrinsics_square_size = 60 # mm
|
|
||||||
|
|
||||||
## Camera placements, need to be done before every session
|
|
||||||
# [calibration.calculate.extrinsics]
|
|
||||||
# extrinsics_method = 'scene' # 'board', 'scene', 'keypoints'
|
|
||||||
## 'board' should be large enough to be detected when laid on the floor. Not recommended.
|
|
||||||
## 'scene' involves manually clicking any point of know coordinates on scene. Usually more accurate if points are spread out.
|
|
||||||
## 'keypoints' uses automatic pose estimation of a person freely walking and waving arms in the scene. Slighlty less accurate, requires synchronized cameras.
|
|
||||||
|
|
||||||
# moving_cameras = false # Not implemented yet
|
|
||||||
# calculate_extrinsics = true # true or false (lowercase)
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.board]
|
|
||||||
# show_reprojection_error = true # true or false (lowercase)
|
|
||||||
# extrinsics_extension = 'png' # any video or image extension
|
|
||||||
# extrinsics_corners_nb = [4,7] # [H,W] rather than [w,h]
|
|
||||||
# extrinsics_square_size = 60 # mm # [h,w] if square is actually a rectangle
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.scene]
|
|
||||||
# show_reprojection_error = true # true or false (lowercase)
|
|
||||||
# extrinsics_extension = 'png' # any video or image extension
|
|
||||||
## list of 3D coordinates to be manually labelled on images. Can also be a 2 dimensional plane.
|
|
||||||
## in m -> unlike for intrinsics, NOT in mm!
|
|
||||||
# object_coords_3d = [[-2.0, 0.3, 0.0],
|
|
||||||
# [-2.0 , 0.0, 0.0],
|
|
||||||
# [-2.0, 0.0, 0.05],
|
|
||||||
# [-2.0, -0.3 , 0.0],
|
|
||||||
# [0.0, 0.3, 0.0],
|
|
||||||
# [0.0, 0.0, 0.0],
|
|
||||||
# [0.0, 0.0, 0.05],
|
|
||||||
# [0.0, -0.3, 0.0]]
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.keypoints]
|
|
||||||
## Coming soon!
|
|
||||||
|
|
||||||
|
|
||||||
# [pose]
|
|
||||||
# pose_framework = 'openpose' # 'openpose', 'mediapipe', 'alphapose', 'deeplabcut'
|
|
||||||
# pose_model = 'BODY_25B' #With openpose: BODY_25B, BODY_25, BODY_135, COCO, MPII,
|
|
||||||
# #With mediapipe: BLAZEPOSE.
|
|
||||||
# #With alphapose: HALPE_26, HALPE_68, HALPE_136, COCO_133.
|
|
||||||
# #With deeplabcut: CUSTOM. See example at the end of the file.
|
|
||||||
## What follows has not been implemented yet
|
|
||||||
# overwrite_pose = false
|
|
||||||
# openpose_path = '' # only checked if OpenPose is used
|
|
||||||
|
|
||||||
|
|
||||||
# [synchronization]
|
|
||||||
## COMING SOON!
|
|
||||||
# reset_sync = true # Recalculate synchronization even if already done
|
|
||||||
# frames = [2850,3490] # Frames to use for synchronization, should point to a moment with fast motion.
|
|
||||||
# cut_off_frequency = 10 # cut-off frequency for a 4th order low-pass Butterworth filter
|
|
||||||
## Vertical speeds (on X, Y, or Z axis, or 2D speeds)
|
|
||||||
# speed_kind = 'y' # 'x', 'y', 'z', or '2D'
|
|
||||||
# vmax = 20 # px/s
|
|
||||||
# cam1_nb = 4
|
|
||||||
# cam2_nb = 3
|
|
||||||
# id_kpt = [9,10] # Pour plus tard aller chercher numéro depuis keypoint name dans skeleton.py. 'RWrist' BLAZEPOSE 16, BODY_25B 10, BODY_25 4 ; 'LWrist' BLAZEPOSE 15, BODY_25B 9, BODY_25 7
|
|
||||||
# weights_kpt = [1,1] # Pris en compte uniquement si on a plusieurs keypoints
|
|
||||||
|
|
||||||
|
|
||||||
# [personAssociation]
|
|
||||||
# single_person = true # false for multi-person analysis (not supported yet), true for only triangulating the main person in scene.
|
|
||||||
# tracked_keypoint = 'Neck' # If the neck is not detected by the pose_model, check skeleton.py
|
|
||||||
## and choose a stable point for tracking the person of interest (e.g., 'right_shoulder' with BLAZEPOSE)
|
|
||||||
# reproj_error_threshold_association = 20 # px
|
|
||||||
# likelihood_threshold_association = 0.2
|
|
||||||
|
|
||||||
|
|
||||||
# [triangulation]
|
|
||||||
# reproj_error_threshold_triangulation = 15 # px
|
|
||||||
# likelihood_threshold_triangulation = 0.3
|
|
||||||
# min_cameras_for_triangulation = 2
|
|
||||||
# interpolation = 'cubic' #linear, slinear, quadratic, cubic, or none
|
|
||||||
## 'none' if you don't want to interpolate missing points
|
|
||||||
# interp_if_gap_smaller_than = 10 # do not interpolate bigger gaps
|
|
||||||
# show_interp_indices = true # true or false (lowercase). For each keypoint, return the frames that need to be interpolated
|
|
||||||
# handle_LR_swap = false # Better if few cameras (eg less than 4) with risk of limb swapping (eg camera facing sagittal plane), otherwise slightly less accurate and slower
|
|
||||||
# undistort_points = false # Better if distorted image (parallel lines curvy on the edge or at least one param > 10^-2), but unnecessary (and slightly slower) if distortions are low
|
|
||||||
# make_c3d = false # save triangulated data in c3d format in addition to trc # Coming soon!
|
|
||||||
|
|
||||||
|
|
||||||
# [filtering]
|
|
||||||
# type = 'butterworth' # butterworth, kalman, gaussian, LOESS, median, butterworth_on_speed
|
|
||||||
# display_figures = true # true or false (lowercase)
|
|
||||||
|
|
||||||
# [filtering.butterworth]
|
|
||||||
# order = 4
|
|
||||||
# cut_off_frequency = 6 # Hz
|
|
||||||
# [filtering.kalman]
|
|
||||||
## How much more do you trust triangulation results (measurements), than previous data (process assuming constant acceleration)?
|
|
||||||
# trust_ratio = 100 # = measurement_trust/process_trust ~= process_noise/measurement_noise
|
|
||||||
# smooth = true # should be true, unless you need real-time filtering
|
|
||||||
# [filtering.butterworth_on_speed]
|
|
||||||
# order = 4
|
|
||||||
# cut_off_frequency = 10 # Hz
|
|
||||||
# [filtering.gaussian]
|
|
||||||
# sigma_kernel = 2 #px
|
|
||||||
# [filtering.LOESS]
|
|
||||||
# nb_values_used = 30 # = fraction of data used * nb frames
|
|
||||||
# [filtering.median]
|
|
||||||
# kernel_size = 9
|
|
||||||
|
|
||||||
|
|
||||||
# [markerAugmentation]
|
|
||||||
# ## Only works on BODY_25 and BODY_25B models
|
|
||||||
# participant_height = 1.7 # m
|
|
||||||
# participant_mass = 70 # kg
|
|
||||||
|
|
||||||
|
|
||||||
# [opensim]
|
|
||||||
# static_trial = ['S00_P00_Participant/S00_P00_T00_StaticTrial']
|
|
||||||
# # If this Config.toml file is at the Trial level, set to true or false (lowercase);
|
|
||||||
# # At the Participant level, specify the name of the static trial folder name, e.g. ['S00_P00_T00_StaticTrial'];
|
|
||||||
# # At the Session level, add participant subdirectory, e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P01_Participant/S00_P00_T00_StaticTrial']
|
|
||||||
# opensim_bin_path = 'C:\OpenSim 4.4\bin'
|
|
||||||
|
|
||||||
|
|
||||||
## CUSTOM skeleton, if you trained your own DeepLabCut model for example.
|
|
||||||
## Make sure the node ids correspond to the column numbers of the 2D pose file, starting from zero.
|
|
||||||
##
|
|
||||||
## If you want to perform inverse kinematics, you will also need to create an OpenSim model
|
|
||||||
## and add to its markerset the location where you expect the triangulated keypoints to be detected.
|
|
||||||
##
|
|
||||||
## In this example, CUSTOM reproduces the BODY_25B skeleton (default skeletons are stored in skeletons.py).
|
|
||||||
## You can create as many custom skeletons as you want, just add them further down and rename them.
|
|
||||||
##
|
|
||||||
## Check your model hierarchy with: for pre, _, node in RenderTree(model):
|
|
||||||
## print(f'{pre}{node.name} id={node.id}')
|
|
||||||
# [pose.CUSTOM]
|
|
||||||
# name = "CHip"
|
|
||||||
# id = "None"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 12
|
|
||||||
# name = "RHip"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 14
|
|
||||||
# name = "RKnee"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 16
|
|
||||||
# name = "RAnkle"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 22
|
|
||||||
# name = "RBigToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children.children]]
|
|
||||||
# id = 23
|
|
||||||
# name = "RSmallToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 24
|
|
||||||
# name = "RHeel"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 11
|
|
||||||
# name = "LHip"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 13
|
|
||||||
# name = "LKnee"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 15
|
|
||||||
# name = "LAnkle"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 19
|
|
||||||
# name = "LBigToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children.children]]
|
|
||||||
# id = 20
|
|
||||||
# name = "LSmallToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 21
|
|
||||||
# name = "LHeel"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 17
|
|
||||||
# name = "Neck"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 18
|
|
||||||
# name = "Head"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 0
|
|
||||||
# name = "Nose"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 6
|
|
||||||
# name = "RShoulder"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 8
|
|
||||||
# name = "RElbow"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 10
|
|
||||||
# name = "RWrist"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 5
|
|
||||||
# name = "LShoulder"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 7
|
|
||||||
# name = "LElbow"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 9
|
|
||||||
# name = "LWrist"
|
|
@ -1,250 +0,0 @@
|
|||||||
###############################################################################
|
|
||||||
## PROJECT PARAMETERS ##
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Configure your project parameters here.
|
|
||||||
#
|
|
||||||
# IMPORTANT:
|
|
||||||
# If a parameter is not found here, Pose2Sim will look for its value in the
|
|
||||||
# Config.toml file of the level above. This way, you can set global
|
|
||||||
# instructions for the Session and alter them for specific Participants or Trials.
|
|
||||||
#
|
|
||||||
# If you wish to overwrite a parameter for a specific trial or participant,
|
|
||||||
# edit its Config.toml file by uncommenting its key (e.g., [project])
|
|
||||||
# and editing its value (e.g., frame_range = [10,300]). Or else, uncomment
|
|
||||||
# [filtering.butterworth] and set cut_off_frequency = 10, etc.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [project]
|
|
||||||
# frame_rate = 60 # FPS
|
|
||||||
# frame_range = [] # For example [10,300], or [] for all frames
|
|
||||||
## N.B.: If you want a time range instead, use frame_range = time_range * frame_rate
|
|
||||||
## For example if you want to analyze from 0.1 to 2 seconds with a 60 fps frame rate,
|
|
||||||
## frame_range = [0.1, 2.0]*frame_rate = [6, 120]
|
|
||||||
|
|
||||||
# exclude_from_batch = [] # List of trials to be excluded from batch analysis, ['<participant_dir/trial_dir>', 'etc'].
|
|
||||||
# e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P00_Participant/S00_P00_T01_BalancingTrial']
|
|
||||||
## Take heart, calibration is not that complicated once you get the hang of it!
|
|
||||||
|
|
||||||
|
|
||||||
# [calibration]
|
|
||||||
# calibration_type = 'convert' # 'convert' or 'calculate'
|
|
||||||
|
|
||||||
# [calibration.convert]
|
|
||||||
# convert_from = 'qualisys' # 'qualisys', 'optitrack', vicon', 'opencap', 'easymocap', or 'biocv'
|
|
||||||
# [calibration.convert.qualisys]
|
|
||||||
# binning_factor = 1 # Usually 1, except when filming in 540p where it usually is 2
|
|
||||||
# [calibration.convert.optitrack] # See readme for instructions
|
|
||||||
# [calibration.convert.vicon] # No parameter needed
|
|
||||||
# [calibration.convert.opencap] # No parameter needed
|
|
||||||
# [calibration.convert.easymocap] # No parameter needed
|
|
||||||
# [calibration.convert.biocv] # No parameter needed
|
|
||||||
# [calibration.convert.anipose] # No parameter needed
|
|
||||||
# [calibration.convert.freemocap] # No parameter needed
|
|
||||||
|
|
||||||
|
|
||||||
# [calibration.calculate]
|
|
||||||
## Camera properties, theoretically need to be calculated only once in a camera lifetime
|
|
||||||
# [calibration.calculate.intrinsics]
|
|
||||||
# overwrite_intrinsics = false # overwrite (or not) if they have already been calculated?
|
|
||||||
# show_detection_intrinsics = true # true or false (lowercase)
|
|
||||||
# intrinsics_extension = 'jpg' # any video or image extension
|
|
||||||
# extract_every_N_sec = 1 # if video, extract frames every N seconds (can be <1 )
|
|
||||||
# intrinsics_corners_nb = [4,7]
|
|
||||||
# intrinsics_square_size = 60 # mm
|
|
||||||
|
|
||||||
## Camera placements, need to be done before every session
|
|
||||||
# [calibration.calculate.extrinsics]
|
|
||||||
# extrinsics_method = 'scene' # 'board', 'scene', 'keypoints'
|
|
||||||
## 'board' should be large enough to be detected when laid on the floor. Not recommended.
|
|
||||||
## 'scene' involves manually clicking any point of know coordinates on scene. Usually more accurate if points are spread out.
|
|
||||||
## 'keypoints' uses automatic pose estimation of a person freely walking and waving arms in the scene. Slighlty less accurate, requires synchronized cameras.
|
|
||||||
|
|
||||||
# moving_cameras = false # Not implemented yet
|
|
||||||
# calculate_extrinsics = true # true or false (lowercase)
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.board]
|
|
||||||
# show_reprojection_error = true # true or false (lowercase)
|
|
||||||
# extrinsics_extension = 'png' # any video or image extension
|
|
||||||
# extrinsics_corners_nb = [4,7] # [H,W] rather than [w,h]
|
|
||||||
# extrinsics_square_size = 60 # mm # [h,w] if square is actually a rectangle
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.scene]
|
|
||||||
# show_reprojection_error = true # true or false (lowercase)
|
|
||||||
# extrinsics_extension = 'png' # any video or image extension
|
|
||||||
## list of 3D coordinates to be manually labelled on images. Can also be a 2 dimensional plane.
|
|
||||||
## in m -> unlike for intrinsics, NOT in mm!
|
|
||||||
# object_coords_3d = [[-2.0, 0.3, 0.0],
|
|
||||||
# [-2.0 , 0.0, 0.0],
|
|
||||||
# [-2.0, 0.0, 0.05],
|
|
||||||
# [-2.0, -0.3 , 0.0],
|
|
||||||
# [0.0, 0.3, 0.0],
|
|
||||||
# [0.0, 0.0, 0.0],
|
|
||||||
# [0.0, 0.0, 0.05],
|
|
||||||
# [0.0, -0.3, 0.0]]
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.keypoints]
|
|
||||||
## Coming soon!
|
|
||||||
|
|
||||||
|
|
||||||
# [pose]
|
|
||||||
# pose_framework = 'openpose' # 'openpose', 'mediapipe', 'alphapose', 'deeplabcut'
|
|
||||||
# pose_model = 'BODY_25B' #With openpose: BODY_25B, BODY_25, BODY_135, COCO, MPII,
|
|
||||||
# #With mediapipe: BLAZEPOSE.
|
|
||||||
# #With alphapose: HALPE_26, HALPE_68, HALPE_136, COCO_133.
|
|
||||||
# #With deeplabcut: CUSTOM. See example at the end of the file.
|
|
||||||
## What follows has not been implemented yet
|
|
||||||
# overwrite_pose = false
|
|
||||||
# openpose_path = '' # only checked if OpenPose is used
|
|
||||||
|
|
||||||
|
|
||||||
# [synchronization]
|
|
||||||
## COMING SOON!
|
|
||||||
# reset_sync = true # Recalculate synchronization even if already done
|
|
||||||
# frames = [2850,3490] # Frames to use for synchronization, should point to a moment with fast motion.
|
|
||||||
# cut_off_frequency = 10 # cut-off frequency for a 4th order low-pass Butterworth filter
|
|
||||||
## Vertical speeds (on X, Y, or Z axis, or 2D speeds)
|
|
||||||
# speed_kind = 'y' # 'x', 'y', 'z', or '2D'
|
|
||||||
# vmax = 20 # px/s
|
|
||||||
# cam1_nb = 4
|
|
||||||
# cam2_nb = 3
|
|
||||||
# id_kpt = [9,10] # Pour plus tard aller chercher numéro depuis keypoint name dans skeleton.py. 'RWrist' BLAZEPOSE 16, BODY_25B 10, BODY_25 4 ; 'LWrist' BLAZEPOSE 15, BODY_25B 9, BODY_25 7
|
|
||||||
# weights_kpt = [1,1] # Pris en compte uniquement si on a plusieurs keypoints
|
|
||||||
|
|
||||||
|
|
||||||
# [personAssociation]
|
|
||||||
# single_person = true # false for multi-person analysis (not supported yet), true for only triangulating the main person in scene.
|
|
||||||
# tracked_keypoint = 'Neck' # If the neck is not detected by the pose_model, check skeleton.py
|
|
||||||
## and choose a stable point for tracking the person of interest (e.g., 'right_shoulder' with BLAZEPOSE)
|
|
||||||
# reproj_error_threshold_association = 20 # px
|
|
||||||
# likelihood_threshold_association = 0.2
|
|
||||||
|
|
||||||
|
|
||||||
# [triangulation]
|
|
||||||
# reproj_error_threshold_triangulation = 15 # px
|
|
||||||
# likelihood_threshold_triangulation = 0.3
|
|
||||||
# min_cameras_for_triangulation = 2
|
|
||||||
# interpolation = 'cubic' #linear, slinear, quadratic, cubic, or none
|
|
||||||
## 'none' if you don't want to interpolate missing points
|
|
||||||
# interp_if_gap_smaller_than = 10 # do not interpolate bigger gaps
|
|
||||||
# show_interp_indices = true # true or false (lowercase). For each keypoint, return the frames that need to be interpolated
|
|
||||||
# handle_LR_swap = false # Better if few cameras (eg less than 4) with risk of limb swapping (eg camera facing sagittal plane), otherwise slightly less accurate and slower
|
|
||||||
# undistort_points = false # Better if distorted image (parallel lines curvy on the edge or at least one param > 10^-2), but unnecessary (and slightly slower) if distortions are low
|
|
||||||
# make_c3d = false # save triangulated data in c3d format in addition to trc # Coming soon!
|
|
||||||
|
|
||||||
|
|
||||||
# [filtering]
|
|
||||||
# type = 'butterworth' # butterworth, kalman, gaussian, LOESS, median, butterworth_on_speed
|
|
||||||
# display_figures = true # true or false (lowercase)
|
|
||||||
|
|
||||||
# [filtering.butterworth]
|
|
||||||
# order = 4
|
|
||||||
# cut_off_frequency = 6 # Hz
|
|
||||||
# [filtering.kalman]
|
|
||||||
## How much more do you trust triangulation results (measurements), than previous data (process assuming constant acceleration)?
|
|
||||||
# trust_ratio = 100 # = measurement_trust/process_trust ~= process_noise/measurement_noise
|
|
||||||
# smooth = true # should be true, unless you need real-time filtering
|
|
||||||
# [filtering.butterworth_on_speed]
|
|
||||||
# order = 4
|
|
||||||
# cut_off_frequency = 10 # Hz
|
|
||||||
# [filtering.gaussian]
|
|
||||||
# sigma_kernel = 2 #px
|
|
||||||
# [filtering.LOESS]
|
|
||||||
# nb_values_used = 30 # = fraction of data used * nb frames
|
|
||||||
# [filtering.median]
|
|
||||||
# kernel_size = 9
|
|
||||||
|
|
||||||
|
|
||||||
# [markerAugmentation]
|
|
||||||
# ## Only works on BODY_25 and BODY_25B models
|
|
||||||
# participant_height = 1.7 # m
|
|
||||||
# participant_mass = 70 # kg
|
|
||||||
|
|
||||||
|
|
||||||
# [opensim]
|
|
||||||
# static_trial = ['S00_P00_Participant/S00_P00_T00_StaticTrial']
|
|
||||||
# # If this Config.toml file is at the Trial level, set to true or false (lowercase);
|
|
||||||
# # At the Participant level, specify the name of the static trial folder name, e.g. ['S00_P00_T00_StaticTrial'];
|
|
||||||
# # At the Session level, add participant subdirectory, e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P01_Participant/S00_P00_T00_StaticTrial']
|
|
||||||
# opensim_bin_path = 'C:\OpenSim 4.4\bin'
|
|
||||||
|
|
||||||
|
|
||||||
## CUSTOM skeleton, if you trained your own DeepLabCut model for example.
|
|
||||||
## Make sure the node ids correspond to the column numbers of the 2D pose file, starting from zero.
|
|
||||||
##
|
|
||||||
## If you want to perform inverse kinematics, you will also need to create an OpenSim model
|
|
||||||
## and add to its markerset the location where you expect the triangulated keypoints to be detected.
|
|
||||||
##
|
|
||||||
## In this example, CUSTOM reproduces the BODY_25B skeleton (default skeletons are stored in skeletons.py).
|
|
||||||
## You can create as many custom skeletons as you want, just add them further down and rename them.
|
|
||||||
##
|
|
||||||
## Check your model hierarchy with: for pre, _, node in RenderTree(model):
|
|
||||||
## print(f'{pre}{node.name} id={node.id}')
|
|
||||||
# [pose.CUSTOM]
|
|
||||||
# name = "CHip"
|
|
||||||
# id = "None"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 12
|
|
||||||
# name = "RHip"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 14
|
|
||||||
# name = "RKnee"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 16
|
|
||||||
# name = "RAnkle"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 22
|
|
||||||
# name = "RBigToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children.children]]
|
|
||||||
# id = 23
|
|
||||||
# name = "RSmallToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 24
|
|
||||||
# name = "RHeel"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 11
|
|
||||||
# name = "LHip"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 13
|
|
||||||
# name = "LKnee"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 15
|
|
||||||
# name = "LAnkle"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 19
|
|
||||||
# name = "LBigToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children.children]]
|
|
||||||
# id = 20
|
|
||||||
# name = "LSmallToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 21
|
|
||||||
# name = "LHeel"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 17
|
|
||||||
# name = "Neck"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 18
|
|
||||||
# name = "Head"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 0
|
|
||||||
# name = "Nose"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 6
|
|
||||||
# name = "RShoulder"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 8
|
|
||||||
# name = "RElbow"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 10
|
|
||||||
# name = "RWrist"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 5
|
|
||||||
# name = "LShoulder"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 7
|
|
||||||
# name = "LElbow"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 9
|
|
||||||
# name = "LWrist"
|
|
@ -1,250 +0,0 @@
|
|||||||
###############################################################################
|
|
||||||
## PROJECT PARAMETERS ##
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Configure your project parameters here.
|
|
||||||
#
|
|
||||||
# IMPORTANT:
|
|
||||||
# If a parameter is not found here, Pose2Sim will look for its value in the
|
|
||||||
# Config.toml file of the level above. This way, you can set global
|
|
||||||
# instructions for the Session and alter them for specific Participants or Trials.
|
|
||||||
#
|
|
||||||
# If you wish to overwrite a parameter for a specific trial or participant,
|
|
||||||
# edit its Config.toml file by uncommenting its key (e.g., [project])
|
|
||||||
# and editing its value (e.g., frame_range = [10,300]). Or else, uncomment
|
|
||||||
# [filtering.butterworth] and set cut_off_frequency = 10, etc.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [project]
|
|
||||||
# frame_rate = 60 # FPS
|
|
||||||
# frame_range = [] # For example [10,300], or [] for all frames
|
|
||||||
## N.B.: If you want a time range instead, use frame_range = time_range * frame_rate
|
|
||||||
## For example if you want to analyze from 0.1 to 2 seconds with a 60 fps frame rate,
|
|
||||||
## frame_range = [0.1, 2.0]*frame_rate = [6, 120]
|
|
||||||
|
|
||||||
# exclude_from_batch = [] # List of trials to be excluded from batch analysis, ['<participant_dir/trial_dir>', 'etc'].
|
|
||||||
# e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P00_Participant/S00_P00_T01_BalancingTrial']
|
|
||||||
## Take heart, calibration is not that complicated once you get the hang of it!
|
|
||||||
|
|
||||||
|
|
||||||
# [calibration]
|
|
||||||
# calibration_type = 'convert' # 'convert' or 'calculate'
|
|
||||||
|
|
||||||
# [calibration.convert]
|
|
||||||
# convert_from = 'qualisys' # 'qualisys', 'optitrack', vicon', 'opencap', 'easymocap', or 'biocv'
|
|
||||||
# [calibration.convert.qualisys]
|
|
||||||
# binning_factor = 1 # Usually 1, except when filming in 540p where it usually is 2
|
|
||||||
# [calibration.convert.optitrack] # See readme for instructions
|
|
||||||
# [calibration.convert.vicon] # No parameter needed
|
|
||||||
# [calibration.convert.opencap] # No parameter needed
|
|
||||||
# [calibration.convert.easymocap] # No parameter needed
|
|
||||||
# [calibration.convert.biocv] # No parameter needed
|
|
||||||
# [calibration.convert.anipose] # No parameter needed
|
|
||||||
# [calibration.convert.freemocap] # No parameter needed
|
|
||||||
|
|
||||||
|
|
||||||
# [calibration.calculate]
|
|
||||||
## Camera properties, theoretically need to be calculated only once in a camera lifetime
|
|
||||||
# [calibration.calculate.intrinsics]
|
|
||||||
# overwrite_intrinsics = false # overwrite (or not) if they have already been calculated?
|
|
||||||
# show_detection_intrinsics = true # true or false (lowercase)
|
|
||||||
# intrinsics_extension = 'jpg' # any video or image extension
|
|
||||||
# extract_every_N_sec = 1 # if video, extract frames every N seconds (can be <1 )
|
|
||||||
# intrinsics_corners_nb = [4,7]
|
|
||||||
# intrinsics_square_size = 60 # mm
|
|
||||||
|
|
||||||
## Camera placements, need to be done before every session
|
|
||||||
# [calibration.calculate.extrinsics]
|
|
||||||
# extrinsics_method = 'scene' # 'board', 'scene', 'keypoints'
|
|
||||||
## 'board' should be large enough to be detected when laid on the floor. Not recommended.
|
|
||||||
## 'scene' involves manually clicking any point of know coordinates on scene. Usually more accurate if points are spread out.
|
|
||||||
## 'keypoints' uses automatic pose estimation of a person freely walking and waving arms in the scene. Slighlty less accurate, requires synchronized cameras.
|
|
||||||
|
|
||||||
# moving_cameras = false # Not implemented yet
|
|
||||||
# calculate_extrinsics = true # true or false (lowercase)
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.board]
|
|
||||||
# show_reprojection_error = true # true or false (lowercase)
|
|
||||||
# extrinsics_extension = 'png' # any video or image extension
|
|
||||||
# extrinsics_corners_nb = [4,7] # [H,W] rather than [w,h]
|
|
||||||
# extrinsics_square_size = 60 # mm # [h,w] if square is actually a rectangle
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.scene]
|
|
||||||
# show_reprojection_error = true # true or false (lowercase)
|
|
||||||
# extrinsics_extension = 'png' # any video or image extension
|
|
||||||
## list of 3D coordinates to be manually labelled on images. Can also be a 2 dimensional plane.
|
|
||||||
## in m -> unlike for intrinsics, NOT in mm!
|
|
||||||
# object_coords_3d = [[-2.0, 0.3, 0.0],
|
|
||||||
# [-2.0 , 0.0, 0.0],
|
|
||||||
# [-2.0, 0.0, 0.05],
|
|
||||||
# [-2.0, -0.3 , 0.0],
|
|
||||||
# [0.0, 0.3, 0.0],
|
|
||||||
# [0.0, 0.0, 0.0],
|
|
||||||
# [0.0, 0.0, 0.05],
|
|
||||||
# [0.0, -0.3, 0.0]]
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.keypoints]
|
|
||||||
## Coming soon!
|
|
||||||
|
|
||||||
|
|
||||||
# [pose]
|
|
||||||
# pose_framework = 'openpose' # 'openpose', 'mediapipe', 'alphapose', 'deeplabcut'
|
|
||||||
# pose_model = 'BODY_25B' #With openpose: BODY_25B, BODY_25, BODY_135, COCO, MPII,
|
|
||||||
# #With mediapipe: BLAZEPOSE.
|
|
||||||
# #With alphapose: HALPE_26, HALPE_68, HALPE_136, COCO_133.
|
|
||||||
# #With deeplabcut: CUSTOM. See example at the end of the file.
|
|
||||||
## What follows has not been implemented yet
|
|
||||||
# overwrite_pose = false
|
|
||||||
# openpose_path = '' # only checked if OpenPose is used
|
|
||||||
|
|
||||||
|
|
||||||
# [synchronization]
|
|
||||||
## COMING SOON!
|
|
||||||
# reset_sync = true # Recalculate synchronization even if already done
|
|
||||||
# frames = [2850,3490] # Frames to use for synchronization, should point to a moment with fast motion.
|
|
||||||
# cut_off_frequency = 10 # cut-off frequency for a 4th order low-pass Butterworth filter
|
|
||||||
## Vertical speeds (on X, Y, or Z axis, or 2D speeds)
|
|
||||||
# speed_kind = 'y' # 'x', 'y', 'z', or '2D'
|
|
||||||
# vmax = 20 # px/s
|
|
||||||
# cam1_nb = 4
|
|
||||||
# cam2_nb = 3
|
|
||||||
# id_kpt = [9,10] # Pour plus tard aller chercher numéro depuis keypoint name dans skeleton.py. 'RWrist' BLAZEPOSE 16, BODY_25B 10, BODY_25 4 ; 'LWrist' BLAZEPOSE 15, BODY_25B 9, BODY_25 7
|
|
||||||
# weights_kpt = [1,1] # Pris en compte uniquement si on a plusieurs keypoints
|
|
||||||
|
|
||||||
|
|
||||||
# [personAssociation]
|
|
||||||
# single_person = true # false for multi-person analysis (not supported yet), true for only triangulating the main person in scene.
|
|
||||||
# tracked_keypoint = 'Neck' # If the neck is not detected by the pose_model, check skeleton.py
|
|
||||||
## and choose a stable point for tracking the person of interest (e.g., 'right_shoulder' with BLAZEPOSE)
|
|
||||||
# reproj_error_threshold_association = 20 # px
|
|
||||||
# likelihood_threshold_association = 0.2
|
|
||||||
|
|
||||||
|
|
||||||
# [triangulation]
|
|
||||||
# reproj_error_threshold_triangulation = 15 # px
|
|
||||||
# likelihood_threshold_triangulation = 0.3
|
|
||||||
# min_cameras_for_triangulation = 2
|
|
||||||
# interpolation = 'cubic' #linear, slinear, quadratic, cubic, or none
|
|
||||||
## 'none' if you don't want to interpolate missing points
|
|
||||||
# interp_if_gap_smaller_than = 10 # do not interpolate bigger gaps
|
|
||||||
# show_interp_indices = true # true or false (lowercase). For each keypoint, return the frames that need to be interpolated
|
|
||||||
# handle_LR_swap = false # Better if few cameras (eg less than 4) with risk of limb swapping (eg camera facing sagittal plane), otherwise slightly less accurate and slower
|
|
||||||
# undistort_points = false # Better if distorted image (parallel lines curvy on the edge or at least one param > 10^-2), but unnecessary (and slightly slower) if distortions are low
|
|
||||||
# make_c3d = false # save triangulated data in c3d format in addition to trc # Coming soon!
|
|
||||||
|
|
||||||
|
|
||||||
# [filtering]
|
|
||||||
# type = 'butterworth' # butterworth, kalman, gaussian, LOESS, median, butterworth_on_speed
|
|
||||||
# display_figures = true # true or false (lowercase)
|
|
||||||
|
|
||||||
# [filtering.butterworth]
|
|
||||||
# order = 4
|
|
||||||
# cut_off_frequency = 6 # Hz
|
|
||||||
# [filtering.kalman]
|
|
||||||
## How much more do you trust triangulation results (measurements), than previous data (process assuming constant acceleration)?
|
|
||||||
# trust_ratio = 100 # = measurement_trust/process_trust ~= process_noise/measurement_noise
|
|
||||||
# smooth = true # should be true, unless you need real-time filtering
|
|
||||||
# [filtering.butterworth_on_speed]
|
|
||||||
# order = 4
|
|
||||||
# cut_off_frequency = 10 # Hz
|
|
||||||
# [filtering.gaussian]
|
|
||||||
# sigma_kernel = 2 #px
|
|
||||||
# [filtering.LOESS]
|
|
||||||
# nb_values_used = 30 # = fraction of data used * nb frames
|
|
||||||
# [filtering.median]
|
|
||||||
# kernel_size = 9
|
|
||||||
|
|
||||||
|
|
||||||
# [markerAugmentation]
|
|
||||||
# ## Only works on BODY_25 and BODY_25B models
|
|
||||||
# participant_height = 1.7 # m
|
|
||||||
# participant_mass = 70 # kg
|
|
||||||
|
|
||||||
|
|
||||||
# [opensim]
|
|
||||||
# static_trial = ['S00_P00_Participant/S00_P00_T00_StaticTrial']
|
|
||||||
# # If this Config.toml file is at the Trial level, set to true or false (lowercase);
|
|
||||||
# # At the Participant level, specify the name of the static trial folder name, e.g. ['S00_P00_T00_StaticTrial'];
|
|
||||||
# # At the Session level, add participant subdirectory, e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P01_Participant/S00_P00_T00_StaticTrial']
|
|
||||||
# opensim_bin_path = 'C:\OpenSim 4.4\bin'
|
|
||||||
|
|
||||||
|
|
||||||
## CUSTOM skeleton, if you trained your own DeepLabCut model for example.
|
|
||||||
## Make sure the node ids correspond to the column numbers of the 2D pose file, starting from zero.
|
|
||||||
##
|
|
||||||
## If you want to perform inverse kinematics, you will also need to create an OpenSim model
|
|
||||||
## and add to its markerset the location where you expect the triangulated keypoints to be detected.
|
|
||||||
##
|
|
||||||
## In this example, CUSTOM reproduces the BODY_25B skeleton (default skeletons are stored in skeletons.py).
|
|
||||||
## You can create as many custom skeletons as you want, just add them further down and rename them.
|
|
||||||
##
|
|
||||||
## Check your model hierarchy with: for pre, _, node in RenderTree(model):
|
|
||||||
## print(f'{pre}{node.name} id={node.id}')
|
|
||||||
# [pose.CUSTOM]
|
|
||||||
# name = "CHip"
|
|
||||||
# id = "None"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 12
|
|
||||||
# name = "RHip"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 14
|
|
||||||
# name = "RKnee"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 16
|
|
||||||
# name = "RAnkle"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 22
|
|
||||||
# name = "RBigToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children.children]]
|
|
||||||
# id = 23
|
|
||||||
# name = "RSmallToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 24
|
|
||||||
# name = "RHeel"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 11
|
|
||||||
# name = "LHip"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 13
|
|
||||||
# name = "LKnee"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 15
|
|
||||||
# name = "LAnkle"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 19
|
|
||||||
# name = "LBigToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children.children]]
|
|
||||||
# id = 20
|
|
||||||
# name = "LSmallToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 21
|
|
||||||
# name = "LHeel"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 17
|
|
||||||
# name = "Neck"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 18
|
|
||||||
# name = "Head"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 0
|
|
||||||
# name = "Nose"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 6
|
|
||||||
# name = "RShoulder"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 8
|
|
||||||
# name = "RElbow"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 10
|
|
||||||
# name = "RWrist"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 5
|
|
||||||
# name = "LShoulder"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 7
|
|
||||||
# name = "LElbow"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 9
|
|
||||||
# name = "LWrist"
|
|
@ -1,250 +0,0 @@
|
|||||||
###############################################################################
|
|
||||||
## PROJECT PARAMETERS ##
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Configure your project parameters here.
|
|
||||||
#
|
|
||||||
# IMPORTANT:
|
|
||||||
# If a parameter is not found here, Pose2Sim will look for its value in the
|
|
||||||
# Config.toml file of the level above. This way, you can set global
|
|
||||||
# instructions for the Session and alter them for specific Participants or Trials.
|
|
||||||
#
|
|
||||||
# If you wish to overwrite a parameter for a specific trial or participant,
|
|
||||||
# edit its Config.toml file by uncommenting its key (e.g., [project])
|
|
||||||
# and editing its value (e.g., frame_range = [10,300]). Or else, uncomment
|
|
||||||
# [filtering.butterworth] and set cut_off_frequency = 10, etc.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [project]
|
|
||||||
# frame_rate = 60 # FPS
|
|
||||||
# frame_range = [] # For example [10,300], or [] for all frames
|
|
||||||
## N.B.: If you want a time range instead, use frame_range = time_range * frame_rate
|
|
||||||
## For example if you want to analyze from 0.1 to 2 seconds with a 60 fps frame rate,
|
|
||||||
## frame_range = [0.1, 2.0]*frame_rate = [6, 120]
|
|
||||||
|
|
||||||
# exclude_from_batch = [] # List of trials to be excluded from batch analysis, ['<participant_dir/trial_dir>', 'etc'].
|
|
||||||
# e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P00_Participant/S00_P00_T01_BalancingTrial']
|
|
||||||
## Take heart, calibration is not that complicated once you get the hang of it!
|
|
||||||
|
|
||||||
|
|
||||||
# [calibration]
|
|
||||||
# calibration_type = 'convert' # 'convert' or 'calculate'
|
|
||||||
|
|
||||||
# [calibration.convert]
|
|
||||||
# convert_from = 'qualisys' # 'qualisys', 'optitrack', vicon', 'opencap', 'easymocap', or 'biocv'
|
|
||||||
# [calibration.convert.qualisys]
|
|
||||||
# binning_factor = 1 # Usually 1, except when filming in 540p where it usually is 2
|
|
||||||
# [calibration.convert.optitrack] # See readme for instructions
|
|
||||||
# [calibration.convert.vicon] # No parameter needed
|
|
||||||
# [calibration.convert.opencap] # No parameter needed
|
|
||||||
# [calibration.convert.easymocap] # No parameter needed
|
|
||||||
# [calibration.convert.biocv] # No parameter needed
|
|
||||||
# [calibration.convert.anipose] # No parameter needed
|
|
||||||
# [calibration.convert.freemocap] # No parameter needed
|
|
||||||
|
|
||||||
|
|
||||||
# [calibration.calculate]
|
|
||||||
## Camera properties, theoretically need to be calculated only once in a camera lifetime
|
|
||||||
# [calibration.calculate.intrinsics]
|
|
||||||
# overwrite_intrinsics = false # overwrite (or not) if they have already been calculated?
|
|
||||||
# show_detection_intrinsics = true # true or false (lowercase)
|
|
||||||
# intrinsics_extension = 'jpg' # any video or image extension
|
|
||||||
# extract_every_N_sec = 1 # if video, extract frames every N seconds (can be <1 )
|
|
||||||
# intrinsics_corners_nb = [4,7]
|
|
||||||
# intrinsics_square_size = 60 # mm
|
|
||||||
|
|
||||||
## Camera placements, need to be done before every session
|
|
||||||
# [calibration.calculate.extrinsics]
|
|
||||||
# extrinsics_method = 'scene' # 'board', 'scene', 'keypoints'
|
|
||||||
## 'board' should be large enough to be detected when laid on the floor. Not recommended.
|
|
||||||
## 'scene' involves manually clicking any point of know coordinates on scene. Usually more accurate if points are spread out.
|
|
||||||
## 'keypoints' uses automatic pose estimation of a person freely walking and waving arms in the scene. Slighlty less accurate, requires synchronized cameras.
|
|
||||||
|
|
||||||
# moving_cameras = false # Not implemented yet
|
|
||||||
# calculate_extrinsics = true # true or false (lowercase)
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.board]
|
|
||||||
# show_reprojection_error = true # true or false (lowercase)
|
|
||||||
# extrinsics_extension = 'png' # any video or image extension
|
|
||||||
# extrinsics_corners_nb = [4,7] # [H,W] rather than [w,h]
|
|
||||||
# extrinsics_square_size = 60 # mm # [h,w] if square is actually a rectangle
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.scene]
|
|
||||||
# show_reprojection_error = true # true or false (lowercase)
|
|
||||||
# extrinsics_extension = 'png' # any video or image extension
|
|
||||||
## list of 3D coordinates to be manually labelled on images. Can also be a 2 dimensional plane.
|
|
||||||
## in m -> unlike for intrinsics, NOT in mm!
|
|
||||||
# object_coords_3d = [[-2.0, 0.3, 0.0],
|
|
||||||
# [-2.0 , 0.0, 0.0],
|
|
||||||
# [-2.0, 0.0, 0.05],
|
|
||||||
# [-2.0, -0.3 , 0.0],
|
|
||||||
# [0.0, 0.3, 0.0],
|
|
||||||
# [0.0, 0.0, 0.0],
|
|
||||||
# [0.0, 0.0, 0.05],
|
|
||||||
# [0.0, -0.3, 0.0]]
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.keypoints]
|
|
||||||
## Coming soon!
|
|
||||||
|
|
||||||
|
|
||||||
# [pose]
|
|
||||||
# pose_framework = 'openpose' # 'openpose', 'mediapipe', 'alphapose', 'deeplabcut'
|
|
||||||
# pose_model = 'BODY_25B' #With openpose: BODY_25B, BODY_25, BODY_135, COCO, MPII,
|
|
||||||
# #With mediapipe: BLAZEPOSE.
|
|
||||||
# #With alphapose: HALPE_26, HALPE_68, HALPE_136, COCO_133.
|
|
||||||
# #With deeplabcut: CUSTOM. See example at the end of the file.
|
|
||||||
## What follows has not been implemented yet
|
|
||||||
# overwrite_pose = false
|
|
||||||
# openpose_path = '' # only checked if OpenPose is used
|
|
||||||
|
|
||||||
|
|
||||||
# [synchronization]
|
|
||||||
## COMING SOON!
|
|
||||||
# reset_sync = true # Recalculate synchronization even if already done
|
|
||||||
# frames = [2850,3490] # Frames to use for synchronization, should point to a moment with fast motion.
|
|
||||||
# cut_off_frequency = 10 # cut-off frequency for a 4th order low-pass Butterworth filter
|
|
||||||
## Vertical speeds (on X, Y, or Z axis, or 2D speeds)
|
|
||||||
# speed_kind = 'y' # 'x', 'y', 'z', or '2D'
|
|
||||||
# vmax = 20 # px/s
|
|
||||||
# cam1_nb = 4
|
|
||||||
# cam2_nb = 3
|
|
||||||
# id_kpt = [9,10] # Pour plus tard aller chercher numéro depuis keypoint name dans skeleton.py. 'RWrist' BLAZEPOSE 16, BODY_25B 10, BODY_25 4 ; 'LWrist' BLAZEPOSE 15, BODY_25B 9, BODY_25 7
|
|
||||||
# weights_kpt = [1,1] # Pris en compte uniquement si on a plusieurs keypoints
|
|
||||||
|
|
||||||
|
|
||||||
# [personAssociation]
|
|
||||||
# single_person = true # false for multi-person analysis (not supported yet), true for only triangulating the main person in scene.
|
|
||||||
# tracked_keypoint = 'Neck' # If the neck is not detected by the pose_model, check skeleton.py
|
|
||||||
## and choose a stable point for tracking the person of interest (e.g., 'right_shoulder' with BLAZEPOSE)
|
|
||||||
# reproj_error_threshold_association = 20 # px
|
|
||||||
# likelihood_threshold_association = 0.2
|
|
||||||
|
|
||||||
|
|
||||||
# [triangulation]
|
|
||||||
# reproj_error_threshold_triangulation = 15 # px
|
|
||||||
# likelihood_threshold_triangulation = 0.3
|
|
||||||
# min_cameras_for_triangulation = 2
|
|
||||||
# interpolation = 'cubic' #linear, slinear, quadratic, cubic, or none
|
|
||||||
## 'none' if you don't want to interpolate missing points
|
|
||||||
# interp_if_gap_smaller_than = 10 # do not interpolate bigger gaps
|
|
||||||
# show_interp_indices = true # true or false (lowercase). For each keypoint, return the frames that need to be interpolated
|
|
||||||
# handle_LR_swap = false # Better if few cameras (eg less than 4) with risk of limb swapping (eg camera facing sagittal plane), otherwise slightly less accurate and slower
|
|
||||||
# undistort_points = false # Better if distorted image (parallel lines curvy on the edge or at least one param > 10^-2), but unnecessary (and slightly slower) if distortions are low
|
|
||||||
# make_c3d = false # save triangulated data in c3d format in addition to trc # Coming soon!
|
|
||||||
|
|
||||||
|
|
||||||
# [filtering]
|
|
||||||
# type = 'butterworth' # butterworth, kalman, gaussian, LOESS, median, butterworth_on_speed
|
|
||||||
# display_figures = true # true or false (lowercase)
|
|
||||||
|
|
||||||
# [filtering.butterworth]
|
|
||||||
# order = 4
|
|
||||||
# cut_off_frequency = 6 # Hz
|
|
||||||
# [filtering.kalman]
|
|
||||||
## How much more do you trust triangulation results (measurements), than previous data (process assuming constant acceleration)?
|
|
||||||
# trust_ratio = 100 # = measurement_trust/process_trust ~= process_noise/measurement_noise
|
|
||||||
# smooth = true # should be true, unless you need real-time filtering
|
|
||||||
# [filtering.butterworth_on_speed]
|
|
||||||
# order = 4
|
|
||||||
# cut_off_frequency = 10 # Hz
|
|
||||||
# [filtering.gaussian]
|
|
||||||
# sigma_kernel = 2 #px
|
|
||||||
# [filtering.LOESS]
|
|
||||||
# nb_values_used = 30 # = fraction of data used * nb frames
|
|
||||||
# [filtering.median]
|
|
||||||
# kernel_size = 9
|
|
||||||
|
|
||||||
|
|
||||||
# [markerAugmentation]
|
|
||||||
# ## Only works on BODY_25 and BODY_25B models
|
|
||||||
# participant_height = 1.7 # m
|
|
||||||
# participant_mass = 70 # kg
|
|
||||||
|
|
||||||
|
|
||||||
# [opensim]
|
|
||||||
# static_trial = ['S00_P00_Participant/S00_P00_T00_StaticTrial']
|
|
||||||
# # If this Config.toml file is at the Trial level, set to true or false (lowercase);
|
|
||||||
# # At the Participant level, specify the name of the static trial folder name, e.g. ['S00_P00_T00_StaticTrial'];
|
|
||||||
# # At the Session level, add participant subdirectory, e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P01_Participant/S00_P00_T00_StaticTrial']
|
|
||||||
# opensim_bin_path = 'C:\OpenSim 4.4\bin'
|
|
||||||
|
|
||||||
|
|
||||||
## CUSTOM skeleton, if you trained your own DeepLabCut model for example.
|
|
||||||
## Make sure the node ids correspond to the column numbers of the 2D pose file, starting from zero.
|
|
||||||
##
|
|
||||||
## If you want to perform inverse kinematics, you will also need to create an OpenSim model
|
|
||||||
## and add to its markerset the location where you expect the triangulated keypoints to be detected.
|
|
||||||
##
|
|
||||||
## In this example, CUSTOM reproduces the BODY_25B skeleton (default skeletons are stored in skeletons.py).
|
|
||||||
## You can create as many custom skeletons as you want, just add them further down and rename them.
|
|
||||||
##
|
|
||||||
## Check your model hierarchy with: for pre, _, node in RenderTree(model):
|
|
||||||
## print(f'{pre}{node.name} id={node.id}')
|
|
||||||
# [pose.CUSTOM]
|
|
||||||
# name = "CHip"
|
|
||||||
# id = "None"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 12
|
|
||||||
# name = "RHip"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 14
|
|
||||||
# name = "RKnee"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 16
|
|
||||||
# name = "RAnkle"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 22
|
|
||||||
# name = "RBigToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children.children]]
|
|
||||||
# id = 23
|
|
||||||
# name = "RSmallToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 24
|
|
||||||
# name = "RHeel"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 11
|
|
||||||
# name = "LHip"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 13
|
|
||||||
# name = "LKnee"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 15
|
|
||||||
# name = "LAnkle"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 19
|
|
||||||
# name = "LBigToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children.children]]
|
|
||||||
# id = 20
|
|
||||||
# name = "LSmallToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 21
|
|
||||||
# name = "LHeel"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 17
|
|
||||||
# name = "Neck"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 18
|
|
||||||
# name = "Head"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 0
|
|
||||||
# name = "Nose"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 6
|
|
||||||
# name = "RShoulder"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 8
|
|
||||||
# name = "RElbow"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 10
|
|
||||||
# name = "RWrist"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 5
|
|
||||||
# name = "LShoulder"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 7
|
|
||||||
# name = "LElbow"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 9
|
|
||||||
# name = "LWrist"
|
|
@ -1,250 +0,0 @@
|
|||||||
###############################################################################
|
|
||||||
## PROJECT PARAMETERS ##
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Configure your project parameters here.
|
|
||||||
#
|
|
||||||
# IMPORTANT:
|
|
||||||
# If a parameter is not found here, Pose2Sim will look for its value in the
|
|
||||||
# Config.toml file of the level above. This way, you can set global
|
|
||||||
# instructions for the Session and alter them for specific Participants or Trials.
|
|
||||||
#
|
|
||||||
# If you wish to overwrite a parameter for a specific trial or participant,
|
|
||||||
# edit its Config.toml file by uncommenting its key (e.g., [project])
|
|
||||||
# and editing its value (e.g., frame_range = [10,300]). Or else, uncomment
|
|
||||||
# [filtering.butterworth] and set cut_off_frequency = 10, etc.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [project]
|
|
||||||
# frame_rate = 60 # FPS
|
|
||||||
# frame_range = [] # For example [10,300], or [] for all frames
|
|
||||||
## N.B.: If you want a time range instead, use frame_range = time_range * frame_rate
|
|
||||||
## For example if you want to analyze from 0.1 to 2 seconds with a 60 fps frame rate,
|
|
||||||
## frame_range = [0.1, 2.0]*frame_rate = [6, 120]
|
|
||||||
|
|
||||||
# exclude_from_batch = [] # List of trials to be excluded from batch analysis, ['<participant_dir/trial_dir>', 'etc'].
|
|
||||||
# e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P00_Participant/S00_P00_T01_BalancingTrial']
|
|
||||||
## Take heart, calibration is not that complicated once you get the hang of it!
|
|
||||||
|
|
||||||
|
|
||||||
# [calibration]
|
|
||||||
# calibration_type = 'convert' # 'convert' or 'calculate'
|
|
||||||
|
|
||||||
# [calibration.convert]
|
|
||||||
# convert_from = 'qualisys' # 'qualisys', 'optitrack', vicon', 'opencap', 'easymocap', or 'biocv'
|
|
||||||
# [calibration.convert.qualisys]
|
|
||||||
# binning_factor = 1 # Usually 1, except when filming in 540p where it usually is 2
|
|
||||||
# [calibration.convert.optitrack] # See readme for instructions
|
|
||||||
# [calibration.convert.vicon] # No parameter needed
|
|
||||||
# [calibration.convert.opencap] # No parameter needed
|
|
||||||
# [calibration.convert.easymocap] # No parameter needed
|
|
||||||
# [calibration.convert.biocv] # No parameter needed
|
|
||||||
# [calibration.convert.anipose] # No parameter needed
|
|
||||||
# [calibration.convert.freemocap] # No parameter needed
|
|
||||||
|
|
||||||
|
|
||||||
# [calibration.calculate]
|
|
||||||
## Camera properties, theoretically need to be calculated only once in a camera lifetime
|
|
||||||
# [calibration.calculate.intrinsics]
|
|
||||||
# overwrite_intrinsics = false # overwrite (or not) if they have already been calculated?
|
|
||||||
# show_detection_intrinsics = true # true or false (lowercase)
|
|
||||||
# intrinsics_extension = 'jpg' # any video or image extension
|
|
||||||
# extract_every_N_sec = 1 # if video, extract frames every N seconds (can be <1 )
|
|
||||||
# intrinsics_corners_nb = [4,7]
|
|
||||||
# intrinsics_square_size = 60 # mm
|
|
||||||
|
|
||||||
## Camera placements, need to be done before every session
|
|
||||||
# [calibration.calculate.extrinsics]
|
|
||||||
# extrinsics_method = 'scene' # 'board', 'scene', 'keypoints'
|
|
||||||
## 'board' should be large enough to be detected when laid on the floor. Not recommended.
|
|
||||||
## 'scene' involves manually clicking any point of know coordinates on scene. Usually more accurate if points are spread out.
|
|
||||||
## 'keypoints' uses automatic pose estimation of a person freely walking and waving arms in the scene. Slighlty less accurate, requires synchronized cameras.
|
|
||||||
|
|
||||||
# moving_cameras = false # Not implemented yet
|
|
||||||
# calculate_extrinsics = true # true or false (lowercase)
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.board]
|
|
||||||
# show_reprojection_error = true # true or false (lowercase)
|
|
||||||
# extrinsics_extension = 'png' # any video or image extension
|
|
||||||
# extrinsics_corners_nb = [4,7] # [H,W] rather than [w,h]
|
|
||||||
# extrinsics_square_size = 60 # mm # [h,w] if square is actually a rectangle
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.scene]
|
|
||||||
# show_reprojection_error = true # true or false (lowercase)
|
|
||||||
# extrinsics_extension = 'png' # any video or image extension
|
|
||||||
## list of 3D coordinates to be manually labelled on images. Can also be a 2 dimensional plane.
|
|
||||||
## in m -> unlike for intrinsics, NOT in mm!
|
|
||||||
# object_coords_3d = [[-2.0, 0.3, 0.0],
|
|
||||||
# [-2.0 , 0.0, 0.0],
|
|
||||||
# [-2.0, 0.0, 0.05],
|
|
||||||
# [-2.0, -0.3 , 0.0],
|
|
||||||
# [0.0, 0.3, 0.0],
|
|
||||||
# [0.0, 0.0, 0.0],
|
|
||||||
# [0.0, 0.0, 0.05],
|
|
||||||
# [0.0, -0.3, 0.0]]
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.keypoints]
|
|
||||||
## Coming soon!
|
|
||||||
|
|
||||||
|
|
||||||
# [pose]
|
|
||||||
# pose_framework = 'openpose' # 'openpose', 'mediapipe', 'alphapose', 'deeplabcut'
|
|
||||||
# pose_model = 'BODY_25B' #With openpose: BODY_25B, BODY_25, BODY_135, COCO, MPII,
|
|
||||||
# #With mediapipe: BLAZEPOSE.
|
|
||||||
# #With alphapose: HALPE_26, HALPE_68, HALPE_136, COCO_133.
|
|
||||||
# #With deeplabcut: CUSTOM. See example at the end of the file.
|
|
||||||
## What follows has not been implemented yet
|
|
||||||
# overwrite_pose = false
|
|
||||||
# openpose_path = '' # only checked if OpenPose is used
|
|
||||||
|
|
||||||
|
|
||||||
# [synchronization]
|
|
||||||
## COMING SOON!
|
|
||||||
# reset_sync = true # Recalculate synchronization even if already done
|
|
||||||
# frames = [2850,3490] # Frames to use for synchronization, should point to a moment with fast motion.
|
|
||||||
# cut_off_frequency = 10 # cut-off frequency for a 4th order low-pass Butterworth filter
|
|
||||||
## Vertical speeds (on X, Y, or Z axis, or 2D speeds)
|
|
||||||
# speed_kind = 'y' # 'x', 'y', 'z', or '2D'
|
|
||||||
# vmax = 20 # px/s
|
|
||||||
# cam1_nb = 4
|
|
||||||
# cam2_nb = 3
|
|
||||||
# id_kpt = [9,10] # Pour plus tard aller chercher numéro depuis keypoint name dans skeleton.py. 'RWrist' BLAZEPOSE 16, BODY_25B 10, BODY_25 4 ; 'LWrist' BLAZEPOSE 15, BODY_25B 9, BODY_25 7
|
|
||||||
# weights_kpt = [1,1] # Pris en compte uniquement si on a plusieurs keypoints
|
|
||||||
|
|
||||||
|
|
||||||
# [personAssociation]
|
|
||||||
# single_person = true # false for multi-person analysis (not supported yet), true for only triangulating the main person in scene.
|
|
||||||
# tracked_keypoint = 'Neck' # If the neck is not detected by the pose_model, check skeleton.py
|
|
||||||
## and choose a stable point for tracking the person of interest (e.g., 'right_shoulder' with BLAZEPOSE)
|
|
||||||
# reproj_error_threshold_association = 20 # px
|
|
||||||
# likelihood_threshold_association = 0.2
|
|
||||||
|
|
||||||
|
|
||||||
# [triangulation]
|
|
||||||
# reproj_error_threshold_triangulation = 15 # px
|
|
||||||
# likelihood_threshold_triangulation = 0.3
|
|
||||||
# min_cameras_for_triangulation = 2
|
|
||||||
# interpolation = 'cubic' #linear, slinear, quadratic, cubic, or none
|
|
||||||
## 'none' if you don't want to interpolate missing points
|
|
||||||
# interp_if_gap_smaller_than = 10 # do not interpolate bigger gaps
|
|
||||||
# show_interp_indices = true # true or false (lowercase). For each keypoint, return the frames that need to be interpolated
|
|
||||||
# handle_LR_swap = false # Better if few cameras (eg less than 4) with risk of limb swapping (eg camera facing sagittal plane), otherwise slightly less accurate and slower
|
|
||||||
# undistort_points = false # Better if distorted image (parallel lines curvy on the edge or at least one param > 10^-2), but unnecessary (and slightly slower) if distortions are low
|
|
||||||
# make_c3d = false # save triangulated data in c3d format in addition to trc # Coming soon!
|
|
||||||
|
|
||||||
|
|
||||||
# [filtering]
|
|
||||||
# type = 'butterworth' # butterworth, kalman, gaussian, LOESS, median, butterworth_on_speed
|
|
||||||
# display_figures = true # true or false (lowercase)
|
|
||||||
|
|
||||||
# [filtering.butterworth]
|
|
||||||
# order = 4
|
|
||||||
# cut_off_frequency = 6 # Hz
|
|
||||||
# [filtering.kalman]
|
|
||||||
## How much more do you trust triangulation results (measurements), than previous data (process assuming constant acceleration)?
|
|
||||||
# trust_ratio = 100 # = measurement_trust/process_trust ~= process_noise/measurement_noise
|
|
||||||
# smooth = true # should be true, unless you need real-time filtering
|
|
||||||
# [filtering.butterworth_on_speed]
|
|
||||||
# order = 4
|
|
||||||
# cut_off_frequency = 10 # Hz
|
|
||||||
# [filtering.gaussian]
|
|
||||||
# sigma_kernel = 2 #px
|
|
||||||
# [filtering.LOESS]
|
|
||||||
# nb_values_used = 30 # = fraction of data used * nb frames
|
|
||||||
# [filtering.median]
|
|
||||||
# kernel_size = 9
|
|
||||||
|
|
||||||
|
|
||||||
# [markerAugmentation]
|
|
||||||
# ## Only works on BODY_25 and BODY_25B models
|
|
||||||
# participant_height = 1.7 # m
|
|
||||||
# participant_mass = 70 # kg
|
|
||||||
|
|
||||||
|
|
||||||
# [opensim]
|
|
||||||
# static_trial = ['S00_P00_Participant/S00_P00_T00_StaticTrial']
|
|
||||||
# # If this Config.toml file is at the Trial level, set to true or false (lowercase);
|
|
||||||
# # At the Participant level, specify the name of the static trial folder name, e.g. ['S00_P00_T00_StaticTrial'];
|
|
||||||
# # At the Session level, add participant subdirectory, e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P01_Participant/S00_P00_T00_StaticTrial']
|
|
||||||
# opensim_bin_path = 'C:\OpenSim 4.4\bin'
|
|
||||||
|
|
||||||
|
|
||||||
## CUSTOM skeleton, if you trained your own DeepLabCut model for example.
|
|
||||||
## Make sure the node ids correspond to the column numbers of the 2D pose file, starting from zero.
|
|
||||||
##
|
|
||||||
## If you want to perform inverse kinematics, you will also need to create an OpenSim model
|
|
||||||
## and add to its markerset the location where you expect the triangulated keypoints to be detected.
|
|
||||||
##
|
|
||||||
## In this example, CUSTOM reproduces the BODY_25B skeleton (default skeletons are stored in skeletons.py).
|
|
||||||
## You can create as many custom skeletons as you want, just add them further down and rename them.
|
|
||||||
##
|
|
||||||
## Check your model hierarchy with: for pre, _, node in RenderTree(model):
|
|
||||||
## print(f'{pre}{node.name} id={node.id}')
|
|
||||||
# [pose.CUSTOM]
|
|
||||||
# name = "CHip"
|
|
||||||
# id = "None"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 12
|
|
||||||
# name = "RHip"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 14
|
|
||||||
# name = "RKnee"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 16
|
|
||||||
# name = "RAnkle"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 22
|
|
||||||
# name = "RBigToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children.children]]
|
|
||||||
# id = 23
|
|
||||||
# name = "RSmallToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 24
|
|
||||||
# name = "RHeel"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 11
|
|
||||||
# name = "LHip"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 13
|
|
||||||
# name = "LKnee"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 15
|
|
||||||
# name = "LAnkle"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 19
|
|
||||||
# name = "LBigToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children.children]]
|
|
||||||
# id = 20
|
|
||||||
# name = "LSmallToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 21
|
|
||||||
# name = "LHeel"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 17
|
|
||||||
# name = "Neck"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 18
|
|
||||||
# name = "Head"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 0
|
|
||||||
# name = "Nose"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 6
|
|
||||||
# name = "RShoulder"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 8
|
|
||||||
# name = "RElbow"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 10
|
|
||||||
# name = "RWrist"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 5
|
|
||||||
# name = "LShoulder"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 7
|
|
||||||
# name = "LElbow"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 9
|
|
||||||
# name = "LWrist"
|
|
@ -1,250 +0,0 @@
|
|||||||
###############################################################################
|
|
||||||
## PROJECT PARAMETERS ##
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Configure your project parameters here.
|
|
||||||
#
|
|
||||||
# IMPORTANT:
|
|
||||||
# If a parameter is not found here, Pose2Sim will look for its value in the
|
|
||||||
# Config.toml file of the level above. This way, you can set global
|
|
||||||
# instructions for the Session and alter them for specific Participants or Trials.
|
|
||||||
#
|
|
||||||
# If you wish to overwrite a parameter for a specific trial or participant,
|
|
||||||
# edit its Config.toml file by uncommenting its key (e.g., [project])
|
|
||||||
# and editing its value (e.g., frame_range = [10,300]). Or else, uncomment
|
|
||||||
# [filtering.butterworth] and set cut_off_frequency = 10, etc.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [project]
|
|
||||||
# frame_rate = 60 # FPS
|
|
||||||
# frame_range = [] # For example [10,300], or [] for all frames
|
|
||||||
## N.B.: If you want a time range instead, use frame_range = time_range * frame_rate
|
|
||||||
## For example if you want to analyze from 0.1 to 2 seconds with a 60 fps frame rate,
|
|
||||||
## frame_range = [0.1, 2.0]*frame_rate = [6, 120]
|
|
||||||
|
|
||||||
# exclude_from_batch = [] # List of trials to be excluded from batch analysis, ['<participant_dir/trial_dir>', 'etc'].
|
|
||||||
# e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P00_Participant/S00_P00_T01_BalancingTrial']
|
|
||||||
## Take heart, calibration is not that complicated once you get the hang of it!
|
|
||||||
|
|
||||||
|
|
||||||
# [calibration]
|
|
||||||
# calibration_type = 'convert' # 'convert' or 'calculate'
|
|
||||||
|
|
||||||
# [calibration.convert]
|
|
||||||
# convert_from = 'qualisys' # 'qualisys', 'optitrack', vicon', 'opencap', 'easymocap', or 'biocv'
|
|
||||||
# [calibration.convert.qualisys]
|
|
||||||
# binning_factor = 1 # Usually 1, except when filming in 540p where it usually is 2
|
|
||||||
# [calibration.convert.optitrack] # See readme for instructions
|
|
||||||
# [calibration.convert.vicon] # No parameter needed
|
|
||||||
# [calibration.convert.opencap] # No parameter needed
|
|
||||||
# [calibration.convert.easymocap] # No parameter needed
|
|
||||||
# [calibration.convert.biocv] # No parameter needed
|
|
||||||
# [calibration.convert.anipose] # No parameter needed
|
|
||||||
# [calibration.convert.freemocap] # No parameter needed
|
|
||||||
|
|
||||||
|
|
||||||
# [calibration.calculate]
|
|
||||||
## Camera properties, theoretically need to be calculated only once in a camera lifetime
|
|
||||||
# [calibration.calculate.intrinsics]
|
|
||||||
# overwrite_intrinsics = false # overwrite (or not) if they have already been calculated?
|
|
||||||
# show_detection_intrinsics = true # true or false (lowercase)
|
|
||||||
# intrinsics_extension = 'jpg' # any video or image extension
|
|
||||||
# extract_every_N_sec = 1 # if video, extract frames every N seconds (can be <1 )
|
|
||||||
# intrinsics_corners_nb = [4,7]
|
|
||||||
# intrinsics_square_size = 60 # mm
|
|
||||||
|
|
||||||
## Camera placements, need to be done before every session
|
|
||||||
# [calibration.calculate.extrinsics]
|
|
||||||
# extrinsics_method = 'scene' # 'board', 'scene', 'keypoints'
|
|
||||||
## 'board' should be large enough to be detected when laid on the floor. Not recommended.
|
|
||||||
## 'scene' involves manually clicking any point of know coordinates on scene. Usually more accurate if points are spread out.
|
|
||||||
## 'keypoints' uses automatic pose estimation of a person freely walking and waving arms in the scene. Slighlty less accurate, requires synchronized cameras.
|
|
||||||
|
|
||||||
# moving_cameras = false # Not implemented yet
|
|
||||||
# calculate_extrinsics = true # true or false (lowercase)
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.board]
|
|
||||||
# show_reprojection_error = true # true or false (lowercase)
|
|
||||||
# extrinsics_extension = 'png' # any video or image extension
|
|
||||||
# extrinsics_corners_nb = [4,7] # [H,W] rather than [w,h]
|
|
||||||
# extrinsics_square_size = 60 # mm # [h,w] if square is actually a rectangle
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.scene]
|
|
||||||
# show_reprojection_error = true # true or false (lowercase)
|
|
||||||
# extrinsics_extension = 'png' # any video or image extension
|
|
||||||
## list of 3D coordinates to be manually labelled on images. Can also be a 2 dimensional plane.
|
|
||||||
## in m -> unlike for intrinsics, NOT in mm!
|
|
||||||
# object_coords_3d = [[-2.0, 0.3, 0.0],
|
|
||||||
# [-2.0 , 0.0, 0.0],
|
|
||||||
# [-2.0, 0.0, 0.05],
|
|
||||||
# [-2.0, -0.3 , 0.0],
|
|
||||||
# [0.0, 0.3, 0.0],
|
|
||||||
# [0.0, 0.0, 0.0],
|
|
||||||
# [0.0, 0.0, 0.05],
|
|
||||||
# [0.0, -0.3, 0.0]]
|
|
||||||
|
|
||||||
# [calibration.calculate.extrinsics.keypoints]
|
|
||||||
## Coming soon!
|
|
||||||
|
|
||||||
|
|
||||||
# [pose]
|
|
||||||
# pose_framework = 'openpose' # 'openpose', 'mediapipe', 'alphapose', 'deeplabcut'
|
|
||||||
# pose_model = 'BODY_25B' #With openpose: BODY_25B, BODY_25, BODY_135, COCO, MPII,
|
|
||||||
# #With mediapipe: BLAZEPOSE.
|
|
||||||
# #With alphapose: HALPE_26, HALPE_68, HALPE_136, COCO_133.
|
|
||||||
# #With deeplabcut: CUSTOM. See example at the end of the file.
|
|
||||||
## What follows has not been implemented yet
|
|
||||||
# overwrite_pose = false
|
|
||||||
# openpose_path = '' # only checked if OpenPose is used
|
|
||||||
|
|
||||||
|
|
||||||
# [synchronization]
|
|
||||||
## COMING SOON!
|
|
||||||
# reset_sync = true # Recalculate synchronization even if already done
|
|
||||||
# frames = [2850,3490] # Frames to use for synchronization, should point to a moment with fast motion.
|
|
||||||
# cut_off_frequency = 10 # cut-off frequency for a 4th order low-pass Butterworth filter
|
|
||||||
## Vertical speeds (on X, Y, or Z axis, or 2D speeds)
|
|
||||||
# speed_kind = 'y' # 'x', 'y', 'z', or '2D'
|
|
||||||
# vmax = 20 # px/s
|
|
||||||
# cam1_nb = 4
|
|
||||||
# cam2_nb = 3
|
|
||||||
# id_kpt = [9,10] # Pour plus tard aller chercher numéro depuis keypoint name dans skeleton.py. 'RWrist' BLAZEPOSE 16, BODY_25B 10, BODY_25 4 ; 'LWrist' BLAZEPOSE 15, BODY_25B 9, BODY_25 7
|
|
||||||
# weights_kpt = [1,1] # Pris en compte uniquement si on a plusieurs keypoints
|
|
||||||
|
|
||||||
|
|
||||||
# [personAssociation]
|
|
||||||
# single_person = true # false for multi-person analysis (not supported yet), true for only triangulating the main person in scene.
|
|
||||||
# tracked_keypoint = 'Neck' # If the neck is not detected by the pose_model, check skeleton.py
|
|
||||||
## and choose a stable point for tracking the person of interest (e.g., 'right_shoulder' with BLAZEPOSE)
|
|
||||||
# reproj_error_threshold_association = 20 # px
|
|
||||||
# likelihood_threshold_association = 0.2
|
|
||||||
|
|
||||||
|
|
||||||
# [triangulation]
|
|
||||||
# reproj_error_threshold_triangulation = 15 # px
|
|
||||||
# likelihood_threshold_triangulation = 0.3
|
|
||||||
# min_cameras_for_triangulation = 2
|
|
||||||
# interpolation = 'cubic' #linear, slinear, quadratic, cubic, or none
|
|
||||||
## 'none' if you don't want to interpolate missing points
|
|
||||||
# interp_if_gap_smaller_than = 10 # do not interpolate bigger gaps
|
|
||||||
# show_interp_indices = true # true or false (lowercase). For each keypoint, return the frames that need to be interpolated
|
|
||||||
# handle_LR_swap = false # Better if few cameras (eg less than 4) with risk of limb swapping (eg camera facing sagittal plane), otherwise slightly less accurate and slower
|
|
||||||
# undistort_points = false # Better if distorted image (parallel lines curvy on the edge or at least one param > 10^-2), but unnecessary (and slightly slower) if distortions are low
|
|
||||||
# make_c3d = false # save triangulated data in c3d format in addition to trc # Coming soon!
|
|
||||||
|
|
||||||
|
|
||||||
# [filtering]
|
|
||||||
# type = 'butterworth' # butterworth, kalman, gaussian, LOESS, median, butterworth_on_speed
|
|
||||||
# display_figures = true # true or false (lowercase)
|
|
||||||
|
|
||||||
# [filtering.butterworth]
|
|
||||||
# order = 4
|
|
||||||
# cut_off_frequency = 6 # Hz
|
|
||||||
# [filtering.kalman]
|
|
||||||
## How much more do you trust triangulation results (measurements), than previous data (process assuming constant acceleration)?
|
|
||||||
# trust_ratio = 100 # = measurement_trust/process_trust ~= process_noise/measurement_noise
|
|
||||||
# smooth = true # should be true, unless you need real-time filtering
|
|
||||||
# [filtering.butterworth_on_speed]
|
|
||||||
# order = 4
|
|
||||||
# cut_off_frequency = 10 # Hz
|
|
||||||
# [filtering.gaussian]
|
|
||||||
# sigma_kernel = 2 #px
|
|
||||||
# [filtering.LOESS]
|
|
||||||
# nb_values_used = 30 # = fraction of data used * nb frames
|
|
||||||
# [filtering.median]
|
|
||||||
# kernel_size = 9
|
|
||||||
|
|
||||||
|
|
||||||
# [markerAugmentation]
|
|
||||||
# ## Only works on BODY_25 and BODY_25B models
|
|
||||||
# participant_height = 1.7 # m
|
|
||||||
# participant_mass = 70 # kg
|
|
||||||
|
|
||||||
|
|
||||||
# [opensim]
|
|
||||||
# static_trial = ['S00_P00_Participant/S00_P00_T00_StaticTrial']
|
|
||||||
# # If this Config.toml file is at the Trial level, set to true or false (lowercase);
|
|
||||||
# # At the Participant level, specify the name of the static trial folder name, e.g. ['S00_P00_T00_StaticTrial'];
|
|
||||||
# # At the Session level, add participant subdirectory, e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P01_Participant/S00_P00_T00_StaticTrial']
|
|
||||||
# opensim_bin_path = 'C:\OpenSim 4.4\bin'
|
|
||||||
|
|
||||||
|
|
||||||
## CUSTOM skeleton, if you trained your own DeepLabCut model for example.
|
|
||||||
## Make sure the node ids correspond to the column numbers of the 2D pose file, starting from zero.
|
|
||||||
##
|
|
||||||
## If you want to perform inverse kinematics, you will also need to create an OpenSim model
|
|
||||||
## and add to its markerset the location where you expect the triangulated keypoints to be detected.
|
|
||||||
##
|
|
||||||
## In this example, CUSTOM reproduces the BODY_25B skeleton (default skeletons are stored in skeletons.py).
|
|
||||||
## You can create as many custom skeletons as you want, just add them further down and rename them.
|
|
||||||
##
|
|
||||||
## Check your model hierarchy with: for pre, _, node in RenderTree(model):
|
|
||||||
## print(f'{pre}{node.name} id={node.id}')
|
|
||||||
# [pose.CUSTOM]
|
|
||||||
# name = "CHip"
|
|
||||||
# id = "None"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 12
|
|
||||||
# name = "RHip"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 14
|
|
||||||
# name = "RKnee"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 16
|
|
||||||
# name = "RAnkle"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 22
|
|
||||||
# name = "RBigToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children.children]]
|
|
||||||
# id = 23
|
|
||||||
# name = "RSmallToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 24
|
|
||||||
# name = "RHeel"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 11
|
|
||||||
# name = "LHip"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 13
|
|
||||||
# name = "LKnee"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 15
|
|
||||||
# name = "LAnkle"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 19
|
|
||||||
# name = "LBigToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children.children]]
|
|
||||||
# id = 20
|
|
||||||
# name = "LSmallToe"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 21
|
|
||||||
# name = "LHeel"
|
|
||||||
# [[pose.CUSTOM.children]]
|
|
||||||
# id = 17
|
|
||||||
# name = "Neck"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 18
|
|
||||||
# name = "Head"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 0
|
|
||||||
# name = "Nose"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 6
|
|
||||||
# name = "RShoulder"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 8
|
|
||||||
# name = "RElbow"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 10
|
|
||||||
# name = "RWrist"
|
|
||||||
# [[pose.CUSTOM.children.children]]
|
|
||||||
# id = 5
|
|
||||||
# name = "LShoulder"
|
|
||||||
# [[pose.CUSTOM.children.children.children]]
|
|
||||||
# id = 7
|
|
||||||
# name = "LElbow"
|
|
||||||
# [[pose.CUSTOM.children.children.children.children]]
|
|
||||||
# id = 9
|
|
||||||
# name = "LWrist"
|
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
|
|
||||||
[project]
|
[project]
|
||||||
|
# multi_person = false # true for trials with multiple participants. If false, only the main person in scene is analyzed.
|
||||||
frame_rate = 60 # fps
|
frame_rate = 60 # fps
|
||||||
frame_range = [] # For example [10,300], or [] for all frames
|
frame_range = [] # For example [10,300], or [] for all frames
|
||||||
## N.B.: If you want a time range instead, use frame_range = time_range * frame_rate
|
## N.B.: If you want a time range instead, use frame_range = time_range * frame_rate
|
||||||
@ -122,6 +123,7 @@ likelihood_threshold_association = 0.2
|
|||||||
|
|
||||||
|
|
||||||
[triangulation]
|
[triangulation]
|
||||||
|
reorder_trc = false # only checked if multi_person analysis
|
||||||
reproj_error_threshold_triangulation = 15 # px
|
reproj_error_threshold_triangulation = 15 # px
|
||||||
likelihood_threshold_triangulation = 0.3
|
likelihood_threshold_triangulation = 0.3
|
||||||
min_cameras_for_triangulation = 2
|
min_cameras_for_triangulation = 2
|
||||||
@ -136,7 +138,7 @@ make_c3d = false # save triangulated data in c3d format in addition to trc # Com
|
|||||||
|
|
||||||
[filtering]
|
[filtering]
|
||||||
type = 'butterworth' # butterworth, kalman, gaussian, LOESS, median, butterworth_on_speed
|
type = 'butterworth' # butterworth, kalman, gaussian, LOESS, median, butterworth_on_speed
|
||||||
display_figures = true # true or false (lowercase)
|
display_figures = false # true or false (lowercase)
|
||||||
|
|
||||||
[filtering.butterworth]
|
[filtering.butterworth]
|
||||||
order = 4
|
order = 4
|
||||||
@ -158,8 +160,8 @@ display_figures = true # true or false (lowercase)
|
|||||||
|
|
||||||
[markerAugmentation]
|
[markerAugmentation]
|
||||||
## Only works on BODY_25 and BODY_25B models
|
## Only works on BODY_25 and BODY_25B models
|
||||||
participant_height = 1.7 # m
|
participant_height = 1.72 # m # float if single person, list of float if multi-person (same order as the Static trials)
|
||||||
participant_mass = 70 # kg
|
participant_mass = 70.0 # kg
|
||||||
|
|
||||||
|
|
||||||
[opensim]
|
[opensim]
|
@ -0,0 +1,39 @@
|
|||||||
|
[cam_01]
|
||||||
|
name = "cam_01"
|
||||||
|
size = [ 1088.0, 1920.0]
|
||||||
|
matrix = [ [ 1681.244873046875, 0.0, 532.97369384375], [ 0.0, 1681.075439453125, 948.137390140625], [ 0.0, 0.0, 1.0]]
|
||||||
|
distortions = [ -0.000721609375, 0.002187234375, 9.5e-06, 1.078125e-05]
|
||||||
|
rotation = [ 1.6882754799999993, 1.0483220499999997, -0.41955852000000016]
|
||||||
|
translation = [ 0.3211048899999996, 0.9563320600000009, 2.8907130499999996]
|
||||||
|
fisheye = false
|
||||||
|
|
||||||
|
[cam_02]
|
||||||
|
name = "cam_02"
|
||||||
|
size = [ 1088.0, 1920.0]
|
||||||
|
matrix = [ [ 1673.729614265625, 0.0, 534.494567875], [ 0.0, 1673.79724121875, 963.225891109375], [ 0.0, 0.0, 1.0]]
|
||||||
|
distortions = [ -0.000747609375, 0.00213728125, 1.51875e-05, 4.546875e-06]
|
||||||
|
rotation = [ 1.34975875, 1.5963809099999993, -1.1983285799999999]
|
||||||
|
translation = [ -0.11152829000000014, 0.7766184800000001, 3.0675519599999994]
|
||||||
|
fisheye = false
|
||||||
|
|
||||||
|
[cam_03]
|
||||||
|
name = "cam_03"
|
||||||
|
size = [ 1088.0, 1920.0]
|
||||||
|
matrix = [ [ 1681.598388671875, 0.0, 513.20837403125], [ 0.0, 1681.509887703125, 955.005126953125], [ 0.0, 0.0, 1.0]]
|
||||||
|
distortions = [ -0.000729765625, 0.00215034375, -8.46875e-06, -8.078125e-06]
|
||||||
|
rotation = [ 0.8109654899999995, -2.1972129299999996, 1.3760277799999996]
|
||||||
|
translation = [ -0.7934803899999995, 0.32283594000000126, 4.353514870000001]
|
||||||
|
fisheye = false
|
||||||
|
|
||||||
|
[cam_04]
|
||||||
|
name = "cam_04"
|
||||||
|
size = [ 1088.0, 1920.0]
|
||||||
|
matrix = [ [ 1675.234985359375, 0.0, 540.106201171875], [ 0.0, 1675.204223640625, 964.0302734375], [ 0.0, 0.0, 1.0]]
|
||||||
|
distortions = [ -0.000744265625, 0.002104171875, 4.328125e-06, 3.109375e-06]
|
||||||
|
rotation = [ 1.4045571699999995, -1.3887412699999993, 0.42535743000000026]
|
||||||
|
translation = [ 0.5030217200000007, 0.04894934000000107, 4.406564460000002]
|
||||||
|
fisheye = false
|
||||||
|
|
||||||
|
[metadata]
|
||||||
|
adjusted = false
|
||||||
|
error = 0.0
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 277 KiB After Width: | Height: | Size: 277 KiB |
Before Width: | Height: | Size: 173 KiB After Width: | Height: | Size: 173 KiB |
Before Width: | Height: | Size: 315 KiB After Width: | Height: | Size: 315 KiB |
Before Width: | Height: | Size: 310 KiB After Width: | Height: | Size: 310 KiB |
Before Width: | Height: | Size: 225 KiB After Width: | Height: | Size: 225 KiB |
Before Width: | Height: | Size: 205 KiB After Width: | Height: | Size: 205 KiB |
Before Width: | Height: | Size: 216 KiB After Width: | Height: | Size: 216 KiB |
Before Width: | Height: | Size: 232 KiB After Width: | Height: | Size: 232 KiB |
Before Width: | Height: | Size: 269 KiB After Width: | Height: | Size: 269 KiB |
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 150 KiB |
Before Width: | Height: | Size: 320 KiB After Width: | Height: | Size: 320 KiB |
Before Width: | Height: | Size: 248 KiB After Width: | Height: | Size: 248 KiB |
Before Width: | Height: | Size: 334 KiB After Width: | Height: | Size: 334 KiB |
Before Width: | Height: | Size: 286 KiB After Width: | Height: | Size: 286 KiB |
Before Width: | Height: | Size: 182 KiB After Width: | Height: | Size: 182 KiB |
Before Width: | Height: | Size: 299 KiB After Width: | Height: | Size: 299 KiB |
Before Width: | Height: | Size: 316 KiB After Width: | Height: | Size: 316 KiB |
Before Width: | Height: | Size: 199 KiB After Width: | Height: | Size: 199 KiB |
Before Width: | Height: | Size: 180 KiB After Width: | Height: | Size: 180 KiB |
Before Width: | Height: | Size: 325 KiB After Width: | Height: | Size: 325 KiB |
Before Width: | Height: | Size: 238 KiB After Width: | Height: | Size: 238 KiB |
Before Width: | Height: | Size: 307 KiB After Width: | Height: | Size: 307 KiB |
Before Width: | Height: | Size: 199 KiB After Width: | Height: | Size: 199 KiB |
Before Width: | Height: | Size: 314 KiB After Width: | Height: | Size: 314 KiB |
Before Width: | Height: | Size: 253 KiB After Width: | Height: | Size: 253 KiB |
Before Width: | Height: | Size: 226 KiB After Width: | Height: | Size: 226 KiB |
Before Width: | Height: | Size: 235 KiB After Width: | Height: | Size: 235 KiB |
Before Width: | Height: | Size: 265 KiB After Width: | Height: | Size: 265 KiB |
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
|
|
||||||
# [project]
|
# [project]
|
||||||
|
# multi_person = false # true for trials with multiple participants. If false, only the main person in scene is analyzed.
|
||||||
# frame_rate = 60 # FPS
|
# frame_rate = 60 # FPS
|
||||||
# frame_range = [] # For example [10,300], or [] for all frames
|
# frame_range = [] # For example [10,300], or [] for all frames
|
||||||
## N.B.: If you want a time range instead, use frame_range = time_range * frame_rate
|
## N.B.: If you want a time range instead, use frame_range = time_range * frame_rate
|
||||||
@ -26,9 +27,9 @@
|
|||||||
|
|
||||||
# exclude_from_batch = [] # List of trials to be excluded from batch analysis, ['<participant_dir/trial_dir>', 'etc'].
|
# exclude_from_batch = [] # List of trials to be excluded from batch analysis, ['<participant_dir/trial_dir>', 'etc'].
|
||||||
# e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P00_Participant/S00_P00_T01_BalancingTrial']
|
# e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P00_Participant/S00_P00_T01_BalancingTrial']
|
||||||
|
|
||||||
|
|
||||||
## Take heart, calibration is not that complicated once you get the hang of it!
|
## Take heart, calibration is not that complicated once you get the hang of it!
|
||||||
|
|
||||||
|
|
||||||
# [calibration]
|
# [calibration]
|
||||||
# calibration_type = 'convert' # 'convert' or 'calculate'
|
# calibration_type = 'convert' # 'convert' or 'calculate'
|
||||||
|
|
||||||
@ -123,6 +124,7 @@
|
|||||||
|
|
||||||
|
|
||||||
# [triangulation]
|
# [triangulation]
|
||||||
|
# reorder_trc = false # only checked if multi_person analysis
|
||||||
# reproj_error_threshold_triangulation = 15 # px
|
# reproj_error_threshold_triangulation = 15 # px
|
||||||
# likelihood_threshold_triangulation = 0.3
|
# likelihood_threshold_triangulation = 0.3
|
||||||
# min_cameras_for_triangulation = 2
|
# min_cameras_for_triangulation = 2
|
||||||
@ -137,7 +139,7 @@
|
|||||||
|
|
||||||
# [filtering]
|
# [filtering]
|
||||||
# type = 'butterworth' # butterworth, kalman, gaussian, LOESS, median, butterworth_on_speed
|
# type = 'butterworth' # butterworth, kalman, gaussian, LOESS, median, butterworth_on_speed
|
||||||
# display_figures = true # true or false (lowercase)
|
# display_figures = false # true or false (lowercase)
|
||||||
|
|
||||||
# [filtering.butterworth]
|
# [filtering.butterworth]
|
||||||
# order = 4
|
# order = 4
|
||||||
@ -159,8 +161,8 @@
|
|||||||
|
|
||||||
# [markerAugmentation]
|
# [markerAugmentation]
|
||||||
# ## Only works on BODY_25 and BODY_25B models
|
# ## Only works on BODY_25 and BODY_25B models
|
||||||
# participant_height = 1.7 # m
|
# participant_height = 1.72 # m # float if single person, list of float if multi-person (same order as the Static trials)
|
||||||
# participant_mass = 70 # kg
|
# participant_mass = 70.0 # kg
|
||||||
|
|
||||||
|
|
||||||
# [opensim]
|
# [opensim]
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
|
|
||||||
# [project]
|
# [project]
|
||||||
|
# multi_person = false # true for trials with multiple participants. If false, only the main person in scene is analyzed.
|
||||||
# frame_rate = 60 # FPS
|
# frame_rate = 60 # FPS
|
||||||
# frame_range = [] # For example [10,300], or [] for all frames
|
# frame_range = [] # For example [10,300], or [] for all frames
|
||||||
## N.B.: If you want a time range instead, use frame_range = time_range * frame_rate
|
## N.B.: If you want a time range instead, use frame_range = time_range * frame_rate
|
||||||
@ -26,9 +27,9 @@
|
|||||||
|
|
||||||
# exclude_from_batch = [] # List of trials to be excluded from batch analysis, ['<participant_dir/trial_dir>', 'etc'].
|
# exclude_from_batch = [] # List of trials to be excluded from batch analysis, ['<participant_dir/trial_dir>', 'etc'].
|
||||||
# e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P00_Participant/S00_P00_T01_BalancingTrial']
|
# e.g. ['S00_P00_Participant/S00_P00_T00_StaticTrial', 'S00_P00_Participant/S00_P00_T01_BalancingTrial']
|
||||||
|
|
||||||
|
|
||||||
## Take heart, calibration is not that complicated once you get the hang of it!
|
## Take heart, calibration is not that complicated once you get the hang of it!
|
||||||
|
|
||||||
|
|
||||||
# [calibration]
|
# [calibration]
|
||||||
# calibration_type = 'convert' # 'convert' or 'calculate'
|
# calibration_type = 'convert' # 'convert' or 'calculate'
|
||||||
|
|
||||||
@ -123,6 +124,7 @@
|
|||||||
|
|
||||||
|
|
||||||
# [triangulation]
|
# [triangulation]
|
||||||
|
# reorder_trc = false # only checked if multi_person analysis
|
||||||
# reproj_error_threshold_triangulation = 15 # px
|
# reproj_error_threshold_triangulation = 15 # px
|
||||||
# likelihood_threshold_triangulation = 0.3
|
# likelihood_threshold_triangulation = 0.3
|
||||||
# min_cameras_for_triangulation = 2
|
# min_cameras_for_triangulation = 2
|
||||||
@ -137,7 +139,7 @@
|
|||||||
|
|
||||||
# [filtering]
|
# [filtering]
|
||||||
# type = 'butterworth' # butterworth, kalman, gaussian, LOESS, median, butterworth_on_speed
|
# type = 'butterworth' # butterworth, kalman, gaussian, LOESS, median, butterworth_on_speed
|
||||||
# display_figures = true # true or false (lowercase)
|
# display_figures = false # true or false (lowercase)
|
||||||
|
|
||||||
# [filtering.butterworth]
|
# [filtering.butterworth]
|
||||||
# order = 4
|
# order = 4
|
||||||
@ -159,8 +161,8 @@
|
|||||||
|
|
||||||
# [markerAugmentation]
|
# [markerAugmentation]
|
||||||
# ## Only works on BODY_25 and BODY_25B models
|
# ## Only works on BODY_25 and BODY_25B models
|
||||||
# participant_height = 1.7 # m
|
# participant_height = 1.72 # m # float if single person, list of float if multi-person (same order as the Static trials)
|
||||||
# participant_mass = 70 # kg
|
# participant_mass = 70.0 # kg
|
||||||
|
|
||||||
|
|
||||||
# [opensim]
|
# [opensim]
|
@ -0,0 +1,17 @@
|
|||||||
|
PathFileType 4 (X/Y/Z) S00_P00_T00_StaticTrial_0-12.trc
|
||||||
|
DataRate CameraRate NumFrames NumMarkers Units OrigDataRate OrigDataStartFrame OrigNumFrames
|
||||||
|
60 60 12 21 m 60 0 12
|
||||||
|
Frame# Time RHip RKnee RAnkle RBigToe RSmallToe RHeel LHip LKnee LAnkle LBigToe LSmallToe LHeel Neck Head Nose RShoulder RElbow RWrist LShoulder LElbow LWrist
|
||||||
|
X1 Y1 Z1 X2 Y2 Z2 X3 Y3 Z3 X4 Y4 Z4 X5 Y5 Z5 X6 Y6 Z6 X7 Y7 Z7 X8 Y8 Z8 X9 Y9 Z9 X10 Y10 Z10 X11 Y11 Z11 X12 Y12 Z12 X13 Y13 Z13 X14 Y14 Z14 X15 Y15 Z15 X16 Y16 Z16 X17 Y17 Z17 X18 Y18 Z18 X19 Y19 Z19 X20 Y20 Z20 X21 Y21 Z21
|
||||||
|
1 0.016666666666666666 -0.0805892909022766 0.8696950332650176 0.07616397712720892 -0.09062396992529709 0.5027125987699389 0.053815664751652004 -0.08348510484278131 0.11873254569531727 0.05652388198749249 0.10932791883931053 0.03344409541682934 0.035747414577025766 0.07248983335710339 0.033062074202217566 0.07875225368890361 -0.1176087936969027 0.047451893916352406 0.046342262659457824 -0.08119480911121874 0.8696061657045612 -0.13493262879782794 -0.09131718923675158 0.5024873911329986 -0.12335261295489082 -0.08442033381266927 0.11837364921705015 -0.13744169250106358 0.10857362727170176 0.03309586754403008 -0.11707336893692377 0.0713043071484326 0.03253248587808669 -0.1605443175932955 -0.11848564079149933 0.047124908972132076 -0.1297639541701532 -0.11433658091277049 1.4866114990895252 -0.023449884506625267 -0.03715305447810592 1.7080697552316921 0.0023489874129097657 -0.007947310066847993 1.5820735921196267 -0.021655869337684177 -0.1254425869499149 1.4065244957439884 0.17755770497265036 -0.08348187441862763 1.1655200498791976 0.30777720913591783 -0.10309240416673056 0.9809612674140524 0.4494034972733397 -0.12592189367116663 1.4071150650397621 -0.22679012550238398 -0.06355728043185781 1.1690645386299587 -0.3607828888380721 -0.06823467675436763 0.9830199237181229 -0.5087828293513995
|
||||||
|
2 0.03333333333333333 -0.0805892909022766 0.8696950332650176 0.07616397712720892 -0.09062396992529709 0.5027125987699389 0.053815664751652004 -0.08348510484278131 0.11873254569531727 0.05652388198749249 0.10932791883931053 0.03344409541682934 0.035747414577025766 0.07248983335710339 0.033062074202217566 0.07875225368890361 -0.1176087936969027 0.047451893916352406 0.046342262659457824 -0.08119480911121874 0.8696061657045612 -0.13493262879782794 -0.09131718923675158 0.5024873911329986 -0.12335261295489082 -0.08442033381266927 0.11837364921705015 -0.13744169250106358 0.10857362727170176 0.03309586754403008 -0.11707336893692377 0.0713043071484326 0.03253248587808669 -0.1605443175932955 -0.11848564079149933 0.047124908972132076 -0.1297639541701532 -0.11433658091277049 1.4866114990895252 -0.023449884506625267 -0.03715305447810592 1.7080697552316921 0.0023489874129097657 -0.007947310066847993 1.5820735921196267 -0.021655869337684177 -0.1254425869499149 1.4065244957439884 0.17755770497265036 -0.08348187441862763 1.1655200498791976 0.30777720913591783 -0.10309240416673056 0.9809612674140524 0.4494034972733397 -0.12592189367116663 1.4071150650397621 -0.22679012550238398 -0.06355728043185781 1.1690645386299587 -0.3607828888380721 -0.06823467675436763 0.9830199237181229 -0.5087828293513995
|
||||||
|
3 0.05 -0.0805892909022766 0.8696950332650176 0.07616397712720892 -0.09062396992529709 0.5027125987699389 0.053815664751652004 -0.08348510484278131 0.11873254569531727 0.05652388198749249 0.10932791883931053 0.03344409541682934 0.035747414577025766 0.07248983335710339 0.033062074202217566 0.07875225368890361 -0.1176087936969027 0.047451893916352406 0.046342262659457824 -0.08119480911121874 0.8696061657045612 -0.13493262879782794 -0.09131718923675158 0.5024873911329986 -0.12335261295489082 -0.08442033381266927 0.11837364921705015 -0.13744169250106358 0.10857362727170176 0.03309586754403008 -0.11707336893692377 0.0713043071484326 0.03253248587808669 -0.1605443175932955 -0.11848564079149933 0.047124908972132076 -0.1297639541701532 -0.11433658091277049 1.4866114990895252 -0.023449884506625267 -0.03715305447810592 1.7080697552316921 0.0023489874129097657 -0.007947310066847993 1.5820735921196267 -0.021655869337684177 -0.1254425869499149 1.4065244957439884 0.17755770497265036 -0.08348187441862763 1.1655200498791976 0.30777720913591783 -0.10309240416673056 0.9809612674140524 0.4494034972733397 -0.12592189367116663 1.4071150650397621 -0.22679012550238398 -0.06355728043185781 1.1690645386299587 -0.3607828888380721 -0.06823467675436763 0.9830199237181229 -0.5087828293513995
|
||||||
|
4 0.06666666666666667 -0.0805892909022766 0.8696950332650176 0.07616397712720892 -0.09062396992529709 0.5027125987699389 0.053815664751652004 -0.08348510484278131 0.11873254569531727 0.05652388198749249 0.10932791883931053 0.03344409541682934 0.035747414577025766 0.07248983335710339 0.033062074202217566 0.07875225368890361 -0.1176087936969027 0.047451893916352406 0.046342262659457824 -0.08119480911121874 0.8696061657045612 -0.13493262879782794 -0.09131718923675158 0.5024873911329986 -0.12335261295489082 -0.08442033381266927 0.11837364921705015 -0.13744169250106358 0.10857362727170176 0.03309586754403008 -0.11707336893692377 0.0713043071484326 0.03253248587808669 -0.1605443175932955 -0.11848564079149933 0.047124908972132076 -0.1297639541701532 -0.11433658091277049 1.4866114990895252 -0.023449884506625267 -0.03715305447810592 1.7080697552316921 0.0023489874129097657 -0.007947310066847993 1.5820735921196267 -0.021655869337684177 -0.1254425869499149 1.4065244957439884 0.17755770497265036 -0.08348187441862763 1.1655200498791976 0.30777720913591783 -0.10309240416673056 0.9809612674140524 0.4494034972733397 -0.12592189367116663 1.4071150650397621 -0.22679012550238398 -0.06355728043185781 1.1690645386299587 -0.3607828888380721 -0.06823467675436763 0.9830199237181229 -0.5087828293513995
|
||||||
|
5 0.08333333333333333 -0.0805892909022766 0.8696950332650176 0.07616397712720892 -0.09062396992529709 0.5027125987699389 0.053815664751652004 -0.08348510484278131 0.11873254569531727 0.05652388198749249 0.10932791883931053 0.03344409541682934 0.035747414577025766 0.07248983335710339 0.033062074202217566 0.07875225368890361 -0.1176087936969027 0.047451893916352406 0.046342262659457824 -0.08119480911121874 0.8696061657045612 -0.13493262879782794 -0.09131718923675158 0.5024873911329986 -0.12335261295489082 -0.08442033381266927 0.11837364921705015 -0.13744169250106358 0.10857362727170176 0.03309586754403008 -0.11707336893692377 0.0713043071484326 0.03253248587808669 -0.1605443175932955 -0.11848564079149933 0.047124908972132076 -0.1297639541701532 -0.11433658091277049 1.4866114990895252 -0.023449884506625267 -0.03715305447810592 1.7080697552316921 0.0023489874129097657 -0.007947310066847993 1.5820735921196267 -0.021655869337684177 -0.1254425869499149 1.4065244957439884 0.17755770497265036 -0.08348187441862763 1.1655200498791976 0.30777720913591783 -0.10309240416673056 0.9809612674140524 0.4494034972733397 -0.12592189367116663 1.4071150650397621 -0.22679012550238398 -0.06355728043185781 1.1690645386299587 -0.3607828888380721 -0.06823467675436763 0.9830199237181229 -0.5087828293513995
|
||||||
|
6 0.1 -0.0805892909022766 0.8696950332650176 0.07616397712720892 -0.09062396992529709 0.5027125987699389 0.053815664751652004 -0.08348510484278131 0.11873254569531727 0.05652388198749249 0.10932791883931053 0.03344409541682934 0.035747414577025766 0.07248983335710339 0.033062074202217566 0.07875225368890361 -0.1176087936969027 0.047451893916352406 0.046342262659457824 -0.08119480911121874 0.8696061657045612 -0.13493262879782794 -0.09131718923675158 0.5024873911329986 -0.12335261295489082 -0.08442033381266927 0.11837364921705015 -0.13744169250106358 0.10857362727170176 0.03309586754403008 -0.11707336893692377 0.0713043071484326 0.03253248587808669 -0.1605443175932955 -0.11848564079149933 0.047124908972132076 -0.1297639541701532 -0.11433658091277049 1.4866114990895252 -0.023449884506625267 -0.03715305447810592 1.7080697552316921 0.0023489874129097657 -0.007947310066847993 1.5820735921196267 -0.021655869337684177 -0.1254425869499149 1.4065244957439884 0.17755770497265036 -0.08348187441862763 1.1655200498791976 0.30777720913591783 -0.10309240416673056 0.9809612674140524 0.4494034972733397 -0.12592189367116663 1.4071150650397621 -0.22679012550238398 -0.06355728043185781 1.1690645386299587 -0.3607828888380721 -0.06823467675436763 0.9830199237181229 -0.5087828293513995
|
||||||
|
7 0.11666666666666667 -0.0805892909022766 0.8696950332650176 0.07616397712720892 -0.09062396992529709 0.5027125987699389 0.053815664751652004 -0.08348510484278131 0.11873254569531727 0.05652388198749249 0.10932791883931053 0.03344409541682934 0.035747414577025766 0.07248983335710339 0.033062074202217566 0.07875225368890361 -0.1176087936969027 0.047451893916352406 0.046342262659457824 -0.08119480911121874 0.8696061657045612 -0.13493262879782794 -0.09131718923675158 0.5024873911329986 -0.12335261295489082 -0.08442033381266927 0.11837364921705015 -0.13744169250106358 0.10857362727170176 0.03309586754403008 -0.11707336893692377 0.0713043071484326 0.03253248587808669 -0.1605443175932955 -0.11848564079149933 0.047124908972132076 -0.1297639541701532 -0.11433658091277049 1.4866114990895252 -0.023449884506625267 -0.03715305447810592 1.7080697552316921 0.0023489874129097657 -0.007947310066847993 1.5820735921196267 -0.021655869337684177 -0.1254425869499149 1.4065244957439884 0.17755770497265036 -0.08348187441862763 1.1655200498791976 0.30777720913591783 -0.10309240416673056 0.9809612674140524 0.4494034972733397 -0.12592189367116663 1.4071150650397621 -0.22679012550238398 -0.06355728043185781 1.1690645386299587 -0.3607828888380721 -0.06823467675436763 0.9830199237181229 -0.5087828293513995
|
||||||
|
8 0.13333333333333333 -0.0805892909022766 0.8696950332650176 0.07616397712720892 -0.09062396992529709 0.5027125987699389 0.053815664751652004 -0.08348510484278131 0.11873254569531727 0.05652388198749249 0.10932791883931053 0.03344409541682934 0.035747414577025766 0.07248983335710339 0.033062074202217566 0.07875225368890361 -0.1176087936969027 0.047451893916352406 0.046342262659457824 -0.08119480911121874 0.8696061657045612 -0.13493262879782794 -0.09131718923675158 0.5024873911329986 -0.12335261295489082 -0.08442033381266927 0.11837364921705015 -0.13744169250106358 0.10857362727170176 0.03309586754403008 -0.11707336893692377 0.0713043071484326 0.03253248587808669 -0.1605443175932955 -0.11848564079149933 0.047124908972132076 -0.1297639541701532 -0.11433658091277049 1.4866114990895252 -0.023449884506625267 -0.03715305447810592 1.7080697552316921 0.0023489874129097657 -0.007947310066847993 1.5820735921196267 -0.021655869337684177 -0.1254425869499149 1.4065244957439884 0.17755770497265036 -0.08348187441862763 1.1655200498791976 0.30777720913591783 -0.10309240416673056 0.9809612674140524 0.4494034972733397 -0.12592189367116663 1.4071150650397621 -0.22679012550238398 -0.06355728043185781 1.1690645386299587 -0.3607828888380721 -0.06823467675436763 0.9830199237181229 -0.5087828293513995
|
||||||
|
9 0.15 -0.0805892909022766 0.8696950332650176 0.07616397712720892 -0.09062396992529709 0.5027125987699389 0.053815664751652004 -0.08348510484278131 0.11873254569531727 0.05652388198749249 0.10932791883931053 0.03344409541682934 0.035747414577025766 0.07248983335710339 0.033062074202217566 0.07875225368890361 -0.1176087936969027 0.047451893916352406 0.046342262659457824 -0.08119480911121874 0.8696061657045612 -0.13493262879782794 -0.09131718923675158 0.5024873911329986 -0.12335261295489082 -0.08442033381266927 0.11837364921705015 -0.13744169250106358 0.10857362727170176 0.03309586754403008 -0.11707336893692377 0.0713043071484326 0.03253248587808669 -0.1605443175932955 -0.11848564079149933 0.047124908972132076 -0.1297639541701532 -0.11433658091277049 1.4866114990895252 -0.023449884506625267 -0.03715305447810592 1.7080697552316921 0.0023489874129097657 -0.007947310066847993 1.5820735921196267 -0.021655869337684177 -0.1254425869499149 1.4065244957439884 0.17755770497265036 -0.08348187441862763 1.1655200498791976 0.30777720913591783 -0.10309240416673056 0.9809612674140524 0.4494034972733397 -0.12592189367116663 1.4071150650397621 -0.22679012550238398 -0.06355728043185781 1.1690645386299587 -0.3607828888380721 -0.06823467675436763 0.9830199237181229 -0.5087828293513995
|
||||||
|
10 0.16666666666666666 -0.0805892909022766 0.8696950332650176 0.07616397712720892 -0.09062396992529709 0.5027125987699389 0.053815664751652004 -0.08348510484278131 0.11873254569531727 0.05652388198749249 0.10932791883931053 0.03344409541682934 0.035747414577025766 0.07248983335710339 0.033062074202217566 0.07875225368890361 -0.1176087936969027 0.047451893916352406 0.046342262659457824 -0.08119480911121874 0.8696061657045612 -0.13493262879782794 -0.09131718923675158 0.5024873911329986 -0.12335261295489082 -0.08442033381266927 0.11837364921705015 -0.13744169250106358 0.10857362727170176 0.03309586754403008 -0.11707336893692377 0.0713043071484326 0.03253248587808669 -0.1605443175932955 -0.11848564079149933 0.047124908972132076 -0.1297639541701532 -0.11433658091277049 1.4866114990895252 -0.023449884506625267 -0.03715305447810592 1.7080697552316921 0.0023489874129097657 -0.007947310066847993 1.5820735921196267 -0.021655869337684177 -0.1254425869499149 1.4065244957439884 0.17755770497265036 -0.08348187441862763 1.1655200498791976 0.30777720913591783 -0.10309240416673056 0.9809612674140524 0.4494034972733397 -0.12592189367116663 1.4071150650397621 -0.22679012550238398 -0.06355728043185781 1.1690645386299587 -0.3607828888380721 -0.06823467675436763 0.9830199237181229 -0.5087828293513995
|
||||||
|
11 0.18333333333333332 -0.0805892909022766 0.8696950332650176 0.07616397712720892 -0.09062396992529709 0.5027125987699389 0.053815664751652004 -0.08348510484278131 0.11873254569531727 0.05652388198749249 0.10932791883931053 0.03344409541682934 0.035747414577025766 0.07248983335710339 0.033062074202217566 0.07875225368890361 -0.1176087936969027 0.047451893916352406 0.046342262659457824 -0.08119480911121874 0.8696061657045612 -0.13493262879782794 -0.09131718923675158 0.5024873911329986 -0.12335261295489082 -0.08442033381266927 0.11837364921705015 -0.13744169250106358 0.10857362727170176 0.03309586754403008 -0.11707336893692377 0.0713043071484326 0.03253248587808669 -0.1605443175932955 -0.11848564079149933 0.047124908972132076 -0.1297639541701532 -0.11433658091277049 1.4866114990895252 -0.023449884506625267 -0.03715305447810592 1.7080697552316921 0.0023489874129097657 -0.007947310066847993 1.5820735921196267 -0.021655869337684177 -0.1254425869499149 1.4065244957439884 0.17755770497265036 -0.08348187441862763 1.1655200498791976 0.30777720913591783 -0.10309240416673056 0.9809612674140524 0.4494034972733397 -0.12592189367116663 1.4071150650397621 -0.22679012550238398 -0.06355728043185781 1.1690645386299587 -0.3607828888380721 -0.06823467675436763 0.9830199237181229 -0.5087828293513995
|
||||||
|
12 0.2 -0.0805892909022766 0.8696950332650176 0.07616397712720892 -0.09062396992529709 0.5027125987699389 0.053815664751652004 -0.08348510484278131 0.11873254569531727 0.05652388198749249 0.10932791883931053 0.03344409541682934 0.035747414577025766 0.07248983335710339 0.033062074202217566 0.07875225368890361 -0.1176087936969027 0.047451893916352406 0.046342262659457824 -0.08119480911121874 0.8696061657045612 -0.13493262879782794 -0.09131718923675158 0.5024873911329986 -0.12335261295489082 -0.08442033381266927 0.11837364921705015 -0.13744169250106358 0.10857362727170176 0.03309586754403008 -0.11707336893692377 0.0713043071484326 0.03253248587808669 -0.1605443175932955 -0.11848564079149933 0.047124908972132076 -0.1297639541701532 -0.11433658091277049 1.4866114990895252 -0.023449884506625267 -0.03715305447810592 1.7080697552316921 0.0023489874129097657 -0.007947310066847993 1.5820735921196267 -0.021655869337684177 -0.1254425869499149 1.4065244957439884 0.17755770497265036 -0.08348187441862763 1.1655200498791976 0.30777720913591783 -0.10309240416673056 0.9809612674140524 0.4494034972733397 -0.12592189367116663 1.4071150650397621 -0.22679012550238398 -0.06355728043185781 1.1690645386299587 -0.3607828888380721 -0.06823467675436763 0.9830199237181229 -0.5087828293513995
|
@ -0,0 +1,17 @@
|
|||||||
|
PathFileType 4 (X/Y/Z) S00_P00_T00_StaticTrial_0-12.trc
|
||||||
|
DataRate CameraRate NumFrames NumMarkers Units OrigDataRate OrigDataStartFrame OrigNumFrames
|
||||||
|
60 60 12 21 m 60 0 12
|
||||||
|
Frame# Time RHip RKnee RAnkle RBigToe RSmallToe RHeel LHip LKnee LAnkle LBigToe LSmallToe LHeel Neck Head Nose RShoulder RElbow RWrist LShoulder LElbow LWrist
|
||||||
|
X1 Y1 Z1 X2 Y2 Z2 X3 Y3 Z3 X4 Y4 Z4 X5 Y5 Z5 X6 Y6 Z6 X7 Y7 Z7 X8 Y8 Z8 X9 Y9 Z9 X10 Y10 Z10 X11 Y11 Z11 X12 Y12 Z12 X13 Y13 Z13 X14 Y14 Z14 X15 Y15 Z15 X16 Y16 Z16 X17 Y17 Z17 X18 Y18 Z18 X19 Y19 Z19 X20 Y20 Z20 X21 Y21 Z21
|
||||||
|
1 0.0166666666666666 -0.08058929090227662 0.8696950332650171 0.07616397712720885 -0.09062396992529695 0.5027125987699387 0.053815664751651976 -0.08348510484278128 0.11873254569531715 0.05652388198749238 0.10932791883931045 0.0334440954168293 0.035747414577025675 0.07248983335710327 0.0330620742022175 0.07875225368890357 -0.11760879369690265 0.04745189391635238 0.046342262659457796 -0.0811948091112187 0.8696061657045607 -0.1349326287978279 -0.09131718923675151 0.5024873911329986 -0.1233526129548907 -0.08442033381266921 0.1183736492170501 -0.1374416925010635 0.10857362727170164 0.03309586754402999 -0.11707336893692365 0.0713043071484326 0.0325324858780866 -0.16054431759329543 -0.11848564079149924 0.04712490897213197 -0.12976395417015316 -0.11433658091277035 1.4866114990895243 -0.02344988450662519 -0.03715305447810588 1.7080697552316915 0.0023489874129096976 -0.007947310066847896 1.5820735921196258 -0.02165586933768409 -0.1254425869499149 1.4065244957439875 0.17755770497265025 -0.08348187441862756 1.1655200498791973 0.30777720913591766 -0.10309240416673049 0.980961267414052 0.44940349727333967 -0.1259218936711666 1.4071150650397621 -0.22679012550238378 -0.06355728043185777 1.169064538629958 -0.3607828888380721 -0.06823467675436758 0.9830199237181223 -0.5087828293513995
|
||||||
|
2 0.0333333333333333 -0.08058929090227662 0.8696950332650171 0.07616397712720885 -0.09062396992529695 0.5027125987699387 0.053815664751651976 -0.08348510484278128 0.11873254569531715 0.05652388198749238 0.10932791883931045 0.0334440954168293 0.035747414577025675 0.07248983335710327 0.0330620742022175 0.07875225368890357 -0.11760879369690265 0.04745189391635238 0.046342262659457796 -0.0811948091112187 0.8696061657045607 -0.1349326287978279 -0.09131718923675151 0.5024873911329986 -0.1233526129548907 -0.08442033381266921 0.11837364921705011 -0.1374416925010635 0.10857362727170164 0.03309586754402999 -0.11707336893692365 0.0713043071484326 0.0325324858780866 -0.16054431759329543 -0.11848564079149924 0.04712490897213197 -0.12976395417015316 -0.11433658091277037 1.4866114990895243 -0.02344988450662519 -0.03715305447810588 1.7080697552316915 0.0023489874129096976 -0.007947310066847896 1.5820735921196258 -0.02165586933768409 -0.1254425869499149 1.4065244957439875 0.17755770497265025 -0.08348187441862756 1.1655200498791973 0.30777720913591766 -0.10309240416673049 0.980961267414052 0.44940349727333967 -0.1259218936711666 1.4071150650397621 -0.22679012550238378 -0.06355728043185777 1.169064538629958 -0.3607828888380721 -0.06823467675436758 0.9830199237181223 -0.5087828293513995
|
||||||
|
3 0.05 -0.08058929090227662 0.8696950332650171 0.07616397712720885 -0.09062396992529695 0.5027125987699387 0.053815664751651976 -0.08348510484278128 0.11873254569531715 0.05652388198749238 0.10932791883931045 0.0334440954168293 0.035747414577025675 0.07248983335710327 0.0330620742022175 0.07875225368890357 -0.11760879369690266 0.04745189391635238 0.046342262659457796 -0.0811948091112187 0.8696061657045607 -0.1349326287978279 -0.09131718923675151 0.5024873911329986 -0.1233526129548907 -0.08442033381266921 0.11837364921705011 -0.1374416925010635 0.10857362727170164 0.03309586754402999 -0.11707336893692365 0.0713043071484326 0.0325324858780866 -0.16054431759329543 -0.11848564079149924 0.04712490897213197 -0.12976395417015316 -0.11433658091277037 1.4866114990895243 -0.02344988450662519 -0.03715305447810588 1.7080697552316915 0.0023489874129096976 -0.007947310066847896 1.5820735921196258 -0.02165586933768409 -0.1254425869499149 1.4065244957439875 0.17755770497265025 -0.08348187441862756 1.1655200498791973 0.30777720913591766 -0.10309240416673049 0.9809612674140519 0.44940349727333967 -0.1259218936711666 1.4071150650397621 -0.22679012550238378 -0.06355728043185777 1.169064538629958 -0.3607828888380721 -0.06823467675436758 0.9830199237181223 -0.5087828293513995
|
||||||
|
4 0.0666666666666666 -0.08058929090227662 0.8696950332650171 0.07616397712720885 -0.09062396992529695 0.5027125987699387 0.053815664751651976 -0.08348510484278128 0.11873254569531715 0.05652388198749238 0.10932791883931045 0.0334440954168293 0.035747414577025675 0.07248983335710327 0.0330620742022175 0.07875225368890357 -0.11760879369690266 0.04745189391635238 0.046342262659457796 -0.0811948091112187 0.8696061657045607 -0.1349326287978279 -0.09131718923675151 0.5024873911329986 -0.1233526129548907 -0.08442033381266921 0.1183736492170501 -0.1374416925010635 0.10857362727170164 0.03309586754402999 -0.11707336893692365 0.0713043071484326 0.0325324858780866 -0.16054431759329543 -0.11848564079149924 0.04712490897213197 -0.12976395417015316 -0.11433658091277035 1.4866114990895243 -0.02344988450662519 -0.03715305447810588 1.7080697552316915 0.0023489874129096976 -0.007947310066847896 1.5820735921196258 -0.02165586933768409 -0.1254425869499149 1.4065244957439875 0.17755770497265025 -0.08348187441862756 1.1655200498791973 0.30777720913591766 -0.10309240416673049 0.9809612674140519 0.44940349727333967 -0.1259218936711666 1.4071150650397621 -0.22679012550238378 -0.06355728043185777 1.169064538629958 -0.3607828888380721 -0.06823467675436758 0.9830199237181223 -0.5087828293513995
|
||||||
|
5 0.0833333333333333 -0.08058929090227662 0.8696950332650171 0.07616397712720885 -0.09062396992529695 0.5027125987699387 0.053815664751651976 -0.08348510484278128 0.11873254569531715 0.05652388198749238 0.10932791883931045 0.0334440954168293 0.035747414577025675 0.07248983335710327 0.0330620742022175 0.07875225368890357 -0.11760879369690265 0.04745189391635238 0.046342262659457796 -0.0811948091112187 0.8696061657045607 -0.1349326287978279 -0.09131718923675151 0.5024873911329986 -0.1233526129548907 -0.08442033381266921 0.1183736492170501 -0.1374416925010635 0.10857362727170164 0.03309586754402999 -0.11707336893692365 0.0713043071484326 0.0325324858780866 -0.16054431759329543 -0.11848564079149924 0.04712490897213197 -0.12976395417015316 -0.11433658091277035 1.4866114990895243 -0.02344988450662519 -0.03715305447810588 1.7080697552316915 0.0023489874129096976 -0.007947310066847896 1.5820735921196258 -0.02165586933768409 -0.1254425869499149 1.4065244957439875 0.17755770497265025 -0.08348187441862756 1.1655200498791973 0.30777720913591766 -0.10309240416673049 0.980961267414052 0.44940349727333967 -0.1259218936711666 1.4071150650397621 -0.22679012550238378 -0.06355728043185777 1.169064538629958 -0.3607828888380721 -0.06823467675436758 0.9830199237181223 -0.5087828293513995
|
||||||
|
6 0.1 -0.08058929090227662 0.8696950332650171 0.07616397712720885 -0.09062396992529695 0.5027125987699387 0.053815664751651976 -0.08348510484278128 0.11873254569531715 0.05652388198749238 0.10932791883931045 0.0334440954168293 0.035747414577025675 0.07248983335710327 0.0330620742022175 0.07875225368890357 -0.11760879369690265 0.04745189391635238 0.046342262659457796 -0.0811948091112187 0.8696061657045607 -0.1349326287978279 -0.09131718923675151 0.5024873911329986 -0.1233526129548907 -0.08442033381266921 0.11837364921705011 -0.1374416925010635 0.10857362727170164 0.03309586754402999 -0.11707336893692365 0.0713043071484326 0.0325324858780866 -0.16054431759329543 -0.11848564079149924 0.04712490897213197 -0.12976395417015316 -0.11433658091277037 1.4866114990895243 -0.02344988450662519 -0.03715305447810588 1.7080697552316915 0.0023489874129096976 -0.007947310066847896 1.5820735921196258 -0.02165586933768409 -0.1254425869499149 1.4065244957439875 0.17755770497265025 -0.08348187441862756 1.1655200498791973 0.30777720913591766 -0.10309240416673049 0.980961267414052 0.44940349727333967 -0.1259218936711666 1.4071150650397621 -0.22679012550238378 -0.06355728043185777 1.169064538629958 -0.3607828888380721 -0.06823467675436758 0.9830199237181223 -0.5087828293513995
|
||||||
|
7 0.1166666666666666 -0.08058929090227662 0.8696950332650171 0.07616397712720885 -0.09062396992529695 0.5027125987699387 0.053815664751651976 -0.08348510484278128 0.11873254569531715 0.05652388198749238 0.10932791883931045 0.0334440954168293 0.035747414577025675 0.07248983335710327 0.0330620742022175 0.07875225368890357 -0.11760879369690266 0.04745189391635238 0.046342262659457796 -0.0811948091112187 0.8696061657045607 -0.1349326287978279 -0.09131718923675151 0.5024873911329986 -0.1233526129548907 -0.08442033381266921 0.11837364921705011 -0.1374416925010635 0.10857362727170164 0.03309586754402999 -0.11707336893692365 0.0713043071484326 0.0325324858780866 -0.16054431759329543 -0.11848564079149924 0.04712490897213197 -0.12976395417015316 -0.11433658091277037 1.4866114990895243 -0.02344988450662519 -0.03715305447810588 1.7080697552316915 0.0023489874129096976 -0.007947310066847896 1.5820735921196258 -0.02165586933768409 -0.1254425869499149 1.4065244957439875 0.17755770497265025 -0.08348187441862756 1.1655200498791973 0.30777720913591766 -0.10309240416673049 0.9809612674140519 0.44940349727333967 -0.1259218936711666 1.4071150650397621 -0.22679012550238378 -0.06355728043185777 1.169064538629958 -0.3607828888380721 -0.06823467675436758 0.9830199237181223 -0.5087828293513995
|
||||||
|
8 0.1333333333333333 -0.08058929090227662 0.8696950332650171 0.07616397712720885 -0.09062396992529695 0.5027125987699387 0.053815664751651976 -0.08348510484278128 0.11873254569531715 0.05652388198749238 0.10932791883931045 0.0334440954168293 0.035747414577025675 0.07248983335710327 0.0330620742022175 0.07875225368890357 -0.11760879369690266 0.04745189391635238 0.046342262659457796 -0.0811948091112187 0.8696061657045607 -0.1349326287978279 -0.09131718923675151 0.5024873911329986 -0.1233526129548907 -0.08442033381266921 0.1183736492170501 -0.1374416925010635 0.10857362727170164 0.03309586754402999 -0.11707336893692365 0.0713043071484326 0.0325324858780866 -0.16054431759329543 -0.11848564079149924 0.04712490897213197 -0.12976395417015316 -0.11433658091277035 1.4866114990895243 -0.02344988450662519 -0.03715305447810588 1.7080697552316915 0.0023489874129096976 -0.007947310066847896 1.5820735921196258 -0.02165586933768409 -0.1254425869499149 1.4065244957439875 0.17755770497265025 -0.08348187441862756 1.1655200498791973 0.30777720913591766 -0.10309240416673049 0.9809612674140519 0.44940349727333967 -0.1259218936711666 1.4071150650397621 -0.22679012550238378 -0.06355728043185777 1.169064538629958 -0.3607828888380721 -0.06823467675436758 0.9830199237181223 -0.5087828293513995
|
||||||
|
9 0.15 -0.08058929090227662 0.8696950332650171 0.07616397712720885 -0.09062396992529695 0.5027125987699387 0.053815664751651976 -0.08348510484278128 0.11873254569531715 0.05652388198749238 0.10932791883931045 0.0334440954168293 0.035747414577025675 0.07248983335710327 0.0330620742022175 0.07875225368890357 -0.11760879369690265 0.04745189391635238 0.046342262659457796 -0.0811948091112187 0.8696061657045607 -0.1349326287978279 -0.09131718923675151 0.5024873911329986 -0.1233526129548907 -0.08442033381266921 0.1183736492170501 -0.1374416925010635 0.10857362727170164 0.03309586754402999 -0.11707336893692365 0.0713043071484326 0.0325324858780866 -0.16054431759329543 -0.11848564079149924 0.04712490897213197 -0.12976395417015316 -0.11433658091277035 1.4866114990895243 -0.02344988450662519 -0.03715305447810588 1.7080697552316915 0.0023489874129096976 -0.007947310066847896 1.5820735921196258 -0.02165586933768409 -0.1254425869499149 1.4065244957439875 0.17755770497265025 -0.08348187441862756 1.1655200498791973 0.30777720913591766 -0.10309240416673049 0.980961267414052 0.44940349727333967 -0.1259218936711666 1.4071150650397621 -0.22679012550238378 -0.06355728043185777 1.169064538629958 -0.3607828888380721 -0.06823467675436758 0.9830199237181223 -0.5087828293513995
|
||||||
|
10 0.1666666666666666 -0.08058929090227662 0.8696950332650171 0.07616397712720885 -0.09062396992529695 0.5027125987699387 0.053815664751651976 -0.08348510484278128 0.11873254569531715 0.05652388198749238 0.10932791883931045 0.0334440954168293 0.035747414577025675 0.07248983335710327 0.0330620742022175 0.07875225368890357 -0.11760879369690265 0.04745189391635238 0.046342262659457796 -0.0811948091112187 0.8696061657045607 -0.1349326287978279 -0.09131718923675151 0.5024873911329986 -0.1233526129548907 -0.08442033381266921 0.11837364921705011 -0.1374416925010635 0.10857362727170164 0.03309586754402999 -0.11707336893692365 0.0713043071484326 0.0325324858780866 -0.16054431759329543 -0.11848564079149924 0.04712490897213197 -0.12976395417015316 -0.11433658091277037 1.4866114990895243 -0.02344988450662519 -0.03715305447810588 1.7080697552316915 0.0023489874129096976 -0.007947310066847896 1.5820735921196258 -0.02165586933768409 -0.1254425869499149 1.4065244957439875 0.17755770497265025 -0.08348187441862756 1.1655200498791973 0.30777720913591766 -0.10309240416673049 0.980961267414052 0.44940349727333967 -0.1259218936711666 1.4071150650397621 -0.22679012550238378 -0.06355728043185777 1.169064538629958 -0.3607828888380721 -0.06823467675436758 0.9830199237181223 -0.5087828293513995
|
||||||
|
11 0.1833333333333333 -0.08058929090227662 0.8696950332650171 0.07616397712720885 -0.09062396992529695 0.5027125987699387 0.053815664751651976 -0.08348510484278128 0.11873254569531715 0.05652388198749238 0.10932791883931045 0.0334440954168293 0.035747414577025675 0.07248983335710327 0.0330620742022175 0.07875225368890357 -0.11760879369690266 0.04745189391635238 0.046342262659457796 -0.0811948091112187 0.8696061657045607 -0.1349326287978279 -0.09131718923675151 0.5024873911329986 -0.1233526129548907 -0.08442033381266921 0.11837364921705011 -0.1374416925010635 0.10857362727170164 0.03309586754402999 -0.11707336893692365 0.0713043071484326 0.0325324858780866 -0.16054431759329543 -0.11848564079149924 0.04712490897213197 -0.12976395417015316 -0.11433658091277037 1.4866114990895243 -0.02344988450662519 -0.03715305447810588 1.7080697552316915 0.0023489874129096976 -0.007947310066847896 1.5820735921196258 -0.02165586933768409 -0.1254425869499149 1.4065244957439875 0.17755770497265025 -0.08348187441862756 1.1655200498791973 0.30777720913591766 -0.10309240416673049 0.9809612674140519 0.44940349727333967 -0.1259218936711666 1.4071150650397621 -0.22679012550238378 -0.06355728043185777 1.169064538629958 -0.3607828888380721 -0.06823467675436758 0.9830199237181223 -0.5087828293513995
|
||||||
|
12 0.2 -0.08058929090227662 0.8696950332650171 0.07616397712720885 -0.09062396992529695 0.5027125987699387 0.053815664751651976 -0.08348510484278128 0.11873254569531715 0.05652388198749238 0.10932791883931045 0.0334440954168293 0.035747414577025675 0.07248983335710327 0.0330620742022175 0.07875225368890357 -0.11760879369690266 0.04745189391635238 0.046342262659457796 -0.0811948091112187 0.8696061657045607 -0.1349326287978279 -0.09131718923675151 0.5024873911329986 -0.1233526129548907 -0.08442033381266921 0.1183736492170501 -0.1374416925010635 0.10857362727170164 0.03309586754402999 -0.11707336893692365 0.0713043071484326 0.0325324858780866 -0.16054431759329543 -0.11848564079149924 0.04712490897213197 -0.12976395417015316 -0.11433658091277035 1.4866114990895243 -0.02344988450662519 -0.03715305447810588 1.7080697552316915 0.0023489874129096976 -0.007947310066847896 1.5820735921196258 -0.02165586933768409 -0.1254425869499149 1.4065244957439875 0.17755770497265025 -0.08348187441862756 1.1655200498791973 0.30777720913591766 -0.10309240416673049 0.9809612674140519 0.44940349727333967 -0.1259218936711666 1.4071150650397621 -0.22679012550238378 -0.06355728043185777 1.169064538629958 -0.3607828888380721 -0.06823467675436758 0.9830199237181223 -0.5087828293513995
|
@ -0,0 +1,18 @@
|
|||||||
|
PathFileType 4 (X/Y/Z) D:\softs\github_david\pose2sim\Pose2Sim\S00_Demo_Session\S00_P00_SingleParticipant\S00_P00_T00_StaticTrial\pose-3d
|
||||||
|
DataRate CameraRate NumFrames NumMarkers Units OrigDataRate OrigDataStartFrame OrigNumFrames
|
||||||
|
60.0 60.0 12 64 m 60.0 0 12
|
||||||
|
Frame# Time RHip RKnee RAnkle RBigToe RSmallToe RHeel LHip LKnee LAnkle LBigToe LSmallToe LHeel Neck Head Nose RShoulder RElbow RWrist LShoulder LElbow LWrist r.ASIS_study L.ASIS_study r.PSIS_study L.PSIS_study r_knee_study r_mknee_study r_ankle_study r_mankle_study r_toe_study r_5meta_study r_calc_study L_knee_study L_mknee_study L_ankle_study L_mankle_study L_toe_study L_calc_study L_5meta_study r_shoulder_study L_shoulder_study C7_study r_thigh1_study r_thigh2_study r_thigh3_study L_thigh1_study L_thigh2_study L_thigh3_study r_sh1_study r_sh2_study r_sh3_study L_sh1_study L_sh2_study L_sh3_study RHJC_study LHJC_study r_lelbow_study r_melbow_study r_lwrist_study r_mwrist_study L_lelbow_study L_melbow_study L_lwrist_study L_mwrist_study
|
||||||
|
X1 Y1 Z1 X2 Y2 Z2 X3 Y3 Z3 X4 Y4 Z4 X5 Y5 Z5 X6 Y6 Z6 X7 Y7 Z7 X8 Y8 Z8 X9 Y9 Z9 X10 Y10 Z10 X11 Y11 Z11 X12 Y12 Z12 X13 Y13 Z13 X14 Y14 Z14 X15 Y15 Z15 X16 Y16 Z16 X17 Y17 Z17 X18 Y18 Z18 X19 Y19 Z19 X20 Y20 Z20 X21 Y21 Z21 X22 Y22 Z22 X23 Y23 Z23 X24 Y24 Z24 X25 Y25 Z25 X26 Y26 Z26 X27 Y27 Z27 X28 Y28 Z28 X29 Y29 Z29 X30 Y30 Z30 X31 Y31 Z31 X32 Y32 Z32 X33 Y33 Z33 X34 Y34 Z34 X35 Y35 Z35 X36 Y36 Z36 X37 Y37 Z37 X38 Y38 Z38 X39 Y39 Z39 X40 Y40 Z40 X41 Y41 Z41 X42 Y42 Z42 X43 Y43 Z43 X44 Y44 Z44 X45 Y45 Z45 X46 Y46 Z46 X47 Y47 Z47 X48 Y48 Z48 X49 Y49 Z49 X50 Y50 Z50 X51 Y51 Z51 X52 Y52 Z52 X53 Y53 Z53 X54 Y54 Z54 X55 Y55 Z55 X56 Y56 Z56 X57 Y57 Z57 X58 Y58 Z58 X59 Y59 Z59 X60 Y60 Z60 X61 Y61 Z61 X62 Y62 Z62 X63 Y63 Z63 X64 Y64 Z64
|
||||||
|
|
||||||
|
1 0.0166667 -0.0805893 0.8404405 0.0761640 -0.0906240 0.4734581 0.0538157 -0.0834851 0.0894780 0.0565239 0.1093279 0.0041896 0.0357474 0.0724898 0.0038075 0.0787523 -0.1176088 0.0181974 0.0463423 -0.0811948 0.8403516 -0.1349326 -0.0913172 0.4732328 -0.1233526 -0.0844203 0.0891191 -0.1374417 0.1085736 0.0038413 -0.1170734 0.0713043 0.0032779 -0.1605443 -0.1184856 0.0178704 -0.1297640 -0.1143366 1.4573570 -0.0234499 -0.0371531 1.6788152 0.0023490 -0.0079473 1.5528190 -0.0216559 -0.1254426 1.3772700 0.1775577 -0.0834819 1.1362655 0.3077772 -0.1030924 0.9517067 0.4494035 -0.1259219 1.3778605 -0.2267901 -0.0635573 1.1398100 -0.3607829 -0.0682347 0.9537654 -0.5087828 -0.0206510 0.9050539 0.1176899 -0.0143486 0.8955454 -0.1847532 -0.2293144 0.9402169 0.0319232 -0.2273665 0.9361368 -0.0860823 -0.0823790 0.4652730 0.1168565 -0.0727039 0.4680984 -0.0049168 -0.0997717 0.0827863 0.1031313 -0.0712663 0.0845017 0.0102572 0.0574242 0.0285379 0.0515215 0.0116788 0.0243827 0.1143735 -0.1607060 0.0619344 0.0504845 -0.0856437 0.4603528 -0.1826615 -0.0749486 0.4670130 -0.0592310 -0.1062483 0.0648271 -0.1839730 -0.0768083 0.0731641 -0.0940165 0.0652473 0.0304994 -0.1373452 -0.1746992 0.0380718 -0.1331369 0.0167410 0.0158325 -0.2036031 -0.1127200 1.4377722 0.1529297 -0.1092373 1.4245827 -0.2006045 -0.2143169 1.4425293 -0.0191214 -0.0234117 0.7030585 0.1403596 -0.0498974 0.6093511 0.1534015 -0.1343384 0.6944224 0.1702069 -0.0153236 0.6932183 -0.2065825 -0.0468288 0.6002237 -0.2204742 -0.1360260 0.6865752 -0.2297373 -0.0836099 0.3481915 0.1196469 -0.0575347 0.2304918 0.1278616 -0.1306243 0.2497716 0.1316987 -0.0886827 0.3409635 -0.1931406 -0.0606653 0.2194413 -0.2080521 -0.1394756 0.2383217 -0.2058866 -0.1194362 0.8208687 0.0634403 -0.1158456 0.8159147 -0.1185997 -0.1245374 1.1248302 0.3299968 -0.1179631 1.0943853 0.2643949 -0.0482793 0.9319173 0.4299409 -0.1192253 0.9149073 0.4355379 -0.1078650 1.1284042 -0.3762906 -0.0999835 1.1076528 -0.3289846 -0.0262016 0.9456270 -0.4733867 -0.0936837 0.9294315 -0.4774273
|
||||||
|
2 0.0333333 -0.0805893 0.8404405 0.0761640 -0.0906240 0.4734581 0.0538157 -0.0834851 0.0894780 0.0565239 0.1093279 0.0041896 0.0357474 0.0724898 0.0038075 0.0787523 -0.1176088 0.0181974 0.0463423 -0.0811948 0.8403516 -0.1349326 -0.0913172 0.4732328 -0.1233526 -0.0844203 0.0891191 -0.1374417 0.1085736 0.0038413 -0.1170734 0.0713043 0.0032779 -0.1605443 -0.1184856 0.0178704 -0.1297640 -0.1143366 1.4573570 -0.0234499 -0.0371531 1.6788152 0.0023490 -0.0079473 1.5528190 -0.0216559 -0.1254426 1.3772700 0.1775577 -0.0834819 1.1362655 0.3077772 -0.1030924 0.9517067 0.4494035 -0.1259219 1.3778605 -0.2267901 -0.0635573 1.1398100 -0.3607829 -0.0682347 0.9537654 -0.5087828 -0.0136192 0.9023602 0.1189599 -0.0102996 0.8954453 -0.1871328 -0.2286142 0.9448086 0.0308550 -0.2269720 0.9422206 -0.0890010 -0.0759730 0.4659208 0.1212149 -0.0715873 0.4698336 -0.0002399 -0.0939336 0.0786222 0.1033534 -0.0699652 0.0835008 0.0128660 0.0625339 0.0317729 0.0516619 0.0176725 0.0192944 0.1139152 -0.1578368 0.0565004 0.0527119 -0.0822041 0.4630700 -0.1860126 -0.0743662 0.4700561 -0.0597740 -0.0987820 0.0663485 -0.1801126 -0.0721790 0.0746330 -0.0905852 0.0706325 0.0269184 -0.1291035 -0.1684591 0.0412562 -0.1316285 0.0239703 0.0124530 -0.1958963 -0.1120772 1.4459097 0.1545590 -0.1144948 1.4342770 -0.2024987 -0.2196467 1.4501729 -0.0173812 -0.0155701 0.7016462 0.1425057 -0.0426623 0.6079507 0.1569885 -0.1302185 0.6944749 0.1733098 -0.0176728 0.6936163 -0.2051147 -0.0466880 0.6017722 -0.2215954 -0.1339313 0.6880436 -0.2334308 -0.0794332 0.3497061 0.1239733 -0.0523816 0.2323402 0.1295791 -0.1247914 0.2457064 0.1342876 -0.0841932 0.3432363 -0.1932947 -0.0562970 0.2215942 -0.2068120 -0.1311665 0.2390584 -0.2038882 -0.1209104 0.8211792 0.0650162 -0.1190198 0.8175197 -0.1198114 -0.1268536 1.1213714 0.3268078 -0.1028201 1.0929219 0.2651566 -0.0593154 0.9373576 0.4337566 -0.1255982 0.9277326 0.4330341 -0.1116188 1.1276846 -0.3568536 -0.0714205 1.1093580 -0.3214151 -0.0255633 0.9543861 -0.4889161 -0.0825650 0.9368301 -0.4786524
|
||||||
|
3 0.0500000 -0.0805893 0.8404405 0.0761640 -0.0906240 0.4734581 0.0538157 -0.0834851 0.0894780 0.0565239 0.1093279 0.0041896 0.0357474 0.0724898 0.0038075 0.0787523 -0.1176088 0.0181974 0.0463423 -0.0811948 0.8403516 -0.1349326 -0.0913172 0.4732328 -0.1233526 -0.0844203 0.0891191 -0.1374417 0.1085736 0.0038413 -0.1170734 0.0713043 0.0032779 -0.1605443 -0.1184856 0.0178704 -0.1297640 -0.1143366 1.4573570 -0.0234499 -0.0371531 1.6788152 0.0023490 -0.0079473 1.5528190 -0.0216559 -0.1254426 1.3772700 0.1775577 -0.0834819 1.1362655 0.3077772 -0.1030924 0.9517067 0.4494035 -0.1259219 1.3778605 -0.2267901 -0.0635573 1.1398100 -0.3607829 -0.0682347 0.9537654 -0.5087828 -0.0112596 0.9016119 0.1215359 -0.0054943 0.8979917 -0.1866288 -0.2304453 0.9468926 0.0299350 -0.2279387 0.9456832 -0.0905229 -0.0807909 0.4648962 0.1243232 -0.0748165 0.4688940 0.0001028 -0.0955535 0.0736089 0.1026784 -0.0701262 0.0796128 0.0119521 0.0635588 0.0280789 0.0519044 0.0178907 0.0137953 0.1144921 -0.1591487 0.0505346 0.0500438 -0.0823358 0.4646804 -0.1893603 -0.0743053 0.4700208 -0.0613023 -0.0958941 0.0674883 -0.1821008 -0.0685366 0.0738729 -0.0924201 0.0736227 0.0235258 -0.1301533 -0.1645440 0.0429573 -0.1338752 0.0267671 0.0105575 -0.1965466 -0.1140902 1.4536110 0.1575935 -0.1174580 1.4437097 -0.2066941 -0.2255267 1.4570504 -0.0196432 -0.0158300 0.6996927 0.1448012 -0.0448338 0.6063033 0.1602483 -0.1351773 0.6931344 0.1762614 -0.0177940 0.6954666 -0.2080080 -0.0468031 0.6038832 -0.2250117 -0.1348161 0.6906573 -0.2368859 -0.0834274 0.3478445 0.1260068 -0.0546050 0.2304077 0.1319663 -0.1289292 0.2411156 0.1342608 -0.0839577 0.3454424 -0.1957091 -0.0548411 0.2239003 -0.2086801 -0.1305537 0.2406668 -0.2057044 -0.1233441 0.8199760 0.0648785 -0.1199456 0.8182485 -0.1211342 -0.1303761 1.1206626 0.3289651 -0.1005114 1.0935193 0.2670197 -0.0667434 0.9375509 0.4413363 -0.1352094 0.9280182 0.4336652 -0.1115367 1.1271008 -0.3593311 -0.0606313 1.1047932 -0.3223779 -0.0223778 0.9548424 -0.5069929 -0.0798921 0.9340562 -0.4841324
|
||||||
|
4 0.0666667 -0.0805893 0.8404405 0.0761640 -0.0906240 0.4734581 0.0538157 -0.0834851 0.0894780 0.0565239 0.1093279 0.0041896 0.0357474 0.0724898 0.0038075 0.0787523 -0.1176088 0.0181974 0.0463423 -0.0811948 0.8403516 -0.1349326 -0.0913172 0.4732328 -0.1233526 -0.0844203 0.0891191 -0.1374417 0.1085736 0.0038413 -0.1170734 0.0713043 0.0032779 -0.1605443 -0.1184856 0.0178704 -0.1297640 -0.1143366 1.4573570 -0.0234499 -0.0371531 1.6788152 0.0023490 -0.0079473 1.5528190 -0.0216559 -0.1254426 1.3772700 0.1775577 -0.0834819 1.1362655 0.3077772 -0.1030924 0.9517067 0.4494035 -0.1259219 1.3778605 -0.2267901 -0.0635573 1.1398100 -0.3607829 -0.0682347 0.9537654 -0.5087828 -0.0103771 0.9018942 0.1236387 -0.0037404 0.8991259 -0.1859997 -0.2308216 0.9464969 0.0291813 -0.2280334 0.9456042 -0.0918731 -0.0842646 0.4651127 0.1256826 -0.0770302 0.4683622 -0.0008389 -0.0971509 0.0729044 0.1018765 -0.0704754 0.0786396 0.0107687 0.0633235 0.0277951 0.0505484 0.0171751 0.0127665 0.1136165 -0.1606319 0.0491925 0.0486218 -0.0839167 0.4669057 -0.1907748 -0.0760762 0.4707671 -0.0614253 -0.0952332 0.0689871 -0.1832783 -0.0676914 0.0740293 -0.0931760 0.0724284 0.0225299 -0.1304965 -0.1628892 0.0447210 -0.1350687 0.0264617 0.0104876 -0.1968739 -0.1146695 1.4563223 0.1588261 -0.1195603 1.4476358 -0.2095260 -0.2281045 1.4586545 -0.0215677 -0.0161235 0.6989948 0.1460102 -0.0465334 0.6061978 0.1617869 -0.1382502 0.6934124 0.1779216 -0.0179542 0.6972858 -0.2100237 -0.0473582 0.6061028 -0.2270211 -0.1354753 0.6924996 -0.2392257 -0.0861401 0.3479175 0.1266836 -0.0562232 0.2307419 0.1326743 -0.1320274 0.2404966 0.1341452 -0.0848117 0.3477177 -0.1968734 -0.0546021 0.2262380 -0.2097950 -0.1314153 0.2426923 -0.2067024 -0.1242169 0.8194200 0.0646304 -0.1202958 0.8181679 -0.1222229 -0.1362774 1.1190791 0.3300010 -0.0978466 1.0933547 0.2672155 -0.0705210 0.9382043 0.4502472 -0.1405690 0.9251407 0.4358648 -0.1157738 1.1256383 -0.3592027 -0.0524878 1.1009596 -0.3220034 -0.0229798 0.9578411 -0.5189476 -0.0777000 0.9312576 -0.4851793
|
||||||
|
5 0.0833333 -0.0805893 0.8404405 0.0761640 -0.0906240 0.4734581 0.0538157 -0.0834851 0.0894780 0.0565239 0.1093279 0.0041896 0.0357474 0.0724898 0.0038075 0.0787523 -0.1176088 0.0181974 0.0463423 -0.0811948 0.8403516 -0.1349326 -0.0913172 0.4732328 -0.1233526 -0.0844203 0.0891191 -0.1374417 0.1085736 0.0038413 -0.1170734 0.0713043 0.0032779 -0.1605443 -0.1184856 0.0178704 -0.1297640 -0.1143366 1.4573570 -0.0234499 -0.0371531 1.6788152 0.0023490 -0.0079473 1.5528190 -0.0216559 -0.1254426 1.3772700 0.1775577 -0.0834819 1.1362655 0.3077772 -0.1030924 0.9517067 0.4494035 -0.1259219 1.3778605 -0.2267901 -0.0635573 1.1398100 -0.3607829 -0.0682347 0.9537654 -0.5087828 -0.0098925 0.9024493 0.1251989 -0.0033068 0.9000978 -0.1856233 -0.2305829 0.9462101 0.0287022 -0.2278597 0.9454840 -0.0928920 -0.0869931 0.4648506 0.1266794 -0.0791694 0.4677291 -0.0021790 -0.0980872 0.0728416 0.1013375 -0.0706950 0.0783379 0.0093845 0.0632294 0.0281527 0.0490467 0.0166650 0.0128607 0.1128832 -0.1618260 0.0489366 0.0475285 -0.0850730 0.4678192 -0.1915279 -0.0771987 0.4708675 -0.0605297 -0.0948886 0.0693842 -0.1837144 -0.0671966 0.0737784 -0.0926960 0.0716500 0.0220696 -0.1302653 -0.1622546 0.0453500 -0.1351226 0.0260371 0.0101991 -0.1970180 -0.1144498 1.4575058 0.1606216 -0.1207360 1.4504504 -0.2110395 -0.2292689 1.4592272 -0.0221508 -0.0158716 0.6979810 0.1472251 -0.0475432 0.6056935 0.1631886 -0.1401387 0.6934722 0.1796428 -0.0175342 0.6981644 -0.2117098 -0.0475205 0.6071298 -0.2286639 -0.1361970 0.6932254 -0.2414064 -0.0882069 0.3479765 0.1272121 -0.0573303 0.2310825 0.1330685 -0.1343311 0.2402575 0.1344422 -0.0853947 0.3485896 -0.1973933 -0.0543832 0.2271982 -0.2102989 -0.1322529 0.2433183 -0.2072699 -0.1243940 0.8189731 0.0644958 -0.1205105 0.8179266 -0.1230459 -0.1417753 1.1172815 0.3298516 -0.0944968 1.0929511 0.2668230 -0.0709177 0.9382864 0.4564682 -0.1413736 0.9204260 0.4370492 -0.1209965 1.1233095 -0.3579316 -0.0448014 1.0977809 -0.3222954 -0.0239654 0.9617560 -0.5260554 -0.0739542 0.9289102 -0.4845610
|
||||||
|
6 0.1000000 -0.0805893 0.8404405 0.0761640 -0.0906240 0.4734581 0.0538157 -0.0834851 0.0894780 0.0565239 0.1093279 0.0041896 0.0357474 0.0724898 0.0038075 0.0787523 -0.1176088 0.0181974 0.0463423 -0.0811948 0.8403516 -0.1349326 -0.0913172 0.4732328 -0.1233526 -0.0844203 0.0891191 -0.1374417 0.1085736 0.0038413 -0.1170734 0.0713043 0.0032779 -0.1605443 -0.1184856 0.0178704 -0.1297640 -0.1143366 1.4573570 -0.0234499 -0.0371531 1.6788152 0.0023490 -0.0079473 1.5528190 -0.0216559 -0.1254426 1.3772700 0.1775577 -0.0834819 1.1362655 0.3077772 -0.1030924 0.9517067 0.4494035 -0.1259219 1.3778605 -0.2267901 -0.0635573 1.1398100 -0.3607829 -0.0682347 0.9537654 -0.5087828 -0.0098361 0.9030765 0.1260889 -0.0035018 0.9008311 -0.1854786 -0.2303645 0.9459186 0.0284451 -0.2277643 0.9452341 -0.0935194 -0.0887353 0.4644241 0.1273501 -0.0807293 0.4672233 -0.0033980 -0.0987571 0.0728083 0.1012315 -0.0710326 0.0782355 0.0084061 0.0631846 0.0284014 0.0477200 0.0161913 0.0129508 0.1123622 -0.1629261 0.0490041 0.0471418 -0.0857460 0.4681847 -0.1922743 -0.0777326 0.4705678 -0.0598197 -0.0946285 0.0696448 -0.1841704 -0.0668203 0.0735813 -0.0922098 0.0714311 0.0218511 -0.1302571 -0.1620322 0.0457630 -0.1351027 0.0258924 0.0100553 -0.1974974 -0.1145752 1.4579209 0.1617182 -0.1218305 1.4519574 -0.2125493 -0.2301636 1.4592386 -0.0226981 -0.0154437 0.6970600 0.1481828 -0.0480280 0.6050935 0.1642796 -0.1410940 0.6933522 0.1811006 -0.0169456 0.6986390 -0.2129907 -0.0474431 0.6076799 -0.2300303 -0.1367200 0.6935923 -0.2431742 -0.0895577 0.3479178 0.1277232 -0.0580795 0.2312179 0.1334492 -0.1359048 0.2400400 0.1349604 -0.0856595 0.3490234 -0.1980303 -0.0541355 0.2278368 -0.2109351 -0.1328039 0.2435479 -0.2079868 -0.1242694 0.8186518 0.0644595 -0.1205466 0.8176241 -0.1235263 -0.1457322 1.1150705 0.3283153 -0.0896817 1.0921555 0.2663822 -0.0691568 0.9379858 0.4605010 -0.1395583 0.9154844 0.4368506 -0.1272112 1.1209459 -0.3562459 -0.0379283 1.0950542 -0.3214421 -0.0249433 0.9653469 -0.5303835 -0.0701765 0.9267333 -0.4832026
|
||||||
|
7 0.1166667 -0.0805893 0.8404405 0.0761640 -0.0906240 0.4734581 0.0538157 -0.0834851 0.0894780 0.0565239 0.1093279 0.0041896 0.0357474 0.0724898 0.0038075 0.0787523 -0.1176088 0.0181974 0.0463423 -0.0811948 0.8403516 -0.1349326 -0.0913172 0.4732328 -0.1233526 -0.0844203 0.0891191 -0.1374417 0.1085736 0.0038413 -0.1170734 0.0713043 0.0032779 -0.1605443 -0.1184856 0.0178704 -0.1297640 -0.1143366 1.4573570 -0.0234499 -0.0371531 1.6788152 0.0023490 -0.0079473 1.5528190 -0.0216559 -0.1254426 1.3772700 0.1775577 -0.0834819 1.1362655 0.3077772 -0.1030924 0.9517067 0.4494035 -0.1259219 1.3778605 -0.2267901 -0.0635573 1.1398100 -0.3607829 -0.0682347 0.9537654 -0.5087828 -0.0099203 0.9036410 0.1264501 -0.0039858 0.9013580 -0.1854379 -0.2301199 0.9457760 0.0283727 -0.2276775 0.9450781 -0.0937911 -0.0898912 0.4640946 0.1278983 -0.0818399 0.4670249 -0.0042566 -0.0989293 0.0728317 0.1016303 -0.0710064 0.0783565 0.0080815 0.0635482 0.0287182 0.0471148 0.0160852 0.0132147 0.1124266 -0.1634565 0.0493006 0.0474122 -0.0863180 0.4682764 -0.1928489 -0.0780645 0.4701723 -0.0591044 -0.0944744 0.0698038 -0.1846390 -0.0665402 0.0734250 -0.0917919 0.0714663 0.0217228 -0.1303826 -0.1619928 0.0460389 -0.1350534 0.0258658 0.0100007 -0.1981329 -0.1145333 1.4581294 0.1624235 -0.1224443 1.4529321 -0.2138227 -0.2305550 1.4592831 -0.0230486 -0.0150844 0.6963199 0.1489536 -0.0483148 0.6045657 0.1651643 -0.1415439 0.6931505 0.1822536 -0.0164578 0.6987106 -0.2139303 -0.0474257 0.6078600 -0.2310935 -0.1372305 0.6937862 -0.2445355 -0.0904373 0.3479468 0.1283414 -0.0585127 0.2313812 0.1340091 -0.1368449 0.2398849 0.1357274 -0.0858930 0.3492787 -0.1986355 -0.0540125 0.2283307 -0.2116542 -0.1332864 0.2435570 -0.2086185 -0.1239988 0.8184420 0.0644616 -0.1205275 0.8173466 -0.1237270 -0.1487317 1.1126419 0.3261991 -0.0849629 1.0913380 0.2664837 -0.0667081 0.9377924 0.4629574 -0.1365469 0.9106550 0.4359290 -0.1332818 1.1187089 -0.3547109 -0.0324453 1.0927697 -0.3199562 -0.0257170 0.9680384 -0.5321573 -0.0670299 0.9244785 -0.4817922
|
||||||
|
8 0.1333333 -0.0805893 0.8404405 0.0761640 -0.0906240 0.4734581 0.0538157 -0.0834851 0.0894780 0.0565239 0.1093279 0.0041896 0.0357474 0.0724898 0.0038075 0.0787523 -0.1176088 0.0181974 0.0463423 -0.0811948 0.8403516 -0.1349326 -0.0913172 0.4732328 -0.1233526 -0.0844203 0.0891191 -0.1374417 0.1085736 0.0038413 -0.1170734 0.0713043 0.0032779 -0.1605443 -0.1184856 0.0178704 -0.1297640 -0.1143366 1.4573570 -0.0234499 -0.0371531 1.6788152 0.0023490 -0.0079473 1.5528190 -0.0216559 -0.1254426 1.3772700 0.1775577 -0.0834819 1.1362655 0.3077772 -0.1030924 0.9517067 0.4494035 -0.1259219 1.3778605 -0.2267901 -0.0635573 1.1398100 -0.3607829 -0.0682347 0.9537654 -0.5087828 -0.0101378 0.9041728 0.1264378 -0.0045341 0.9017913 -0.1853560 -0.2298806 0.9456185 0.0283757 -0.2275520 0.9448757 -0.0938055 -0.0907350 0.4638999 0.1282086 -0.0826499 0.4670507 -0.0049171 -0.0990376 0.0727943 0.1020920 -0.0709654 0.0784919 0.0080088 0.0638929 0.0288192 0.0466757 0.0160037 0.0133040 0.1125450 -0.1638159 0.0496725 0.0478700 -0.0868081 0.4681773 -0.1932349 -0.0783219 0.4697268 -0.0584796 -0.0944944 0.0700133 -0.1850146 -0.0664518 0.0734073 -0.0914573 0.0715313 0.0215800 -0.1304880 -0.1621265 0.0464503 -0.1350044 0.0258165 0.0100000 -0.1986833 -0.1147226 1.4581997 0.1625964 -0.1227727 1.4534204 -0.2149460 -0.2307564 1.4592542 -0.0234739 -0.0148672 0.6957154 0.1495073 -0.0485657 0.6041204 0.1657828 -0.1417781 0.6929211 0.1830300 -0.0160888 0.6985000 -0.2145385 -0.0474539 0.6077816 -0.2318229 -0.1376342 0.6938587 -0.2454506 -0.0911429 0.3480194 0.1288341 -0.0589411 0.2314857 0.1345025 -0.1375331 0.2397695 0.1363549 -0.0861610 0.3494307 -0.1991189 -0.0540882 0.2287401 -0.2123021 -0.1337288 0.2435180 -0.2090627 -0.1237016 0.8182747 0.0644259 -0.1204422 0.8170789 -0.1237209 -0.1508935 1.1101462 0.3237339 -0.0805298 1.0907432 0.2668812 -0.0643427 0.9381128 0.4642998 -0.1331206 0.9065622 0.4344517 -0.1390706 1.1168088 -0.3532008 -0.0282121 1.0910121 -0.3175973 -0.0265384 0.9700106 -0.5324831 -0.0649325 0.9222635 -0.4804837
|
||||||
|
9 0.1500000 -0.0805893 0.8404405 0.0761640 -0.0906240 0.4734581 0.0538157 -0.0834851 0.0894780 0.0565239 0.1093279 0.0041896 0.0357474 0.0724898 0.0038075 0.0787523 -0.1176088 0.0181974 0.0463423 -0.0811948 0.8403516 -0.1349326 -0.0913172 0.4732328 -0.1233526 -0.0844203 0.0891191 -0.1374417 0.1085736 0.0038413 -0.1170734 0.0713043 0.0032779 -0.1605443 -0.1184856 0.0178704 -0.1297640 -0.1143366 1.4573570 -0.0234499 -0.0371531 1.6788152 0.0023490 -0.0079473 1.5528190 -0.0216559 -0.1254426 1.3772700 0.1775577 -0.0834819 1.1362655 0.3077772 -0.1030924 0.9517067 0.4494035 -0.1259219 1.3778605 -0.2267901 -0.0635573 1.1398100 -0.3607829 -0.0682347 0.9537654 -0.5087828 -0.0104665 0.9046202 0.1262064 -0.0050798 0.9021028 -0.1851703 -0.2296181 0.9454557 0.0283946 -0.2273535 0.9446501 -0.0936657 -0.0913806 0.4638223 0.1283998 -0.0832166 0.4672330 -0.0053548 -0.0990087 0.0727816 0.1025420 -0.0707718 0.0786795 0.0081066 0.0642996 0.0289349 0.0464265 0.0159998 0.0134361 0.1127130 -0.1639050 0.0500843 0.0483748 -0.0873099 0.4681307 -0.1935780 -0.0785030 0.4693765 -0.0580381 -0.0946357 0.0702663 -0.1854093 -0.0664152 0.0734676 -0.0912924 0.0715765 0.0214459 -0.1306878 -0.1623032 0.0469207 -0.1350205 0.0256978 0.0100582 -0.1992639 -0.1148672 1.4581964 0.1625194 -0.1228429 1.4536996 -0.2158097 -0.2306845 1.4592595 -0.0238292 -0.0147940 0.6952219 0.1498817 -0.0488301 0.6037597 0.1661970 -0.1419228 0.6927151 0.1834777 -0.0158926 0.6982167 -0.2149844 -0.0476029 0.6076765 -0.2323876 -0.1380361 0.6939649 -0.2460736 -0.0916999 0.3481406 0.1292417 -0.0593038 0.2315845 0.1349413 -0.1379991 0.2397291 0.1368446 -0.0864958 0.3496477 -0.1996064 -0.0543163 0.2291957 -0.2129939 -0.1342048 0.2435406 -0.2094481 -0.1234119 0.8181603 0.0643238 -0.1202962 0.8168476 -0.1235876 -0.1525472 1.1077513 0.3212305 -0.0766844 1.0905181 0.2674763 -0.0625334 0.9390481 0.4650007 -0.1297886 0.9033631 0.4328071 -0.1442550 1.1152408 -0.3516896 -0.0249938 1.0897566 -0.3147605 -0.0273794 0.9714546 -0.5318877 -0.0636960 0.9201886 -0.4793356
|
||||||
|
10 0.1666667 -0.0805893 0.8404405 0.0761640 -0.0906240 0.4734581 0.0538157 -0.0834851 0.0894780 0.0565239 0.1093279 0.0041896 0.0357474 0.0724898 0.0038075 0.0787523 -0.1176088 0.0181974 0.0463423 -0.0811948 0.8403516 -0.1349326 -0.0913172 0.4732328 -0.1233526 -0.0844203 0.0891191 -0.1374417 0.1085736 0.0038413 -0.1170734 0.0713043 0.0032779 -0.1605443 -0.1184856 0.0178704 -0.1297640 -0.1143366 1.4573570 -0.0234499 -0.0371531 1.6788152 0.0023490 -0.0079473 1.5528190 -0.0216559 -0.1254426 1.3772700 0.1775577 -0.0834819 1.1362655 0.3077772 -0.1030924 0.9517067 0.4494035 -0.1259219 1.3778605 -0.2267901 -0.0635573 1.1398100 -0.3607829 -0.0682347 0.9537654 -0.5087828 -0.0108193 0.9050115 0.1258810 -0.0055568 0.9023654 -0.1849250 -0.2293554 0.9452431 0.0284057 -0.2271135 0.9443722 -0.0934599 -0.0919361 0.4638484 0.1285102 -0.0836211 0.4675032 -0.0056231 -0.0989130 0.0727719 0.1029523 -0.0704793 0.0788615 0.0083096 0.0647036 0.0289726 0.0463079 0.0160369 0.0135249 0.1128946 -0.1638038 0.0505120 0.0488670 -0.0878157 0.4680806 -0.1938408 -0.0786872 0.4690901 -0.0577070 -0.0948569 0.0705062 -0.1857614 -0.0664411 0.0735499 -0.0912242 0.0715788 0.0212584 -0.1308616 -0.1624966 0.0474112 -0.1350828 0.0255249 0.0101122 -0.1997500 -0.1150622 1.4581561 0.1622608 -0.1227637 1.4537923 -0.2165112 -0.2305017 1.4592382 -0.0241779 -0.0148578 0.6948297 0.1501728 -0.0491505 0.6034876 0.1664954 -0.1420748 0.6925420 0.1836944 -0.0158316 0.6978812 -0.2152871 -0.0478334 0.6075294 -0.2327926 -0.1384012 0.6940517 -0.2464745 -0.0921975 0.3483079 0.1295752 -0.0596574 0.2316914 0.1353348 -0.1383523 0.2397451 0.1372003 -0.0868858 0.3498524 -0.2000283 -0.0546585 0.2296007 -0.2136351 -0.1346833 0.2435764 -0.2097305 -0.1231596 0.8180613 0.0641840 -0.1201322 0.8166409 -0.1233984 -0.1538254 1.1055241 0.3187588 -0.0733595 1.0906423 0.2680918 -0.0613950 0.9404766 0.4652633 -0.1267740 0.9010509 0.4310919 -0.1487403 1.1139439 -0.3501268 -0.0224498 1.0889307 -0.3116814 -0.0282409 0.9725830 -0.5309125 -0.0630452 0.9183552 -0.4783539
|
||||||
|
11 0.1833333 -0.0805893 0.8404405 0.0761640 -0.0906240 0.4734581 0.0538157 -0.0834851 0.0894780 0.0565239 0.1093279 0.0041896 0.0357474 0.0724898 0.0038075 0.0787523 -0.1176088 0.0181974 0.0463423 -0.0811948 0.8403516 -0.1349326 -0.0913172 0.4732328 -0.1233526 -0.0844203 0.0891191 -0.1374417 0.1085736 0.0038413 -0.1170734 0.0713043 0.0032779 -0.1605443 -0.1184856 0.0178704 -0.1297640 -0.1143366 1.4573570 -0.0234499 -0.0371531 1.6788152 0.0023490 -0.0079473 1.5528190 -0.0216559 -0.1254426 1.3772700 0.1775577 -0.0834819 1.1362655 0.3077772 -0.1030924 0.9517067 0.4494035 -0.1259219 1.3778605 -0.2267901 -0.0635573 1.1398100 -0.3607829 -0.0682347 0.9537654 -0.5087828 -0.0111939 0.9053336 0.1255052 -0.0059756 0.9025759 -0.1846104 -0.2290722 0.9449964 0.0283958 -0.2268207 0.9440649 -0.0932188 -0.0924492 0.4639346 0.1285673 -0.0839316 0.4678140 -0.0057646 -0.0988052 0.0727629 0.1032712 -0.0701515 0.0790257 0.0085314 0.0650774 0.0289918 0.0462396 0.0160756 0.0136092 0.1130300 -0.1636091 0.0509091 0.0492739 -0.0883468 0.4680715 -0.1940533 -0.0788646 0.4688809 -0.0574817 -0.0951359 0.0707466 -0.1860322 -0.0664829 0.0736581 -0.0911881 0.0715392 0.0210712 -0.1309927 -0.1626825 0.0479075 -0.1351205 0.0252931 0.0101738 -0.2001284 -0.1152509 1.4580509 0.1619233 -0.1225911 1.4537785 -0.2170253 -0.2302295 1.4591850 -0.0244739 -0.0150194 0.6944968 0.1503879 -0.0495180 0.6032702 0.1666977 -0.1422465 0.6924036 0.1837296 -0.0158952 0.6975544 -0.2154995 -0.0481514 0.6073966 -0.2330894 -0.1387654 0.6941532 -0.2467091 -0.0926650 0.3484899 0.1298336 -0.0600104 0.2317888 0.1356577 -0.1386517 0.2397975 0.1374227 -0.0873300 0.3500736 -0.2003917 -0.0550842 0.2299887 -0.2142065 -0.1351876 0.2436469 -0.2099148 -0.1229390 0.8179788 0.0640030 -0.1199512 0.8164665 -0.1231766 -0.1548438 1.1035019 0.3163700 -0.0704701 1.0910251 0.2686392 -0.0608983 0.9422357 0.4652716 -0.1241736 0.8995092 0.4294313 -0.1524889 1.1128433 -0.3484948 -0.0203686 1.0884277 -0.3086159 -0.0291022 0.9735404 -0.5298663 -0.0627143 0.9168167 -0.4775398
|
||||||
|
12 0.2000000 -0.0805893 0.8404405 0.0761640 -0.0906240 0.4734581 0.0538157 -0.0834851 0.0894780 0.0565239 0.1093279 0.0041896 0.0357474 0.0724898 0.0038075 0.0787523 -0.1176088 0.0181974 0.0463423 -0.0811948 0.8403516 -0.1349326 -0.0913172 0.4732328 -0.1233526 -0.0844203 0.0891191 -0.1374417 0.1085736 0.0038413 -0.1170734 0.0713043 0.0032779 -0.1605443 -0.1184856 0.0178704 -0.1297640 -0.1143366 1.4573570 -0.0234499 -0.0371531 1.6788152 0.0023490 -0.0079473 1.5528190 -0.0216559 -0.1254426 1.3772700 0.1775577 -0.0834819 1.1362655 0.3077772 -0.1030924 0.9517067 0.4494035 -0.1259219 1.3778605 -0.2267901 -0.0635573 1.1398100 -0.3607829 -0.0682347 0.9537654 -0.5087828 -0.0115648 0.9056055 0.1251420 -0.0063181 0.9027550 -0.1842744 -0.2288058 0.9447158 0.0283624 -0.2265173 0.9437296 -0.0929902 -0.0929326 0.4640496 0.1286123 -0.0841685 0.4681228 -0.0058007 -0.0986834 0.0727485 0.1035333 -0.0697900 0.0791589 0.0087703 0.0654169 0.0289874 0.0462333 0.0161164 0.0136746 0.1131524 -0.1633354 0.0512618 0.0496128 -0.0888822 0.4680827 -0.1942464 -0.0790279 0.4687219 -0.0573520 -0.0954252 0.0709469 -0.1862627 -0.0665015 0.0737478 -0.0911983 0.0714886 0.0208711 -0.1311166 -0.1628245 0.0483520 -0.1351659 0.0250415 0.0102179 -0.2004447 -0.1154454 1.4579175 0.1615560 -0.1223870 1.4536914 -0.2174374 -0.2299403 1.4591076 -0.0247450 -0.0152583 0.6942153 0.1505795 -0.0499241 0.6030955 0.1668612 -0.1424526 0.6922938 0.1836609 -0.0160499 0.6972521 -0.2156672 -0.0485264 0.6072798 -0.2333269 -0.1391270 0.6942549 -0.2468480 -0.0931041 0.3486703 0.1300551 -0.0603493 0.2318754 0.1359488 -0.1389104 0.2398642 0.1375611 -0.0877982 0.3502830 -0.2007240 -0.0555453 0.2303307 -0.2147335 -0.1356891 0.2437170 -0.2100493 -0.1227602 0.8179038 0.0638093 -0.1197673 0.8163156 -0.1229603 -0.1556714 1.1016955 0.3140700 -0.0679050 1.0915499 0.2690566 -0.0609321 0.9441632 0.4651336 -0.1219964 0.8985921 0.4278777 -0.1555433 1.1118679 -0.3467805 -0.0186153 1.0881502 -0.3057343 -0.0299757 0.9744379 -0.5289543 -0.0625202 0.9156064 -0.4768920
|