InggrisPerancisSpanyol

Ad


favorit OnWorks

minccal - Online di Cloud

Jalankan minccal di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows, atau emulator online MAC OS

Ini adalah perintah minccal yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


minccal - melakukan operasi matematika kompleks pada file minc

RINGKASAN


minkal [ ] .mnc [ .mnc...] .mnc

DESKRIPSI


Minccal akan melakukan operasi matematika voxel-by-voxel yang kompleks, pada satu atau lebih file minc
dengan bentuk yang sama dan memiliki sampling koordinat yang sama, menghasilkan file output tunggal.
Operasi yang akan dilakukan adalah input menggunakan -ekspresi argumen (lihat EKSPRESI).
Secara default, file output adalah argumen non-opsi terakhir. Namun, jika -file keluar
opsi digunakan, maka semua argumen non-opsi dianggap sebagai file input dan output
nama file berasal dari -file keluar pilihan, yang bisa ada lebih dari satu.

PILIHAN


Perhatikan bahwa opsi dapat ditentukan dalam bentuk singkatan (asalkan unik) dan
dapat diberikan di mana saja di baris perintah.

-2 Buat file keluaran format MINC 2.0.

-bantu Cetak ringkasan opsi baris perintah dan keluar.

-versi
Cetak nomor versi program dan keluar.

-mengkritik
Timpa file yang ada.

-noclobber
Jangan menimpa file yang ada (default).

-no_clobber
Sinonim untuk -noclobber.

-verbose
Cetak informasi kemajuan untuk setiap potongan data yang disalin (default).

-diam Jangan mencetak informasi kemajuan.

-debug Cetak informasi debug.

-salinan_header
Salin semua informasi header dari file input pertama (default untuk satu input
file).

-nocopy_header
Jangan menyalin semua header dari file input pertama; salin hanya koordinat
informasi (default untuk lebih dari satu file input).

-tipe file
Buat file output dengan tipe yang sama dengan file input pertama (default).

-byte Simpan voxel keluaran dalam format integer 8-bit.

-pendek Simpan voxel keluaran dalam format integer 16-bit.

-int Simpan voxel keluaran dalam format integer 32-bit.

-panjang Digantikan oleh -int.

-mengapung Simpan voxel keluaran dalam format titik mengambang 32-bit.

-dua kali lipat
Simpan voxel keluaran dalam format titik mengambang 64-bit.

-tertanda
Gunakan format integer komplemen dua yang ditandatangani. Hanya berlaku jika tipe voxel keluaran
ditentukan sebagai tipe integer (salah satu dari -byte, -pendek, -int or -panjang).

-tidak ditandatangani
Gunakan format integer yang tidak ditandatangani. Hanya berlaku jika jenis voxel keluaran ditentukan ke
menjadi tipe integer (salah satu dari -byte, -pendek, -int or -panjang).

-jarak menit max
Batasi rentang valid data integer. Hanya berlaku jika salah satu dari -byte,
-pendek, -int or -panjang opsi ditentukan.

-max_buffer_size_in_kb ukuran
Tentukan ukuran maksimum buffer internal (dalam kbytes). Standarnya adalah 4096
(4MB).

-dimensi nama kecil
Tentukan dimensi di mana kita ingin melakukan operasi kumulatif.

-periksa_dimensi
Periksa apakah semua file input memiliki pengambilan sampel yang cocok dalam dimensi dunia (default).

-nocheck_dimension
Abaikan perbedaan apa pun dalam pengambilan sampel dimensi dunia untuk file input.

-menyebarkan_nan
Untuk operasi vektor kumulatif (jumlah, melecut dan avg), data tidak valid (No-A-Number
atau NaN) dalam setiap elemen vektor akan menghasilkan data yang tidak valid dalam hasil
(bawaan).

-abaikan_nan
Untuk operasi vektor kumulatif, data tidak valid (NaN) dalam vektor diabaikan, mis.
diperlakukan seolah-olah tidak ada.

