Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
VisNow – czytanie danych regularnych
Krzysztof S. Nowiński
2
Siatka - struktura+geometria
Siatka regularna równoległościenna Struktura tablicy lub 3-wymiarowej (komórki są odpowiednio odcinkami, czworokątami lub sześciościanami) Do opisu struktury wystarczą jej wymiary, np. 100x128x256
3
Geometria Geometria: siatka prostokątna Siatka równoległościenna
Najprostszy opis geometrii – brak opisu: Punkt (i,j,k) ma współrzędne i,j,k: Często wystarczający opis geometrii: rozmiary Wystarczy podać zakresy, np. [-1,1]x[-1,2]x[0,4] Siatka równoległościenna Punkt początkowy p0(x0,y0,z0) Wektory v0, (v1, v2) w zależności od wymiaru siatki określające komórkę elementarną. Punkt o indeksach (i,j,k) będzie leżał w p0+i*v0+j*v1+k*v2) Alternatywnie można podać wektory w0, (w1, w2) określające krawędzie całej siatki. Będzie wtedy np. v0=w0/(dim0-1) Siatka równoległościenna nieprostokątna pojawia się zwykle w krystalografii a niekiedy w obrazowaniu Siatka dowolna Opis: Tablica coords[nSpace*dim0(*dim1*dim2)] Wszystkie współrzędne muszą być explicite podane (przeczytane z pliku)
4
Pole: siatka + wartości
Wartości są przechowywane w komponentach name – nazwa używana przy wyborze komponenty type – typ danych w tablicy - od DataArray.BOOLEAN do DataArray.DOUBLE i DataArray.STRING veclen – 1 gdy dane skalarne, >1 gdy wektorowe nData – liczba elementów danych Dane w tablicy o długości veclen * nData Dodatkowo: Unit – nazwa jednostki fizycznej (przy tekście legendy barwnej) User data – do dowolnego wykorzystania przez użytkownika
5
Przykład I – prościej już się nie da
#VisNow regular field dims component ear byte file ear_uniform.vnd binary ear Wiersz obowiązkowy – VisNow rozpoznaje po nim plik Konieczne: pole będzie miało wymiary 100x100x100, czyli 106 punktów I jedną komponentę typu byte Plik binarny leży w tym samym katalogu I zawiera tablicę wartości naszej komponenty Wynik: najprostsza siatka sześcienna z danymi bajtowymi
6
Przykład II – trochę za mało danych
#VisNow regular field fdim x -1 1 y -1 1 z -1 1 component ear byte file=../AVSfld/ear.dat binary ear Wiersz obowiązkowy – VisNow rozpoznaje po nim plik Konieczne: pole będzie miało wymiary 80x80x30, Wypełni kostkę [-1,1]x[-1,1]x[-1,1] I jedną komponentę typu byte Plik binarny leży w sąsiednim katalogu I zawiera tablicę wartości naszej komponenty Wynik: prostopadłościenna siatka niejednorodna
7
Przykład III – z ukosa i nie od samego początku
#VisNow regular field field CT_sample, dim Origin 0 0 0 v v v component density byte file=../volume/CTsample.dat binary skip=13 density Wiersz obowiązkowy – VisNow rozpoznaje po nim plik Tym razem pole ma nazwę Punkt początkowy I wektory wyznaczające komórkę jednostkową I jedną komponentę typu byte Plik binarny leży w sąsiednim katalogu I zawiera tablicę wartości naszej komponenty Ale na początku trzeba pominąć 13 bajtów Wynik: siatka ukośnokątna
8
Przykład III – z ukosa i nie od samego początku
#VisNow regular field field CT_sample, dim Origin 0 0 0 v v v component density byte file=../volume/CTsample.dat binary skip=13 density Wiersz obowiązkowy – VisNow rozpoznaje po nim plik Tym razem pole ma nazwę Punkt początkowy I wektory wyznaczające komórkę jednostkową I jedną komponentę typu byte Plik binarny leży w sąsiednim katalogu I zawiera tablicę wartości naszej komponenty Ale na początku trzeba pominąć 13 bajtów Wynik: siatka ukośnokątna
9
Przykład IV – wszystko krzywe A ile danych…
#VisNow regular field field bluntfin, dim , coords component density float component momentum float, vector 3 component stagnation float file=../AVSfld/blntfinx.bin binary skip 12 coord.0 coord.1 coord.2 file=../AVSfld/blntfinq.bin binary skip 28 density momentum.0 momentum.1 momentum.2 stagnation Tym razem pole ma nazwę, wymiary i współrzędne czytane z pliku 3 komponenty float, w tym jedna wektorowa Plik binarny w sąsiednim katalogu 12 początkowych bajtów opuszczamy Kolejno czytamy pierwszą współrzędną wszystkich punktów, Następnie drugą i trzecią współrzędną W drugim pliku opuszczamy 28 bajtów i czytamy kolejno komponentę density, 3 składowe komponenty momentum i komponentę stagnation Każdy wiersz po wierszu file opisuje sekcję pliku Wynik: siatka krzywoliniowa
10
Przykład V A czas płynie…
#VisNow regular field field met, dim x y comp orography float, unit m comp 10_metre_wind float, veclen 2, unit m/s comp pressure_at_mean_sea_level float, unit Pa file 2011Dec02_00/00033 binary timestep 0 orography pressure_at_mean_sea_level end timestep 1 10_metre_wind …… Tym razem pole ma nazwę, zakres (prostokąt) i trzy komponenty typu float, w tym jedną wektorową z podanymi jednostkami fizycznymi Plik binarny zawiera kolejne kroki czasowe dla różnych chwil o różnej zawartości Uwaga: ponieważ sekcja zawiera po prostu 10_metre_wind, będzie czytana kolejno punktami: v0x,v0y,v1x,v1y,v2x,v2y…. – tak, jak jest przechowywana w pamięci
11
Dziękuję za uwagę!
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.