EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

minccalc - Online în cloud

Rulați minccalc în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda minccalc care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


minccalc - efectuează operații matematice complexe pe fișiere minc

REZUMAT


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

DESCRIERE


Minccalc va efectua operații matematice complexe, voxel-cu-voxel, pe unul sau mai multe fișiere minc
de aceeași formă și având aceeași eșantionare în coordonate, producând un singur fișier de ieșire.
Operațiile care trebuie efectuate sunt introduse folosind -expresie argument (vezi EXPRESII).
În mod implicit, fișierul de ieșire este ultimul argument fără opțiune. Cu toate acestea, dacă -outfile
este folosită opțiunea, atunci toate argumentele care nu sunt opțiuni sunt considerate fișiere de intrare și de ieșire
numele de fișiere provin din -outfile opțiuni, dintre care pot fi mai multe.

OPŢIUNI


Rețineți că opțiunile pot fi specificate sub formă abreviată (atâta timp cât sunt unice) și
poate fi dat oriunde pe linia de comandă.

-2 Creați fișiere de ieșire în format MINC 2.0.

-Ajutor Imprimați rezumatul opțiunilor din linia de comandă și ieșiți.

-versiune
Tipăriți numărul versiunii programului și ieșiți.

- clobber
Suprascrieți un fișier existent.

-noclobber
Nu suprascrieți un fișier existent (implicit).

-no_clobber
Sinonim pentru -noclobber.

-verbos
Imprimați informațiile despre progres pentru fiecare bucată de date copiată (implicit).

-Liniște Nu tipăriți informații despre progres.

- depanare Imprimați informațiile de depanare.

-copy_header
Copiați toate informațiile de antet din primul fișier de intrare (implicit pentru o intrare
fişier).

-nocopy_header
Nu copiați tot antetul din primul fișier de intrare; copiați numai coordonatele
informații (implicit pentru mai mult de un fișier de intrare).

-tip fișier
Creați un fișier de ieșire cu același tip ca primul fișier de intrare (implicit).

-octet Stocați voxelii de ieșire în format întreg de 8 biți.

-mic de statura Stocați voxelii de ieșire în format întreg de 16 biți.

-int Stocați voxelii de ieșire în format întreg de 32 biți.

-lung Inlocuit de -int.

-pluti Stocați voxelii de ieșire în format de virgulă mobilă pe 32 de biți.

-dubla
Stocați voxelii de ieșire în format de virgulă mobilă pe 64 de biți.

-semnat
Folosiți formatul întreg în complement a doi cu semn. Se aplică numai dacă tipul voxel de ieșire
este specificat a fi un tip întreg (unul dintre -octet, -mic de statura, -int or -lung).

-nesemnat
Utilizați formatul întreg nesemnat. Se aplică numai dacă tipul voxel de ieșire este specificat pentru
fie un tip întreg (unul dintre -octet, -mic de statura, -int or -lung).

-gamă minute max
Restricționați intervalul valid de date întregi. Se aplică numai dacă unul dintre -octet,
-mic de statura, -int or -lung opțiunile sunt specificate.

-max_buffer_size_in_kb mărimea
Specificați dimensiunea maximă a bufferelor interne (în kbytes). Implicit este 4096
(4MB).

-Dimension dimname
Specificați o dimensiune de-a lungul căreia dorim să efectuăm o operație cumulativă.

-verificare_dimensiuni
Verificați dacă toate fișierele de intrare au eșantionare potrivită în dimensiunile lumii (implicit).

-nocheck_dimensions
Ignorați orice diferență în eșantionarea dimensiunilor lumii pentru fișierele de intrare.

-propagate_nan
Pentru operații vectoriale cumulative (sumă, prod și avg), date nevalide (Nu-A-Număr
sau NaN) în orice element al vectorului va produce date nevalide în rezultat
(Mod implicit).

-ignore_nan
Pentru operațiile cu vector cumulativ, datele invalide (NaN) din vector sunt ignorate, de exemplu.
tratat ca și cum nu ar fi prezent.

- nan Când se încearcă o operațiune ilegală la un voxel (cum ar fi împărțirea la zero),
rezultatul este date nevalide (NaN) (implicit). Nu au date de intrare valide pentru un cumul
operațiunea este considerată și operațiune ilegală atunci când -ignore_nan este folosit.

-zero Când se încearcă o operațiune ilegală la un voxel (cum ar fi împărțirea la zero),
rezultatul este valoarea zero.

-valoare_ilegală valoare
Când se încearcă o operațiune ilegală la un voxel (cum ar fi împărțirea la zero),
rezultatul este valoarea specificată de această opțiune.

-expresie şir
Specificați expresia de evaluat la fiecare voxel (vezi EXPRESII).

-expfile nume de fișier
Specificați un fișier care conține o expresie de evaluat la fiecare voxel (vezi
EXPRESII). Dacă numele de fișier ``-'' este dat, atunci expresia este citită din stdin.
Singura diferență față de expresiile din linia de comandă este că pot fi date comentarii
fișierul. O linie de comentariu este specificată prin plasarea unui ``#'' ca primul non-
caracterul de spațiu al liniei. Scripturile Minccalc pot fi create prin setarea
prima linie la

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