- nan Ketika operasi ilegal dicoba pada voxel (seperti membagi dengan nol),
hasilnya adalah data tidak valid (NaN) (default). Tidak memiliki data input yang valid untuk kumulatif
operasi juga dianggap sebagai operasi ilegal ketika -abaikan_nan digunakan.

-nol Ketika operasi ilegal dicoba pada voxel (seperti membagi dengan nol),
hasilnya bernilai nol.

-nilai_ilegal nilai
Ketika operasi ilegal dicoba pada voxel (seperti membagi dengan nol),
result adalah nilai yang ditentukan oleh opsi ini.

-ekspresi tali
Tentukan ekspresi yang akan dievaluasi pada setiap voxel (lihat EKSPRESI).

-expfile nama file
Tentukan file yang berisi ekspresi untuk dievaluasi pada setiap voxel (lihat
EKSPRESI). Jika nama file ``-'' diberikan, maka ekspresi dibaca dari stdin.
Satu-satunya perbedaan dari ekspresi baris perintah adalah bahwa komentar dapat diberikan dalam
berkas. Baris komentar ditentukan dengan menempatkan ``#'' sebagai non-
karakter spasi putih dari garis. Skrip minccal dapat dibuat dengan mengatur
baris pertama ke

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

-file keluar simbol berkas keluaran
Tentukan bahwa output harus ditulis ke file yang ditentukan, dengan mengambil nilai dari
simbol yang harus dibuat dalam ekspresi (lihat CONTOH bagian). Jika
opsi ini diberikan, maka semua argumen non-opsi diambil sebagai file input. Ini
opsi dapat digunakan beberapa kali untuk beberapa file keluaran.

-eval_lebar nilai
Tentukan jumlah voxel yang akan diproses secara paralel. Standarnya adalah 200.

EKSPRESI


Grafik -ekspresi argumen adalah string tunggal yang menjelaskan fungsi untuk mengevaluasi. Itu
ekspresi fungsi biasanya ditulis dalam bentuk vektor A.

Misalnya, ekspresi berikut akan menjumlahkan dua file input pertama bersama-sama:

SEBUAH[0] + SEBUAH[1]

Beberapa ekspresi dapat diberikan dipisahkan oleh titik koma, dalam hal ini hanya nilai
ekspresi terakhir digunakan. Daftar ekspresi ini dapat digunakan dengan tugas
ekspresi untuk membuat sintaks sangat mirip C:

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

Daftar ekspresi dalam tanda kurung kurawal adalah ekspresi yang valid dan mengembalikan nilai last
ekspresi dalam daftar. Ini sangat berguna dalam untuk dan if ekspresi (lihat di bawah).

Ada dua jenis nilai dalam bahasa: vektor dan skalar. Skalar literal adalah
angka floating point atau mungkin muncul sebagai simbol yang namanya dimulai dengan huruf kecil.

