EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

minccalc - Online in der Cloud

Führen Sie minccalc im kostenlosen OnWorks-Hosting-Anbieter über Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator aus

Dies ist der Befehl minccalc, der im kostenlosen OnWorks-Hosting-Provider mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


minccalc - Führe komplexe mathematische Operationen an minc-Dateien durch

ZUSAMMENFASSUNG


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

BESCHREIBUNG


Minccalc führt komplexe Voxel-für-Voxel-Mathematikoperationen an einer oder mehreren Minc-Dateien durch
der gleichen Form und mit der gleichen Koordinatenabtastung, wodurch eine einzige Ausgabedatei erzeugt wird.
Die auszuführenden Operationen werden mit den -Ausdruck Argument (siehe AUSDRÜCKE).
Standardmäßig ist die Ausgabedatei das letzte Argument, das keine Option ist. Wenn jedoch die -outfile
Option verwendet wird, werden alle Argumente, die keine Option sind, als Eingabedateien betrachtet und die Ausgabe
Dateinamen stammen aus dem -outfile Optionen, von denen es mehr als eine geben kann.

OPTIONAL


Beachten Sie, dass Optionen in abgekürzter Form angegeben werden können (sofern sie eindeutig sind) und
kann überall auf der Kommandozeile angegeben werden.

-2 Erstellen Sie Ausgabedateien im MINC 2.0-Format.

-Hilfe Zusammenfassung der Befehlszeilenoptionen drucken und beenden.

-Ausführung
Geben Sie die Versionsnummer des Programms aus und beenden Sie das Programm.

-Klamotten
Überschreiben Sie eine vorhandene Datei.

-noklobber
Überschreiben Sie keine vorhandene Datei (Standard).

-no_clobber
Synonym für -noclobber.

-verbose
Drucken Sie Fortschrittsinformationen für jeden kopierten Datenblock aus (Standard).

-ruhig Drucken Sie keine Fortschrittsinformationen aus.

-debuggen Drucken Sie Debugging-Informationen aus.

-copy_header
Kopieren Sie alle Header-Informationen aus der ersten Eingabedatei (Standard für eine Eingabe
Datei).

-nocopy_header
Kopieren Sie nicht den gesamten Header aus der ersten Eingabedatei; nur Koordinate kopieren
Informationen (Standard für mehr als eine Eingabedatei).

-Dateityp
Erstellen Sie eine Ausgabedatei mit demselben Typ wie die erste Eingabedatei (Standard).

-Byte Ausgabevoxel im 8-Bit-Integer-Format speichern.

-kurzes Ausgabevoxel im 16-Bit-Integer-Format speichern.

-int Ausgabevoxel im 32-Bit-Integer-Format speichern.

-langes Ersetzt durch -int.

-schweben Speichern Sie Ausgabevoxel im 32-Bit-Gleitkommaformat.

-doppelt
Speichern Sie Ausgabevoxel im 64-Bit-Gleitkommaformat.

-unterzeichnet
Verwenden Sie ein vorzeichenbehaftetes Zweierkomplement-Ganzzahlformat. Gilt nur, wenn der Ausgabevoxeltyp
wird als ganzzahliger Typ angegeben (einer von -Byte, -kurzes, -int or -langes).

-ohne Vorzeichen
Verwenden Sie ein vorzeichenloses Integer-Format. Gilt nur, wenn der Ausgabevoxeltyp angegeben ist auf
ein ganzzahliger Typ sein (einer von -Byte, -kurzes, -int or -langes).

-Angebot Min. max
Beschränken Sie den gültigen Bereich von Integer-Daten. Gilt nur, wenn einer der -Byte,
-kurzes, -int or -langes Optionen angegeben ist.

-max_buffer_size_in_kb Größe
Geben Sie die maximale Größe der internen Puffer an (in kByte). Standard ist 4096
(4MB).

-Dimension Schwachname
Geben Sie eine Dimension an, entlang derer eine kumulative Operation ausgeführt werden soll.

-check_dimensions
Überprüfen Sie, ob alle Eingabedateien übereinstimmende Stichproben in Weltdimensionen aufweisen (Standard).

-nocheck_dimensions
Ignorieren Sie alle Unterschiede bei der Stichprobenziehung von Weltmaßen für Eingabedateien.

-propagieren_nan
Für kumulative Vektoroperationen (Summe, Stoß und avg), ungültige Daten (Not-A-Number
oder NaN) in einem beliebigen Element des Vektors führt zu ungültigen Daten im Ergebnis
(Standard).

-ignore_nan
Bei kumulativen Vektoroperationen werden ungültige Daten (NaN) im Vektor ignoriert, d.h.
behandelt, als ob es nicht vorhanden wäre.