-outfile simbol fisier de iesire
Specificați că rezultatul ar trebui să fie scris în fișierul specificat, luând valori din
simbol care ar trebui creat în expresie (vezi EXEMPLE secțiune). Dacă
această opțiune este dată, apoi toate argumentele care nu sunt opțiuni sunt luate ca fișiere de intrare. Acest
opțiunea poate fi utilizată de mai multe ori pentru mai multe fișiere de ieșire.

-eval_width valoare
Specificați numărul de voxeli de procesat în paralel. Implicit este 200.

EXPRESII


-expresie argumentul este un singur șir care descrie funcția de evaluat. The
expresia funcției este de obicei scrisă în termenii vectorului A.

De exemplu, următoarea expresie va suma primele două fișiere de intrare împreună:

A[0] + A[1]

Pot fi date mai multe expresii separate prin punct și virgulă, caz în care doar valoarea lui
se foloseşte ultima expresie. Aceste liste de expresii pot fi folosite cu atribuire
expresii pentru a face sintaxa foarte asemănătoare C:

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

O listă de expresii între paranteze este o expresie validă și returnează valoarea last
expresie din listă. Acest lucru este deosebit de util în pentru și if expresii (vezi mai jos).

Există două tipuri de valori în limbaj: vectori și scalari. Scalarii literali sunt
numere în virgulă mobilă sau pot apărea ca simboluri al căror nume începe cu o literă mică.

