Mi.js

Cette extension donne accès à l'ensemble des fonctions permettant de manipuler les fichiers de données (c3d, mdf etc.). Ces fonctions sont accessibles par l'intermédiaire d'un objet de type 'Mi'.

Fonction

Description

bool Mi.OpenFile(filename);

Ouverture d’un fichier de données 3D et affichage dans Motion Inspector.
Renvoie false en cas d’erreur

Mi.CloseData();

Fermeture du fichier de données en cours

bool Mi.Save();

Enregistre le fichier (au format C3D). Renvoie true en cas de succès (sinon false)

bool Mi.SaveAs(name, format);

Enregistre le fichiers en modifiant le nom ‘name ‘ ainsi que le format (1 : TXT, 2 :MatLab, 3 :C3D). Renvoie true en cas de succès (sinon false).

Mi.GetDataFileName();

Renvoie le nom du fichier en cours (ouvert)

Mi.SetModelFileName(name);

Associe le fichier de données au modèle biomécanique ‘name’.

Fonctions relatives aux données

Mi.GetFrameCount();

Renvoie le nombre de frames du fichier

Mi.GetAnalogFrameCount();

Renvoie le nombre de lignes analogiques

Mi.GetDimension();

Renvoie le nombre de dimensions du fichier

Mi.GetRate();

Renvoie la fréquence d’échantillonnage des données cinématiques

Mi.GetAnalogRate();

Renvoie la fréquence d’échantillonnage des données analogiques

Mi.GetFirstFrame();

Renvoie la première image de la sélection

Mi.GetLastFrame();

Renvoie la dernière image de la sélection

Mi.SetFirstFrame(frame);

Fixe la première image de la sélection

Mi.SetLastFrame(frame);

Fixe la dernière image de la sélection

Mi.CutBorder(first_frame,last_frame);

Efface les données en dehors de la sélection définie par ‘first_frame’ et ‘last_frame

Manipulation des données

Mi.GetKineData(frame, marker,axe);

Renvoie la valeur cinématique correspondante à l’image ‘frame’, pour le marqueur ‘marker’ et l’axe ‘axe

Mi.PutKineData(frame,marker,axe, value);

Modifie la valeur correspondante à l’image ‘frame’, pour le marqueur ‘marker’ et l’axe ‘axe

Mi.GetAnalogData(lig,col);

Renvoie la valeur analogique correspondante à la ligne ‘lig’ et à la colonne ‘col

Mi.PutAnalogData(lig, col,value);

Modifie la valeur analogique de la ligne ‘lig’ et de la colonne ‘col’ par la valeur ‘value

Mi.GetKineDataBuffer(marker,axe);

Renvoie un vecteur (Array à une dimension) contenant les données d’un marqueur ‘marker’ pour l’axe ‘axe’. Ce vecteur doit être ensuite libéré par la fonction ‘free

Mi.PutKineDataBuffer(marker,axe, values);

Sauve un vecteur (Array à 1 dimension) de données dans un marqueur.

Mi.GetAnaogDataBuffer(col);

Renvoie un vecteur (Array à une dimension) de données analogiques correspondant à la colonne ‘col

Mi.PutAnalogDataBuffer(col,values, col);

Sauve un vecteur de données analogiques (Array à une dimension) dans une colonne ‘col

Fonctions relatives aux marqueurs

Mi.GetMarkerCount();

Renvoie le nombre de marqueurs du fichier

Mi.GetMarkerNum(name);

Renvoie le numéro d’un marqueur portant le nom ‘name’.

Mi.GetMarkerName(mkr);

Renvoie le nom du marqueur dont le numéro est ‘mkr’.

Mi.RenameMarker(mkr,name,unit,desc);

Renomme le marqueur ‘mkr’ avec ‘name’ pour nom, ‘unit’ pour unité et ‘desc’ comme description.

Mi.NewMarker(name,unit,desc);

Création d’un nouveau marqueur portant le nom ‘name’ ‘unit’ pour unité et ‘desc’ comme description. Renvoie (true) en cas de succès sinon false.

Mi.DeleteMarker(num);

Destruction du marqueur ayant pour numéro ‘num’. Renvoie true en cas de succès, sinon false.

Gestion des événements

Mi.GetEventCount();

Retourne le nombre d’événement enregistré

Mi.GetEventName(id);

Retourne le nom de l’événement correspondant à id.

Mi.GetEventFrameFromName(name);

Retourne le numéro d’image correspondant au nom ‘name’ de l’événement

Mi.GetEventFrameFromId(id);

Retourne le numéro d’image correspondant au à l’événement numéro ‘id’

Mi.GetEventContext(id);

Retourne le nom du contexte de l’événement id.

Mi.SetEventPosition(frame_pos,name, context_id,icon_id);

Création d’un nouvel événement portant le nom ‘name’, avec une position correspondante à ‘frame_pos’, et pour contexte ‘context_id (0, 1 ou 2) et comme icône ‘icone_id’ (0, 1 ou 2)

Mi.DeleteEvent(frame);

Destruction d’un événement correspondant à l’image ‘frame’.

Fonctions relatives aux données analogiques

Mi.GetAnalogCount();

Renvoie le nombre de canaux analogiques

Mi.GetAnalogName(analog);

Renvoie le nom du canal analogique ‘analog’.

Mi.NewAnalog(name,unit,desc);

Création d’un nouveau canal analogique portant le nom ‘name’ ‘unit’ pour unité et ‘desc’ comme description. Renvoie (true) en cas de succès sinon false.

Mi.RenameAnalog(analog,name,unit,desc);

Renomme le canal analogique ‘analog’ avec ‘name’ pour nom, ‘unit’ pour unité et ‘desc’ comme description. Renvoie true en cas de succès.

