Questo è il comando mincgen che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
mincgen - Genera un file MINC da un file CDL.
SINOSSI
mincgen [-b] [-n] [-o nome_file minc] file di input
DESCRIZIONE
mingen genera un file MINC. L'ingresso a mingen è una descrizione di un file MINC in a
piccolo linguaggio noto come CDL (network Common Data form Language), descritto di seguito. se no
le opzioni sono specificate nell'invocazione mingen, controlla semplicemente la sintassi dell'input CDL
file, producendo messaggi di errore per eventuali violazioni della sintassi CDL. Altre opzioni possono essere
utilizzato per creare il file MINC corrispondente.
mingen può essere utilizzato con il programma companion mincdump per eseguire alcune semplici operazioni
su file MINC. Ad esempio, per rinominare una dimensione in un file MINC, utilizzare mincdump prendere un
Versione CDL del file MINC, modificare il file CDL per cambiare il nome delle dimensioni e
uso mingen per generare il file MINC corrispondente dal file CDL modificato.
VERSIONI
-b Crea un file MINC (binario). Se la -o l'opzione è assente, un nome di file predefinito sarà
essere costruito dal nome MINC (specificato dopo il netcdf or hdf5 parola chiave in
l'input) aggiungendo l'estensione `.mnc'. Se esiste già un file con il
nome specificato, verrà sovrascritto.
-o nome_file minc
Nome del file binario MINC creato. Se questa opzione è specificata, implica il
"-b" opzione. (Questa opzione è necessaria perché i file MINC non possono essere scritti
direttamente allo standard output, poiché lo standard output non è ricercabile.)
ESEMPI
Controlla la sintassi del file CDL `foo.cdl':
mincgen foo.cdl
Dal file CDL `foo.cdl', genera un file MINC binario equivalente chiamato `x.mnc':
mincgen -o x.mnc foo.cdl
USO
CDL Sintassi Sommario
Di seguito è riportato un esempio di sintassi CDL, che descrive un file MINC con diverse dimensioni denominate
(spazio x, spazio y e spazio z), variabili (spazio z, immagine), attributi variabili (intervallo_valido,
signtype) e alcuni dati. Le parole chiave CDL sono in grassetto. (Questo esempio ha lo scopo di
illustrare la sintassi; un vero file CDL avrebbe un set di attributi più completo, quindi
che i dati sarebbero più completamente autodescrittivi.)
netcdf foo { // un esempio di specifica MINC in CDL
dimensioni:
xspazio = 8;
yspazio = 8;
zspazio = 5;
variabili:
galleggiante xspazio;
galleggiante yspazio;
galleggiante zspazio(zspazio);
corto immagine(zspace,yspace,xspace);
doppio immagine-min(zspace)
doppio immagine-max(zspace)
// attributi variabili
immagine:valid_range = 0,5;
dati:
image-min = -1,-1,-1,-1,-1;
immagine-max = 1,1,1,1,1;
immagine =
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5;
zspazio = 0,2,3.5,7,10;
}
Tutte le istruzioni CDL sono terminate da un punto e virgola. È possibile utilizzare spazi, tabulazioni e nuove righe
liberamente per la leggibilità. I commenti possono seguire i caratteri `//' su qualsiasi riga.
Una descrizione CDL è composta da tre parti opzionali: dimensioni, variabilie dati,
iniziando con la parola chiave dimensioni:, variabili:e dati, rispettivamente. La variabile
la parte può contenere variabile dichiarazioni ed attributo assegnazioni.
UN MINC dimensione viene utilizzato per definire la forma di uno o più multidimensionali
variabili contenute nel file MINC. Una dimensione MINC ha un nome, una dimensione e possibilmente
diversi altri attributi.
A variabile rappresenta un array multidimensionale di valori dello stesso tipo. Una variabile ha
un nome, un tipo di dati e una forma descritta dal relativo elenco di dimensioni. Ogni variabile può
hanno anche associato gli attributi (vedi sotto) così come i valori dei dati. Il nome, il tipo di dati,
e la forma di una variabile sono specificate dalla sua dichiarazione nella variabile sezione di un CDL
descrizione. Una variabile può avere lo stesso nome di una dimensione; per convenzione come
variabile è unidimensionale e contiene le coordinate della dimensione che nomina.
Le dimensioni non devono avere variabili corrispondenti.
Una reteCDF attributo contiene informazioni su una variabile netCDF o sull'intero netCDF
insieme di dati. Gli attributi vengono utilizzati per specificare proprietà come unità, valori speciali, massimo
e valori minimi validi, fattori di scala, offset e parametri. Informazioni sugli attributi
è rappresentato da singoli valori o matrici di valori. Ad esempio, "unità" è un attributo
rappresentato da un array di caratteri come "celsius". Un attributo ha un associato
variabile, un nome, un tipo di dati, una lunghezza e un valore. A differenza delle variabili che sono
destinati ai dati, gli attributi sono destinati ai metadati (dati sui dati).
In CDL, un attributo è designato da una variabile e da un nome di attributo, separati da `:'. Esso
è possibile assegnare globale attributi non associati ad alcuna variabile al file come a
intero usando `:' prima del nome dell'attributo. Il tipo di dati di un attributo in CDL è
derivato dal tipo di valore ad esso assegnato. La lunghezza di un attributo è la
numero di valori di dati assegnati ad esso, o il numero di caratteri nella stringa di caratteri
ad esso assegnato. Più valori vengono assegnati ad attributi non di carattere separando
i valori con le virgole. Tutti i valori assegnati a un attributo devono essere dello stesso tipo.
I nomi delle dimensioni, delle variabili e degli attributi CDL devono iniziare con un carattere alfabetico
carattere o "_", ei caratteri successivi possono essere alfanumerici o "_" o "-".
Facoltativo dati sezione di una specifica CDL è dove le variabili possono essere inizializzate.
La sintassi di un'inizializzazione è semplice: un nome di variabile, un segno di uguale e una virgola.
elenco delimitato di costanti (eventualmente separate da spazi, tab e newline) terminato
con un punto e virgola. Per gli array multidimensionali, l'ultima dimensione varia più velocemente. così
per le matrici viene utilizzato l'ordine di riga anziché l'ordine di colonna. Se vengono forniti meno valori
di quanto necessario per riempire una variabile, viene esteso con un "valore di riempimento" dipendente dal tipo,
che può essere sovrascritto fornendo un valore per un attributo variabile distinto denominato
`_FillValue'. Non è necessario che i tipi di costanti corrispondano al tipo dichiarato per una variabile;
le coercizioni vengono eseguite per convertire i numeri interi in virgola mobile, ad esempio. La costante `_'
può essere utilizzato per designare il valore di riempimento per una variabile.
Primitivo Dati Tipi
serbatoio caratteri
byte 8-bit di dati
corto Interi con segno a 16 bit
lungo Interi con segno a 32 bit
int (sinonimo di lungo)
galleggiante IEEE in virgola mobile a precisione singola (32 bit)
di rose (sinonimo di galleggiante)
doppio IEEE in virgola mobile a doppia precisione (64 bit)
Fatta eccezione per il tipo di dati aggiunto byte e la mancanza di unsigned, CDL supporta lo stesso
tipi di dati primitivi come C. I nomi per i tipi di dati primitivi sono parole riservate in
CDL, quindi i nomi di variabili, dimensioni e attributi non devono essere nomi di tipo. In
dichiarazioni, i nomi dei tipi possono essere specificati in maiuscolo o minuscolo.
I byte differiscono dai caratteri in quanto sono destinati a contenere otto bit completi di dati,
e il byte zero non ha un significato speciale, come per i dati carattere.
I pantaloncini possono contenere valori compresi tra -32768 e 32767.
I long possono contenere valori compresi tra -2147483648 e 2147483647. int ed numero intero sono accettati come
sinonimi di lungo nelle dichiarazioni CDL. Ora che ci sono piattaforme con 64 bit
rappresentazioni per C long, potrebbe essere meglio usare il int sinonimo per evitare confusione.
I float possono contenere valori compresi tra circa -3.4+38 e 3.4+38. La loro rappresentazione esterna è
come numeri in virgola mobile a precisione singola normalizzati IEEE a 32 bit. di rose è accettato come a
sinonimo di galleggiante nelle dichiarazioni CDL.
I doppi possono contenere valori tra circa -1.7+308 e 1.7+308. La loro rappresentazione esterna
è come numeri in virgola mobile a doppia precisione normalizzati standard IEEE a 64 bit.
CDL Costante
Le costanti assegnate ad attributi o variabili possono essere di qualsiasi tipo MINC di base. Il
la sintassi per le costanti è simile alla sintassi C, tranne per il fatto che i suffissi di tipo devono essere aggiunti a
short e float per distinguerli da long e double.
A byte la costante è rappresentata da un singolo carattere o da una sequenza di escape di più caratteri
racchiuso tra virgolette singole. Per esempio,
'a' // ASCII 'a'
'\0' // un byte zero
'\n' // Carattere di nuova riga ASCII
'\33' // Carattere di escape ASCII (33 ottale)
'\x2b' // ASCII plus (2b esadecimale)
'\377' // 377 ottale = 255 decimale, non ASCII
Le costanti di carattere sono racchiuse tra virgolette. Un array di caratteri può essere rappresentato
come una stringa racchiusa tra virgolette. Vengono rispettate le solite convenzioni di escape della stringa C.
Per esempio
"a" // ASCII `a'
"Due\nrighe\n" // una stringa di 10 caratteri con due nuove righe incorporate
"a bell:\007" // una stringa contenente una campana ASCII
Nota che l'array di caratteri "a" si adatterebbe in una variabile di un elemento, poiché no
si presuppone il carattere NULL di terminazione. Tuttavia, un byte zero in un array di caratteri è
interpretato come la fine dei personaggi significativi dal mincdump programma, a seguire
la convenzione C. Pertanto, un byte NULL non dovrebbe essere incorporato in una stringa di caratteri
a meno che alla fine: usa il byte tipo di dati invece per array di byte che contengono lo zero
byte. MINC e CDL non hanno tipi di stringa, ma solo array di caratteri a lunghezza fissa, che possono
essere multidimensionale.
corto le costanti intere servono a rappresentare quantità con segno a 16 bit. Il modulo
di uno corto costante è una costante intera con una `s' o una `S' aggiunta. Se un corto
costante inizia con "0", viene interpretata come ottale, tranne che se inizia con "0x",
viene interpretato come una costante esadecimale. Per esempio:
-2s // un breve -2
0123s // ottale
0x7ffs //esadecimale
Lunghi le costanti intere servono a rappresentare quantità con segno a 32 bit. Il modulo
di uno lungo costante è una costante intera ordinaria, sebbene sia accettabile aggiungere an
'l' o 'L' opzionale. Se un lungo la costante inizia con "0", viene interpretata come ottale,
tranne che se inizia con "0x", viene interpretato come una costante esadecimale. Esempi
di valido lungo le costanti includono:
-2
1234567890L
0123 // ottale
0x7ff // esadecimale
Costanti in virgola mobile di tipo galleggiante sono appropriati per rappresentare la virgola mobile
dati con circa sette cifre significative di precisione. La forma di a galleggiante costante è
lo stesso di una costante in virgola mobile C con una `f' o una `F' aggiunta. Ad esempio il
seguenti sono tutti accettabili galleggiante costanti:
-2.0 segg
3.14159265358979f // verrà troncato con minore precisione
xnumx.f
Costanti in virgola mobile di tipo doppio sono appropriati per rappresentare la virgola mobile
dati con circa sedici cifre significative di precisione. La forma di a doppio costante è
lo stesso di una costante in virgola mobile C. È possibile aggiungere una "d" o una "D" facoltativa. Per
esempio i seguenti sono tutti accettabili doppio costanti:
all'2.0 ottobre
3.141592653589793
1.0e-20 mila
1.d
Usa mincgen online utilizzando i servizi onworks.net