Selain operator skalar normal seperti +, -, * dan /, bahasa ekspresi juga
mendukung operator eksponensial infiks ^ , operator relasional biasa <, <=, >,
>=, ==, != serta operator boolean && (dan), || (atau dan ! (bukan). Perhatikan bahwa
&& dan || operator boolean selalu mengevaluasi kedua operan, tidak seperti C. Matematika skalar
fungsi termasuk abs, persegi, exp, mencatat, dosa, sebab, tan, seperti dalam, acos dan atan. Ada juga
beberapa fungsi khusus:

isnan(v) - 1 jika v tidak valid dan 0 sebaliknya
penjepit(v1,v2,v3) - v1 dibatasi oleh [v2, v3]
segment(v1,v2,v3) - menguji apakah v1 ada di [v2, v3]

Konstanta skalar NaN didefinisikan sedemikian rupa sehingga isnan(NaN) menghasilkan 1.

Vektor dapat ditulis dalam bentuk `ekstensial' berikut

[ nilai1, nilai2, ... ]

atau dengan menggunakan notasi pembangkit rentang berikut:

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

atau dihasilkan, dengan `niat'. Ekspresi intensi berikut menghasilkan vektor
{3,2,1}:

{ saya dalam [1:3] | 4 - saya }

Vektor juga dapat muncul sebagai simbol yang namanya dimulai dengan huruf besar.

Selain operator skalar, operator vektor berikut disediakan:

avg - nilai rata-rata skalar dalam vektor
len - panjang
jumlah - jumlah elemen dari
prod - produk dari elemen
max - nilai maksimum dari
min - nilai minimum dari
imax - indeks dari nilai maksimum
imin - indeks dari nilai minimum
V[s] - elemen ke-s dari vektor V dengan asal 0.

Nama simbol dimasukkan ke dalam tabel simbol global dengan ekspresi penugasan dari
bentuk

Sebuah = SEBUAH[2] * mencatat(2)

Simbol yang dimulai dengan huruf kecil mewakili skalar sedangkan yang dimulai dengan
huruf besar mewakili vektor. Karena = adalah operator, hasilnya dapat digunakan dalam
ekspresi (seperti dalam C).

Beberapa konstruksi kontrol disediakan:

Untuk loop dapat dibuat untuk mengulang vektor, menetapkan setiap nilai ke simbol dan kemudian
mengevaluasi sebuah ekspresi. Ini dilakukan dengan ekspresi bentuk

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

yang setara dengan jumlah (A). Perhatikan bahwa ini mirip dengan menggunakan

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

sejak untuk konstruk sebenarnya adalah operator (walaupun biasanya hanya digunakan untuk
mengubah nilai simbol). Perhatikan juga bahwa tanpa "total" akhir, ekspresinya akan
tidak terlalu berguna karena hanya akan mengembalikan panjang vektor.

Seperti dalam C, daftar ekspresi dapat ditentukan dalam keriting:

jumlah=jumlah2 = 0;
untuk {i dalam [0:len(A))} {
jumlah = jumlah + A[i];
jumlah2 = jumlah2 + A[i]^2
}

Ada juga beberapa bentuk jika-maka-lagi membangun:

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

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

Grafik lain adalah opsional. Sekali lagi, konstruk if adalah operator, dan kemudian or lain
ekspresi dapat berupa daftar ekspresi dalam keriting, dalam hal ini nilai yang terakhir
ekspresi dikembalikan. jika lain ekspresi hilang, maka nilai 0 dikembalikan
ketika ekspresi pengujian adalah 0 (salah).

Keanehan utama dengan untuk dan if konstruksi adalah bahwa tidak seperti pernyataan C, mereka harus
dipisahkan dari ekspresi berikutnya dengan titik koma bahkan ketika daftar ekspresi di
keriting digunakan:

untuk saya dalam [0:len(A)) {total=total+A[i]} ; total/len(A)
if (A[i]>0) {hasil=2;} else {hasil=1} ; hasil*5

Cara alternatif untuk memperkenalkan nama simbol adalah melalui membiarkan-ekspresi. Misalnya,
ekspresi berikut akan selalu mengevaluasi ke 3:

misalkan a = 1, b = 2 dalam a + b

Ini awalnya dirancang untuk membuat variabel hanya dalam ekspresi yang dievaluasi,
tetapi modifikasi telah dilakukan sehingga tabel simbol global diubah.

CONTOH


Berikut adalah ekspresi untuk menghitung simpangan baku, dengan mempertimbangkan
kemungkinan data input tidak valid, yang diabaikan:

s0 = s1 = s2 = 0;

untuk { saya dalam [0:len(A)) } {
v=A[saya];
jika (!isnan(v)) {
s0 = s0 + 1;
s1 = s1 + v;
s2 = s2 + v*v;
}
};

jika (s0 > 1) {
kuadrat((s2 - s1*s1/s0) / (s0-1));
}
else {
tidak;
};

If terakhir dapat diubah untuk mengembalikan 0 jika s0 > 0 tetapi <= 1. Kami juga menghapus keriting
tanda kurung, tetapi tidak boleh ada ";" antara if dan else

jika (s0 > 1)
kuadrat((s2 - s1*s1/s0) / (s0-1))
lain jika (s0 > 0)
0
lain
Tidak

Jika kita menginginkan mean dan standar deviasi, kita dapat menggunakan -file keluar pilihan,
menjalankan perintah dengan

minccal -expfile stdev \
-outfile berarti mean.mnc \
-file keluar stdev stdev.mnc\
infile1.mnc infile2.mnc ...

Dan menggunakan file ekspresi (dengan bentuk ekspresi if yang lain):

s0 = s1 = s2 = 0;

untuk {i dalam [0:len(A))} {
v=A[saya];
jika (!isnan(v)) {
s0 = s0 + 1;
s1 = s1 + v;
s2 = s2 + v*v;
}
};

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

PERINGATAN


Beberapa hal yang harus Anda ingat...

Variabel vektor harus dimulai dengan huruf besar.

Nama variabel vektor tidak boleh salah satu dari kata kunci fungsi,
jumlah, len, prod, ... dll

Untuk loop dan ekspresi if selalu perlu dipisahkan dari ekspresi berikutnya dengan a
titik koma.

Tabel simbol bersifat global.

Operator Boolean && dan || selalu mengevaluasi kedua operan.

Catatan tentang paralelisme: Untuk alasan efisiensi, evaluasi dilakukan pada banyak voxel sekaligus
(jumlah voxel disebut sebagai lebar evaluasi dan diubah dengan
itu -eval_lebar pilihan). Konsekuensi aneh dari ini adalah bahwa kedua sisi if-else
pernyataan selalu dievaluasi (kecuali semua voxel memberikan hasil tes yang sama), tetapi
pernyataan dalam setiap konsekuen hanya dievaluasi pada voxel yang sesuai. Di
khususnya, entri dalam tabel simbol hanya dimodifikasi menurut topeng voxel. SEBUAH
efek samping dari ini adalah bahwa simbol vektor apa pun yang diatur dalam konsekuen if-else tidak boleh berubah
panjang simbol (walaupun bisa membuatnya) dan kedua sisi konsekuennya harus
setuju pada panjang simbol vektor yang mereka berdua modifikasi. Jika ini tidak jelas,
coba saja - program akan mengeluh jika tidak senang.

Gunakan minccal online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

  • 1
    turkdevops
    turkdevops
    TurkDevOps a ?k kaynak yaz?l?m
    geli?tirici topluluklar? DevTurks-Tim
    Taraf?ndan desteklenmektedir..
    Fitur: https://github.com/turkdevops https://turkdevops.g...
    Unduh turkdevops.dll
  • 2
    asammdf
    asammdf
    *asammdf* adalah pengurai Python yang cepat dan
    editor untuk ASAM (Asosiasi untuk
    Standarisasi Otomasi dan
    Sistem Pengukuran) MDF / MF4
    (Format Data Pengukuran...
    Unduh asammdf.dll
  • 3
    LAME (Lame Bukan Encoder MP3)
    LAME (Lame Bukan Encoder MP3)
    LAME adalah alat pendidikan yang akan digunakan
    untuk belajar tentang pengkodean MP3. Itu
    tujuan dari proyek LAME adalah untuk meningkatkan
    akustik psiko, kualitas dan kecepatan
    dari MP...
    Unduh LAME (Lame Aint an MP3 Encoder)
  • 4
    wxPython
    wxPython
    Satu set modul ekstensi Python yang
    bungkus kelas GUI lintas platform dari
    wxWidgets.. Pemirsa: Pengembang. Pengguna
    antarmuka: Sistem X Window (X11), Win32 ...
    Unduh wxPython.dll
  • 5
    manajer file paket
    manajer file paket
    Ini adalah pengelola file paket Total War
    proyek, mulai dari versi 1.7. SEBUAH
    pengenalan singkat ke Warscape
    modifikasi: ...
    Unduh packfilemanager.dll
  • 6
    IPerf2
    IPerf2
    Alat lalu lintas jaringan untuk mengukur
    Kinerja TCP dan UDP dengan metrik
    sekitar throughput dan latency. NS
    tujuan termasuk mempertahankan aktif
    kod iperf...
    Unduh IPerf2.dll
  • Lebih banyak lagi »

Perintah Linux

Ad