Mi.DeleteAnalog(analog);

Destruction du canal anaologique ayant pour numéro ‘analog’. Renvoie true en cas de succès, sinon false.

Fonctions relatives aux données supplémentaires

Mi.NewAngle(name,unit,description);

Création d’un nouveau marqueur virtuel ‘name’ contenant des données angulaires.

Mi.NewScalar(name,unit,description);

Création d’un nouveau marqueur virtuel ‘name’ contenant des données scalaires.

Mi.NewForce(name,unit,description);

Création d’un nouveau marqueur virtuel ‘name’ contenant des données de forces.

Mi.NewMoment(name,unit,description);

Création d’un nouveau marqueur virtuel ‘name’ contenant des données de moments de forces.

Mi.NewPower(name,unit,description);

Création d’un nouveau marqueur virtuel ‘name’ contenant des données de puissance.

Mi.NewReaction(name,unit,description);

Création d’un nouveau marqueur virtuel ‘name’ contenant des données de forces (de réaction).

Mi.GetAngleCount();

Retourne le nombre de données angulaires

Mi.GetScalarCount();

Retourne le nombre de données scalaires

Mi.GetForceCount();

Retourne le nombre de données de forces

Mi.GetMomentCount();

Retourne le nombre de données de moments

Mi.GetPowerCount();

Retourne le nombre de données de puissance

Mi.GetReactionCount();

Retourne le nombre de données de réaction

Mi.GetAngleName(id);

Renvoie le nom de la donnée angulaire (id).

Mi.GetScalarName(id);

Renvoie le nom de la donnée scalaire (id).

Mi.GetForceName(id);

Renvoie le nom de la donnée de force (id).

Mi.GetMomentName(id);

Renvoie le nom de la donnée de moment (id).

Mi.GetPowerName(id);

Renvoie le nom de la donnée de puissance (id).

Mi.GetReactionName(id);

Renvoie le nom de la donnée de force de réaction (id).

Plateformes de Forces

Mi.GetForcePlateCount();

Renvoie le nombre de plateformes de forces du fichier

Mi.AddForcePlate(int type, channels, corners, origin);

Ajoute une plateforme de forces aux données du fichier. ‘type’ correspond au type de plateforme (généralement 2). ‘channels’ correspond aux numérox des voies analogiques (Array). La taille de ‘channels’ est au moins de 6 (Fx, Fy, Fz, Mx, My, Mz) . ‘corners’ correspond aux coordonnées 3D des 4 coins de la plateforme (dans l’ordre des coins). La taille de ‘corners’ est donc de 12 éléments (3x4). ‘origin’ correspond au coordonnées 3D (x,y,z) du centre de la plateforme dans le repère de celle-ci. La taille est donc de 3. Revoie true en cas de succès.

Mi.GetForcePlateType(num) ;

Renvoie le type de la plateforme correspondant à 'num'

Mi.GetForcePlateChannels(num) ;

Renvoie un vecteur (Array) contenant les voies analogiques correspondant à la plateforme correspondant à 'num'

Mi.GetForcePlateCorners(num) ;

Renvoie un vecteur (Array) contenant les coordonnées des 4 coins correspondant à la plateforme correspondant à 'num'

Mi.GetForcePlateOrigin(num)

Renvoie un vecteur (Array) contenant les coordonnées de l'origine correspondant à la plateforme correspondant à 'num'

Mi.SetForcePlateInfo(num, type, channels,corners,origin);

Cette fonction permet de modifier les informations relatives à la plateforme ‘num’.
Ces informations correspondent au type , au voies analogiques (channels[12]), à la position de chaque coins de la plateforme (corners[12]) ainsi qu’à la position du centre (origin[3]).

miGetForcePlateData(num, channel, same_rate);

Cette fonction renvoie un tableau de valeurs (Array) correspondant aux données de la plateforme ‘num’ et au cannal 'channel'. Si ‘same_rate’ est égale à TRUE, la fréquence des données sera la même que celle des données cinématiques.

Autres Fonctions

Mi.GetFileName(filter,title,path);

Ouvre une boite de dialogue permettant de choisir un fichier. ‘Filter’ représente le filtre de fichier (par exemple ‘Fichiers de données|*.c3d’) et ‘path’ représente le répertoire des fichiers

Mi.GetFileList(filter,title,path);

Ouvre une boite de dialogue permettant la sélection de multiple fichiers en fonction du filtre ‘filter’. Cette fonction renvoie un tableau de chaines de caractères contenant les noms des fichiers sélectionnées.

Mi.GetDirectory(title, path);

Ouvre une boite de dialogue pour la sélection d'un répertoire. 'title' correspond au titre de la boite et 'path' correspond au répertoire initial.

Mi.GetDirList(filter, path, sub);

Cette fonction renvoie l'ensemble des fichiers correspond à 'filter' du répertoire 'path' si 'sub' alors la recherche s'étend à tous les sous répertoires.

Mi.GetTmpDirectory();

Renvoie le répertoire temporaire

Mi.SetCurrentDirectory(path);

Sélectionne le répertoire en cours

Mi.GetCurrentDirectory();

Renvoie le nom du répertoire en cours

Mi.GetUserDirectory();

Renvoie le nom du répertoire utilisateur

Mi.FileExists(filename);

Test si le fichier 'filename' existe

Mi.DirExists(dirname);

Test si le répertoire 'dirname' existe

Mi.MakeDirectory(path);

Création d'un répertoire

Mi.RemoveDirectory(path);

Destruction d'un répertoire

Mi.GetTickCount();

Renvoie une valeur correspond au nombre de millisecondes depuis le démarrage de l'ordinateur.