Pe lângă operatorii scalari normali, cum ar fi +, -, * și /, limbajul expresiei este de asemenea
acceptă operatorul de exponențiere infix ^ , operatorii relaționali obișnuiți <, <=, >,
>=, ==, != precum și operatorii booleeni && (și), || (sau și ! (nu). Rețineți că
&& și || Operatorii booleeni evaluează întotdeauna ambii operanzi, spre deosebire de C. matematică scalară
funcțiile includ abs, sqrt, exp, log, păcat, cos, astfel, ca în, acos și un bronz. Există, de asemenea
cateva functii specializate:

isnan(v) - 1 dacă v este invalid și 0 în caz contrar
clemă(v1,v2,v3) - v1 delimitată de [v2, v3]
segment(v1,v2,v3) - testează dacă v1 este în [v2, v3]

Constanta scalară NaN este definită astfel încât isnan(NaN) returnează 1.

Vectorii pot fi scriși în următoarea formă „extensională”.

[ valoare1, valoare2, ... ]

sau folosind următoarele notații generatoare de intervale:

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

sau să fie generat, prin „intenție”. Următoarea expresie de intensitate generează vectorul
{3,2,1}:

{ i în [1:3] | 4 - i}

Vectorii pot apărea și ca simboluri al căror nume începe cu o literă mare.

În plus față de operatorii scalari, sunt furnizați următorii operatori vectoriali:

avg - valoarea medie a scalarilor în vector
len - lungimea de
sum - suma elementelor din
prod - produsul elementelor de
max - valoarea maximă a
min - valoarea minimă a
imax - indicele valorii maxime a
imin - indicele valorii minime a
V[s] - al 0-lea element al vectorului V cu originea XNUMX.

Numele simbolurilor sunt introduse într-un tabel global de simboluri prin expresiile de atribuire ale
formă

a = A[2] * log(2)

Simbolurile care încep cu o literă mică reprezintă scalari, în timp ce cele care încep cu un
literele mari reprezintă vectori. Deoarece = este un operator, rezultatul său poate fi folosit într-un
expresie (ca în C).

Sunt furnizate câteva constructe de control:

Buclele For pot fi create pentru a bucla peste un vector, atribuind fiecare valoare unui simbol și apoi
evaluarea unei expresii. Acest lucru se face cu expresii ale formei

total=0; pentru{i în [0:len(A))} total=total+A[i]; total

care este echivalent cu suma(A). Rețineți că acest lucru este similar cu utilizarea

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

din moment ce pentru construct este de fapt un operator (deși de obicei este folosit doar pentru
modificarea valorilor simbolului). Rețineți, de asemenea, că fără „totalul” final, expresia ar
nu este foarte util, deoarece ar returna doar lungimea vectorului.

Ca și în C, o listă de expresii poate fi specificată în bucle:

total=total2 = 0;
pentru {i în [0:len(A))} {
total = total + A[i];
total2 = total2 + A[i]^2
}

Există, de asemenea, câteva forme ale dacă-atunci-altfel construi:

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

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

altfel este optional. Din nou, constructul if este un operator și apoi or altfel
expresiile pot fi liste de expresii în bucle, caz în care valoarea ultimei
expresia este returnată. Dacă altfel expresia lipsește, atunci valoarea 0 este returnată
când expresia testului este 0 (fals).

Principala ciudățenie cu pentru și if constructe este că, spre deosebire de instrucțiunile C, acestea trebuie
să fie separate de următoarea expresie printr-un punct și virgulă chiar și atunci când o expresie este listată
se foloseste curlies:

pentru i în [0:len(A)) {total=total+A[i]} ; total/len (A)
if (A[i]>0) {rezultat=2;} else {rezultat=1} ; rezultat*5

O modalitate alternativă de a introduce numele simbolurilor este prin lăsa-expresii. De exemplu, cel
următoarea expresie va fi întotdeauna evaluată la 3:

fie a = 1, b = 2 în a + b

Acestea au fost concepute inițial pentru a crea variabile numai în cadrul expresiei evaluate,
dar s-au făcut modificări astfel încât tabelul global de simboluri să fie schimbat.

EXEMPLE


Iată o expresie pentru calcularea abaterii standard, ținând cont de
posibilitatea de a introduce date nevalide, care este ignorată:

s0 = s1 = s2 = 0;

pentru { i în [0:len(A)) } {
v=A[i];
dacă (!isnan(v)) {
s0 = s0 + 1;
s1 = s1 + v;
s2 = s2 + v*v;
}
};

dacă (s0 > 1) {
sqrt((s2 - s1*s1/s0) / (s0-1));
}
altceva {
NaN;
};

Ultimul if ar putea fi modificat pentru a returna 0 dacă s0 este > 0, dar <= 1. De asemenea, renunțăm la curly
paranteze, dar apoi nu trebuie să existe un „;” între dacă și altceva

dacă (s0 > 1)
sqrt((s2 - s1*s1/s0) / (s0-1))
altfel dacă (s0 > 0)
0
altfel
NaN

Dacă vrem atât media cât și abaterea standard, putem folosi -outfile opțiune,
invocând comanda cu

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

Și folosind fișierul de expresie (cu încă o formă de expresie if):

s0 = s1 = s2 = 0;

pentru {i în [0:len(A))} {
v=A[i];
dacă (!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;
medie = (s0 > 0) ? s1 / s0 : NaN ;

Avertismente


Câteva lucruri pe care ar trebui să-ți amintești...

Variabilele vectoriale trebuie să înceapă cu o literă mare.

Numele variabilelor vectoriale nu trebuie să fie unul dintre cuvintele cheie ale funcției,
sum, len, prod, ... etc

Buclele For și expresiile if trebuie să fie întotdeauna separate de expresia următoare prin a
punct şi virgulă.

Tabelul de simboluri este global.

Operatori booleeni && și || evaluează întotdeauna ambii operanzi.

O notă despre paralelism: Din motive de eficiență, evaluările se fac pe mai mulți voxeli simultan
(numărul de voxeli este denumit lățimea evaluării și se modifică cu
il -eval_width opțiune). O consecință ciudată a acestui lucru este că ambele părți ale unui dacă-altfel
declarația sunt întotdeauna evaluate (cu excepția cazului în care toți voxelii dau același rezultat al testului), dar
afirmațiile din cadrul fiecărui consecvent sunt evaluate doar pe voxelii corespunzători. În
în special, intrările din tabelul de simboluri sunt modificate numai în funcție de o mască voxel. A
Efectul secundar al acestui lucru este că orice simbol vectorial setat într-un rezultat dacă-altfel nu trebuie să se schimbe
lungimea simbolului (deși îl poate crea) și ambele părți ale mustului consecvent
sunt de acord cu lungimea oricăror simboluri vectoriale pe care amândoi le modifică. Dacă acest lucru nu este clar,
doar încercați - programul se va plânge dacă nu este fericit.

Utilizați minccalc online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    turkdevops
    turkdevops
    TurkDevOps a ?k kaynak yaz?l?m
    geli?tirici topluluklar? Echipa DevTurks
    Taraf?ndan desteklenmektedir..
    Caracteristici:https://github.com/turkdevopshttps://turkdevops.g...
    Descărcați turkdevops
  • 2
    asammdf
    asammdf
    *asammdf* este un parser rapid Python și
    redactor pentru ASAM (Asociația pentru
    Standardizarea automatizării și
    Sisteme de măsurare) MDF / MF4
    (Format de date de măsurare...
    Descărcați asammdf
  • 3
    LAME (Lame nu este un codificator MP3)
    LAME (Lame nu este un codificator MP3)
    LAME este un instrument educațional de utilizat
    pentru a afla despre codificarea MP3. The
    Scopul proiectului LAME este îmbunătățirea
    psihoacustica, calitatea si viteza
    de deputat...
    Descărcați LAME (Lame Aint an MP3 Encoder)
  • 4
    wxPython
    wxPython
    Un set de module de extensie Python care
    împachetați clasele GUI multiplatformă din
    wxWidgets.. Public: Dezvoltatori. Utilizator
    interfață: X Window System (X11), Win32...
    Descărcați wxPython
  • 5
    packfilemanager
    packfilemanager
    Acesta este managerul de fișiere al pachetului Total War
    proiect, începând cu versiunea 1.7. A
    scurtă introducere în Warscape
    modding:...
    Descărcați packfilemanager
  • 6
    IPerf2
    IPerf2
    Un instrument de măsurare a traficului de rețea
    Performanță TCP și UDP cu metrici
    atât în ​​jurul debitului cât și al latenței. The
    obiectivele includ menținerea unui activ
    cod iperf...
    Descărcați IPerf2
  • Mai mult »

Comenzi Linux

Ad