-Nan Wenn eine illegale Operation an einem Voxel versucht wird (z. B. durch Null dividieren), wird der
Ergebnis sind ungültige Daten (NaN) (Standard). Keine gültigen Eingabedaten für eine kumulative
Vorgang wird auch als illegaler Vorgang angesehen, wenn -ignore_nan wird eingesetzt.

-Null Wenn eine illegale Operation an einem Voxel versucht wird (z. B. durch Null dividieren), wird der
Ergebnis ist der Wert Null.

-illegaler_wert Wert
Wenn eine illegale Operation an einem Voxel versucht wird (z. B. durch Null dividieren), wird der
result ist der durch diese Option angegebene Wert.

-Ausdruck Schnur
Geben Sie den Ausdruck an, der bei jedem Voxel ausgewertet werden soll (siehe AUSDRÜCKE).

-Expfile Dateinamen
Geben Sie eine Datei an, die einen Ausdruck enthält, der bei jedem Voxel ausgewertet werden soll (siehe
AUSDRÜCKE). Wenn der Dateiname ``-'' angegeben wird, wird der Ausdruck von stdin gelesen.
Der einzige Unterschied zu Befehlszeilenausdrücken besteht darin, dass Kommentare in eingegeben werden können
die Datei. Eine Kommentarzeile wird angegeben, indem ein ``#'' als erstes Nicht-
Leerzeichen der Zeile. Minccalc-Skripte können erstellt werden, indem die
erste Zeile zu

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

-outfile Symbol Ausgabedatei
Geben Sie an, dass die Ausgabe in die angegebene Datei geschrieben werden soll, wobei Werte aus dem
Symbol, das im Ausdruck erstellt werden soll (siehe Beispiele: Sektion). Wenn
Wenn diese Option angegeben ist, werden alle Argumente, die keine Option sind, als Eingabedateien verwendet. Dies
Option kann mehrmals für mehrere Ausgabedateien verwendet werden.

-eval_width Wert
Geben Sie die Anzahl der Voxel an, die parallel verarbeitet werden sollen. Standard ist 200.

AUSDRÜCKE


Das -Ausdruck Argument ist eine einzelne Zeichenfolge, die die auszuwertende Funktion beschreibt. Die
Funktionsausdruck wird typischerweise in Bezug auf den Vektor A geschrieben.

Der folgende Ausdruck summiert beispielsweise die ersten beiden Eingabedateien zusammen:

A[0] + A[1]

Mehrere Ausdrücke können durch Semikolon getrennt angegeben werden, in diesem Fall nur der Wert von
der letzte Ausdruck wird verwendet. Diese Ausdruckslisten können mit Zuweisung verwendet werden
Ausdrücke, um die Syntax sehr C-ähnlich zu machen:

Verhältnis = A[0]/A[1]; A[2]*exp(-verhältnis)

Eine Ausdrucksliste in geschweiften Klammern ist ein gültiger Ausdruck und gibt den Wert von last . zurück
Ausdruck in der Liste. Dies ist besonders nützlich in für und if Ausdrücke (siehe unten).

Es gibt zwei Arten von Werten in der Sprache: Vektoren und Skalare. Skalare Literale sind
Gleitkommazahlen oder können als Symbole erscheinen, deren Name mit einem Kleinbuchstaben beginnt.

