AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

minccalc - En ligne dans le Cloud

Exécutez minccalc dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande minccalc qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


minccalc - effectuer des opérations mathématiques complexes sur les fichiers minc

SYNOPSIS


mincalc [ ] .mnc [ .mnc...] .mnc

DESCRIPTION


Minccalc effectuera des opérations mathématiques complexes, voxel par voxel, sur un ou plusieurs fichiers minc
de même forme et ayant le même échantillonnage de coordonnées, produisant un seul fichier de sortie.
Les opérations à effectuer sont saisies à l'aide de la -expression argumentation (voir EXPRESSIONS).
Par défaut, le fichier de sortie est le dernier argument non optionnel. Cependant, si le -fichier de sortie
option est utilisée, alors tous les arguments non optionnels sont considérés comme des fichiers d'entrée et la sortie
les noms de fichiers proviennent du -fichier de sortie options, dont il peut y avoir plusieurs.

OPTIONS


Notez que les options peuvent être spécifiées sous forme abrégée (tant qu'elles sont uniques) et
peut être donné n'importe où sur la ligne de commande.

-2 Créez des fichiers de sortie au format MINC 2.0.

-Aide Imprimez le résumé des options de la ligne de commande et quittez.

-version
Imprimez le numéro de version du programme et quittez.

-tabasser
Écraser un fichier existant.

-noclobber
N'écrase pas un fichier existant (par défaut).

-no_clobber
Synonyme de -noclobber.

-verbeux
Imprimez les informations de progression pour chaque bloc de données copié (par défaut).

-silencieux N'imprimez pas les informations de progression.

-déboguer Imprimez les informations de débogage.

-copie_en-tête
Copiez toutes les informations d'en-tête du premier fichier d'entrée (par défaut pour une entrée
fichier).

-nocopy_header
Ne copiez pas tout l'en-tête du premier fichier d'entrée ; copier uniquement les coordonnées
informations (par défaut pour plus d'un fichier d'entrée).

-Type de fichier
Créez un fichier de sortie avec le même type que le premier fichier d'entrée (par défaut).

-octet Stockez les voxels de sortie au format entier 8 bits.

-court Stockez les voxels de sortie au format entier 16 bits.

-int Stockez les voxels de sortie au format entier 32 bits.

-longue Remplacé par -int.

-flotter Stockez les voxels de sortie au format à virgule flottante 32 bits.

-double
Stockez les voxels de sortie au format à virgule flottante 64 bits.

-signé
Utilisez le format d'entier en complément à deux signé. S'applique uniquement si le type de voxel de sortie
est spécifié comme étant un type entier (l'un des -octet, -court, -int or -longue).

-non signé
Utilisez le format d'entier non signé. S'applique uniquement si le type de voxel de sortie est spécifié sur
être un type entier (l'un des -octet, -court, -int or -longue).

-gamme m. max
Restreindre la plage valide de données entières. S'applique uniquement si l'un des -octet,
-court, -int or -longue options est spécifié.

-max_buffer_size_in_ko taille
Spécifiez la taille maximale des tampons internes (en kilo-octets). La valeur par défaut est 4096
(4MB).

-dimension nom dim
Spécifiez une dimension le long de laquelle nous souhaitons effectuer une opération cumulative.

-check_dimensions
Vérifiez que tous les fichiers d'entrée ont un échantillonnage correspondant dans les dimensions mondiales (par défaut).

-nocheck_dimensions
Ignorez toutes les différences dans l'échantillonnage des dimensions mondiales pour les fichiers d'entrée.

-propagate_nan
Pour les opérations vectorielles cumulatives (somme, poussée ainsi que avg), données invalides (Not-A-Number
ou NaN) dans n'importe quel élément du vecteur produira des données invalides dans le résultat
(défaut).

-ignorer_nan
Pour les opérations vectorielles cumulatives, les données invalides (NaN) dans le vecteur sont ignorées, c'est-à-dire.
traité comme s'il n'était pas présent.

- nan Lorsqu'une opération illégale est tentée sur un voxel (comme une division par zéro), le
le résultat est une donnée invalide (NaN) (par défaut). N'ayant pas de données d'entrée valides pour un cumul
opération est également considérée comme une opération illégale lorsque -ignorer_nan est utilisé.

-zéro Lorsqu'une opération illégale est tentée sur un voxel (comme une division par zéro), le
le résultat est la valeur zéro.

-valeur_illégal Plus-value
Lorsqu'une opération illégale est tentée sur un voxel (comme une division par zéro), le
result est la valeur spécifiée par cette option.

-expression un magnifique
Spécifiez l'expression à évaluer à chaque voxel (voir EXPRESSIONS).

-fichierexp nom de fichier
Spécifiez un fichier contenant une expression à évaluer à chaque voxel (voir
EXPRESSIONS). Si le nom de fichier ``-'' est donné, alors l'expression est lue à partir de stdin.
La seule différence avec les expressions de ligne de commande est que les commentaires peuvent être donnés dans
le fichier. Une ligne de commentaire est spécifiée en plaçant un ``#'' comme premier non-
caractère d'espacement de la ligne. Les scripts Minccalc peuvent être créés en définissant le
première ligne à

# ! /usr/local/mni/bin/minccalc -expfile

-fichier de sortie symbole fichier de sortie
Spécifiez que la sortie doit être écrite dans le fichier spécifié, en prenant les valeurs du
symbole qui doit être créé dans l'expression (voir le EXEMPLES section). Si
cette option est donnée, alors tous les arguments non optionnels sont pris comme fichiers d'entrée. Cette
L'option peut être utilisée plusieurs fois pour plusieurs fichiers de sortie.

-eval_width Plus-value
Spécifiez le nombre de voxels à traiter en parallèle. La valeur par défaut est 200.

EXPRESSIONS


La -expression argument est une chaîne unique qui décrit la fonction à évaluer. Les
l'expression de la fonction est généralement écrite en termes du vecteur A.

Par exemple, l'expression suivante additionnera les deux premiers fichiers d'entrée :

UNE[0] + UNE[1]

Plusieurs expressions peuvent être séparées par des points-virgules, auquel cas seule la valeur de
la dernière expression est utilisée. Ces listes d'expressions peuvent être utilisées avec l'affectation
expressions pour rendre la syntaxe très proche du C :

rapport = A[0]/A[1] ; A[2]*exp(-ratio)

Une liste d'expressions entre accolades est une expression valide et renvoie la valeur de last
expression dans la liste. Ceci est particulièrement utile dans en ainsi que if expressions (voir ci-dessous).

Il existe deux types de valeurs dans le langage : les vecteurs et les scalaires. Les littéraux scalaires sont
nombres à virgule flottante ou peuvent apparaître sous forme de symboles dont le nom commence par une lettre minuscule.

Outre les opérateurs scalaires normaux tels que +, -, * et /, le langage d'expression
prend en charge l'opérateur d'exponentiation infixe ^ , les opérateurs relationnels habituels <, <=, >,
>=, ==, != ainsi que les opérateurs booléens && (et), || (ou et ! (ne pas). Notez que le
&& et || les opérateurs booléens évaluent toujours les deux opérandes, contrairement à C. Mathématique scalaire
les fonctions incluent Abdos, sqrt, exp, enregistrer, sans, cos, bronzage, un péché, aços ainsi que un bronzage. Il y a aussi
quelques fonctions spécialisées :

isnan(v) - 1 si v est invalide et 0 sinon
clamp(v1,v2,v3) - v1 borné par [v2, v3]
segment(v1,v2,v3) - teste si v1 est dans [v2, v3]

La constante scalaire NaN est définie de telle sorte que isnan(NaN) renvoie 1.

Les vecteurs peuvent être écrits sous la forme "extensionnelle" suivante

[ valeur1, valeur2, ... ]

ou en utilisant les notations génératrices de plage suivantes :

[ a : b ] génère {a, a+1, ..., b-1, b}
[ a : b ) génère {a, a+1, ..., b-1}
( a : b ] génère {a+1, ..., b-1, b}
( a : b ) génère {a+1, ..., b-1}

ou être généré, par « intension ». L'expression d'intension suivante génère le vecteur
{3,2,1} :

{ je dans [1:3] | 4 - je }

Les vecteurs peuvent également apparaître sous forme de symboles dont le nom commence par une lettre majuscule.

En plus des opérateurs scalaires, les opérateurs vectoriels suivants sont fournis :

avg - la valeur moyenne des scalaires dans le vecteur
len - la longueur de
somme - la somme des éléments de
prod - le produit des éléments de
max - la valeur maximale de
min - la valeur minimale de
imax - l'indice de la valeur maximale de
imin - l'indice de la valeur minimale de
V[s] - le sième élément du vecteur V d'origine 0.

Les noms de symboles sont introduits dans une table de symboles globale par des expressions d'affectation du
formulaire

un = A[2] * enregistrer(2)

Les symboles commençant par une lettre minuscule représentent des scalaires tandis que ceux commençant par un
la lettre majuscule représente les vecteurs. Puisque = est un opérateur, son résultat peut être utilisé dans un
expression (comme en C).

Quelques constructions de contrôle sont fournies :

Des boucles For peuvent être créées pour boucler sur un vecteur, en attribuant chaque valeur à un symbole, puis
évaluer une expression. Cela se fait avec des expressions de la forme

total=0 ; pour{i dans [0:len(A))} total=total+A[i] ; le total

ce qui équivaut à somme(A). Notez que cela est similaire à l'utilisation

total=0 ; len{i dans [0:len(A)) | total=total+A[i]} ; le total

depuis l' en construct est en fait un opérateur (bien qu'il ne soit généralement utilisé que pour
changer les valeurs des symboles). Notez également que sans le « total » final, l'expression serait
pas très utile car il ne retournerait que la longueur du vecteur.

Comme en C, une liste d'expressions peut être spécifiée en curlies :

total=total2 = 0 ;
pour {i dans [0:len(A))} {
total = total + A[i] ;
total2 = total2 + A[i]^2
}

Il existe également quelques formes de si-alors-sinon construction:

A[0]<0 ? 0 : A[0]

si (A[0]<0) résultat=0 sinon résultat=A[0]

La d'autre est facultatif. Encore une fois, la construction if est un opérateur, et la puis or d'autre
les expressions peuvent être des listes d'expressions en boucles, auquel cas la valeur du dernier
expression est renvoyée. Si la d'autre l'expression est manquante, alors la valeur 0 est retournée
lorsque l'expression de test est 0 (faux).

La principale bizarrerie avec le en ainsi que if est que contrairement aux instructions C, elles doivent
être séparé de l'expression suivante par un point-virgule même lorsqu'une liste d'expressions dans
bouclés est utilisé:

pour i dans [0:len(A)) {total=total+A[i]} ; total/long(A)
if (A[i]>0) {result=2;} else {result=1} ; résultat*5

Une autre façon d'introduire des noms de symboles consiste à laisser-expressions. Par exemple, le
l'expression suivante sera toujours évaluée à 3 :

soit a = 1, b = 2 dans a + b

Ceux-ci ont été conçus à l'origine pour créer des variables uniquement dans l'expression évaluée,
mais des modifications ont été apportées pour que la table des symboles globale soit modifiée.

EXEMPLES


Voici une expression pour calculer l'écart type, en tenant compte de la
possibilité de données d'entrée invalides, qui sont ignorées :

s0 = s1 = s2 = 0 ;

pour { i dans [0:len(A)) } {
v=A[i] ;
si (!isnan(v)) {
s0 = s0 + 1 ;
s1 = s1 + v ;
s2 = s2 + v*v ;
}
};

si (s0 > 1) {
sqrt((s2 - s1*s1/s0) / (s0-1));
}
else {
NaN ;
};

Le dernier if pourrait être modifié pour retourner 0 si s0 est > 0 mais <= 1. Nous supprimons également le bouclé
crochets, mais alors il ne doit pas y avoir de ";" entre le si et le sinon

si (s0 > 1)
carré((s2 - s1*s1/s0) / (s0-1))
sinon si (s0 > 0)
0
d'autre
NaN

Si nous voulons à la fois la moyenne et l'écart type, nous pouvons utiliser le -fichier de sortie option,
en invoquant la commande avec

minccalc -expfile stdev \
-outfile signifie signifie.mnc \
-outfile stdev stdev.mnc \
fichier_entrée1.mnc fichier_entrée2.mnc ...

Et en utilisant le fichier d'expression (avec encore une autre forme d'expression if) :

s0 = s1 = s2 = 0 ;

pour {i dans [0:len(A))} {
v=A[i] ;
si (!isnan(v)) {
s0 = s0 + 1 ;
s1 = s1 + v ;
s2 = s2 + v*v ;
}
};

stdev = (s0 > 1) ? sqrt((s2 - s1*s1/s0) / (s0-1)) :
(s0 > 0) ? 0 : NaN ;
moyenne = (s0 > 0) ? s1 / s0 : NaN ;

MISES EN GARDE


Quelques points à retenir...

Les variables vectorielles doivent commencer par une lettre majuscule.

Les noms de variables vectorielles ne doivent pas être l'un des mots-clés de la fonction,
somme, len, prod, ... etc

Pour les boucles et si les expressions doivent toujours être séparées de l'expression suivante par un
point-virgule.

La table des symboles est globale.

Opérateurs booléens && et || toujours évaluer les deux opérandes.

Remarque sur le parallélisme : pour des raisons d'efficacité, les évaluations sont effectuées sur plusieurs voxels à la fois
(le nombre de voxels est appelé la largeur de l'évaluation et est modifié avec
le -eval_width option). Une conséquence étrange de ceci est que les deux côtés d'un if-else
sont toujours évalués (à moins que tous les voxels donnent le même résultat de test), mais
les déclarations dans chaque conséquent ne sont évaluées que sur les voxels appropriés. Dans
en particulier, les entrées de la table des symboles ne sont modifiées qu'en fonction d'un masque de voxel. UNE
l'effet secondaire de ceci est que tout symbole vectoriel défini dans un conséquent if-else ne doit pas changer
la longueur du symbole (bien qu'il puisse le créer) et les deux côtés du conséquent doivent
d'accord sur la longueur des symboles vectoriels qu'ils modifient tous les deux. Si ce n'est pas clair,
essayez simplement - le programme se plaindra s'il n'est pas content.

Utilisez minccalc en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

  • 1
    turcdevops
    turcdevops
    TurkDevOps a ?k kaynak yaz?l?m
    geli?tirici topluluklar? DevTurks-Équipe
    Tarafándan desteklenmektedir..
    Fonctionnalités : https://github.com/turkdevopshttps://turkdevops.g...
    Télécharger turkdevops
  • 2
    asammdf
    asammdf
    *asammdf* est un analyseur rapide Python et
    éditeur pour l'ASAM (Association pour
    Standardisation de l'automatisation et
    Systèmes de mesure) MDF / MF4
    (Format des données de mesure...
    Télécharger asammdf
  • 3
    LAME (Lame n'est pas un encodeur MP3)
    LAME (Lame n'est pas un encodeur MP3)
    LAME est un outil pédagogique à utiliser
    pour en savoir plus sur l'encodage MP3. Le
    L'objectif du projet LAME est d'améliorer
    la psycho acoustique, la qualité et la rapidité
    de député...
    Télécharger LAME (Lame n'est pas un encodeur MP3)
  • 4
    wxPython
    wxPython
    Un ensemble de modules d'extension Python qui
    encapsulez les classes d'interface graphique multiplateforme à partir de
    wxWidgets.. Public : Développeurs. Utilisateur
    interface : Système X Window (X11), Win32...
    Télécharger wxPython
  • 5
    gestionnaire de fichiers de paquets
    gestionnaire de fichiers de paquets
    Ceci est le gestionnaire de fichiers du pack Total War
    projet, à partir de la version 1.7. UNE
    courte introduction à Warscape
    modding : ...
    Télécharger le packfilemanager
  • 6
    IPerf2
    IPerf2
    Un outil de trafic réseau pour mesurer
    Performances TCP et UDP avec métriques
    autour du débit et de la latence. Les
    les objectifs comprennent le maintien d'une activité
    morue iperf...
    Télécharger IPerf2
  • Plus "

Commandes Linux

Ad