Neben normalen Skalaroperatoren wie +, -, * und / ist die Ausdruckssprache auch
unterstützt den Infix-Exponentiationsoperator ^ , die üblichen Vergleichsoperatoren <, <=, >,
>=, ==, != sowie die booleschen Operatoren && (und), || (oder und ! (nicht). Notiere dass der
&& und || Boolesche Operatoren werten immer beide Operanden aus, im Gegensatz zu C. Skalarmathematik
Funktionen umfassen abs, sqrt, exp, Log, Sünde, cos, Bräune, asin, akos und eine Lohe. Es gibt auch
einige spezielle Funktionen:

isnan(v) - 1, wenn v ungültig ist und sonst 0
Klemme(v1,v2,v3) - v1 begrenzt durch [v2, v3]
segment(v1,v2,v3) - testet, ob v1 in [v2, v3] ist

Die Skalarkonstante NaN ist so definiert, dass isnan(NaN) 1 zurückgibt.

Vektoren können in der folgenden `extensionalen' Form geschrieben werden

[ Wert1, Wert2, ... ]

oder mithilfe der folgenden bereichserzeugenden Notationen:

[ a : b ] erzeugt {a, a+1, ..., b-1, b}
[ a : b ) erzeugt {a, a+1, ..., b-1}
( a : b ] erzeugt {a+1, ..., b-1, b}
( a : b ) erzeugt {a+1, ..., b-1}

oder durch `Intension' erzeugt werden. Der folgende Intensionsausdruck erzeugt den Vektor
{3,2,1}:

{ ich in [1:3] | 4 - ich }

Vektoren können auch als Symbole erscheinen, deren Name mit einem Großbuchstaben beginnt.

Zusätzlich zu den Skalaroperatoren werden die folgenden Vektoroperatoren bereitgestellt:

avg - der Durchschnittswert der Skalare im Vektor
len - die Länge von
sum - die Summe der Elemente von
prod - das Produkt der Elemente von
max - der maximale Wert von
min - der Mindestwert von
imax - der Index des Maximalwerts von
imin - der Index des Mindestwertes von
V[s] - das s-te Element des Vektors V mit Ursprung 0.

Symbolnamen werden durch Zuweisungsausdrücke der
unten stehende Formular

a = A[2] * Log(2)

Symbole, die mit einem Kleinbuchstaben beginnen, stellen Skalare dar, während solche, die mit einem beginnen
Großbuchstaben repräsentieren Vektoren. Da = ein Operator ist, kann sein Ergebnis in an . verwendet werden
Ausdruck (wie in C).

Es werden einige Kontrollkonstrukte bereitgestellt:

For-Schleifen können erstellt werden, um einen Vektor zu durchlaufen, jeden Wert einem Symbol zuzuweisen und dann
einen Ausdruck auswerten. Dies geschieht mit Ausdrücken der Form

gesamt=0; for{i in [0:len(A))} total=total+A[i]; gesamt

was der Summe (A) entspricht. Beachten Sie, dass dies der Verwendung von ähnelt

gesamt=0; len{i in [0:len(A)) | gesamt=gesamt+A[i]}; gesamt

Da die für Konstrukt ist eigentlich ein Operator (obwohl es normalerweise nur verwendet wird für
Symbolwerte ändern). Beachten Sie auch, dass der Ausdruck ohne das abschließende "Gesamt"
nicht sehr nützlich sein, da es nur die Länge des Vektors zurückgeben würde.

Wie in C kann eine Liste von Ausdrücken in geschweiften Zeilen angegeben werden:

gesamt=gesamt2 = 0;
für {i in [0:len(A))} {
gesamt = gesamt + A[i];
gesamt2 = gesamt2 + A[i]^2
}

Es gibt auch einige Formen der wenn-dann-sonst bauen:

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

if (A[0]<0) Ergebnis=0 else Ergebnis=A[0]

Das sonst es ist optional. Auch hier ist das if-Konstrukt ein Operator, und die dann or sonst
Ausdrücke können Ausdruckslisten in geschweiften Linien sein, in welchem ​​Fall der Wert des letzten
Ausdruck zurückgegeben wird. Wenn die sonst Ausdruck fehlt, dann wird der Wert 0 zurückgegeben
wenn der Testausdruck 0 (falsch) ist.

Die wichtigste Kuriosität mit dem für und if Konstrukte ist, dass sie im Gegensatz zu C-Anweisungen
durch ein Semikolon vom nächsten Ausdruck getrennt werden, auch wenn eine Ausdrucksliste in
Locken wird verwendet:

für i in [0:len(A)) {total=total+A[i]} ; Gesamt/Lenne(A)
if (A[i]>0) {Ergebnis=2;} else {Ergebnis=1} ; Ergebnis*5

Eine alternative Möglichkeit, Symbolnamen einzuführen, ist durch lassen-Ausdrücke. Zum Beispiel die
Der folgende Ausdruck wird immer zu 3 ausgewertet:

sei a = 1, b = 2 in a + b

Diese wurden ursprünglich entwickelt, um Variablen nur innerhalb des ausgewerteten Ausdrucks zu erstellen.
es wurden jedoch Modifikationen vorgenommen, so dass die globale Symboltabelle geändert wurde.

Beispiele:


Hier ist ein Ausdruck zur Berechnung der Standardabweichung unter Berücksichtigung der
Möglichkeit ungültiger Eingabedaten, die ignoriert wird:

s0 = s1 = s2 = 0;

für { i in [0: len(A)) } {
v = A[i];
wenn (!isnan(v)) {
s0 = s0 + 1;
s1 = s1 + v;
s2 = s2 + v*v;
}
};

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

Das letzte if könnte so geändert werden, dass es 0 zurückgibt, wenn s0 > 0 aber <= 1 ist. Wir lassen auch das Curly fallen
Klammern, aber dann darf kein ";" zwischen dem wenn und dem sonst

wenn (s0 > 1)
sqrt((s2 - s1*s1/s0) / (s0-1))
sonst wenn (s0 > 0)
0
sonst
NaN

Wenn wir sowohl den Mittelwert als auch die Standardabweichung wollen, können wir die -outfile Option,
Aufruf des Befehls mit

minccalc -expfile stdev \
-outfile bedeutet mean.mnc \
-outfile stdev stdev.mnc \
infile1.mnc infile2.mnc ...

Und mit der Ausdrucksdatei (mit einer weiteren Form des if-Ausdrucks):

s0 = s1 = s2 = 0;

für {i in [0:len(A))} {
v = A[i];
wenn (!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;
Mittelwert = (s0 > 0) ? s1/s0: NaN;

VORSICHTEN


Ein paar Dinge, die Sie sich merken sollten...

Vektorvariablen müssen mit einem Großbuchstaben beginnen.

Vektorvariablennamen dürfen nicht eines der Funktionsschlüsselwörter sein,
summe, len, prod, ... etc

For-Schleifen und if-Ausdrücke müssen immer durch a . vom nächsten Ausdruck getrennt werden
Semikolon.

Die Symboltabelle ist global.

Boolesche Operatoren && und || werten Sie immer beide Operanden aus.

Ein Hinweis zur Parallelität: Aus Effizienzgründen werden Auswertungen auf vielen Voxeln gleichzeitig durchgeführt
(die Anzahl der Voxel wird als Breite der Auswertung bezeichnet und mit geändert
-eval_width Möglichkeit). Eine seltsame Folge davon ist, dass beide Seiten eines if-else
-Anweisung werden immer ausgewertet (es sei denn, alle Voxel liefern das gleiche Testergebnis), aber
Aussagen innerhalb jeder Folge werden nur auf den entsprechenden Voxeln ausgewertet. In
insbesondere werden Einträge in der Symboltabelle nur gemäß einer Voxelmaske modifiziert. EIN
ein Nebeneffekt davon ist, dass sich jedes Vektorsymbol, das in einer if-else-Folge gesetzt wird, nicht ändern darf
die Länge des Symbols (obwohl es es erzeugen kann) und beide Seiten des resultierenden Muss
einigen sich auf die Länge aller Vektorsymbole, die beide modifizieren. Wenn dies nicht klar ist,
Probieren Sie es einfach aus - das Programm wird sich beschweren, wenn es nicht zufrieden ist.

Verwenden Sie minccalc online mit den onworks.net-Diensten


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

  • 1
    turkdevops
    turkdevops
    TurkDevOps a�?k kaynak yaz?l?m
    geli?tirici topluluklar? DevTurks-Team
    Taraf?ndan desteklenmektedir..
    Funktionen: https://github.com/turkdevopshttps://turkdevops.g...
    Laden Sie turkdevops herunter
  • 2
    asamdf
    asamdf
    *asammdf* ist ein schneller Python-Parser und
    Redakteur für ASAM (Association for
    Standardisierung von Automatisierung und
    Messsysteme) MDF / MF4
    (Messdatenformat...
    asamdf herunterladen
  • 3
    LAME (Lame Aint an MP3 Encoder)
    LAME (Lame Aint an MP3 Encoder)
    LAME ist ein zu verwendendes Lehrmittel
    zum Erlernen der MP3-Kodierung. Das
    Ziel des LAME-Projekts ist es, sich zu verbessern
    die Psychoakustik, Qualität und Geschwindigkeit
    von Abgeordneten ...
    Laden Sie LAME herunter (Lame Aint an MP3 Encoder)
  • 4
    wxPython
    wxPython
    Eine Reihe von Python-Erweiterungsmodulen, die
    Wrappen Sie die plattformübergreifenden GUI-Klassen aus
    wxWidgets. Zielgruppe: Entwickler. Benutzer
    Schnittstelle: X Window System (X11), Win32 ...
    Laden Sie wxPython herunter
  • 5
    Packdateimanager
    Packdateimanager
    Dies ist der Dateimanager des Total War-Pakets
    Projekt ab Version 1.7. EIN
    kurze Einführung in Warscape
    Modding: ...
    Laden Sie den Packfilemanager herunter
  • 6
    IPerf2
    IPerf2
    Ein Tool zum Messen des Netzwerkverkehrs
    TCP- und UDP-Leistung mit Metriken
    um sowohl den Durchsatz als auch die Latenz. Der
    Zu den Zielen gehört die Aufrechterhaltung eines aktiven Zustands
    Iperf-Kabeljau...
    IPerf2 herunterladen
  • Mehr »

Linux-Befehle

Ad