NO331849B1 - Volumlegeme-gjengivelsesmiddel - Google Patents

Volumlegeme-gjengivelsesmiddel Download PDF

Info

Publication number
NO331849B1
NO331849B1 NO20034643A NO20034643A NO331849B1 NO 331849 B1 NO331849 B1 NO 331849B1 NO 20034643 A NO20034643 A NO 20034643A NO 20034643 A NO20034643 A NO 20034643A NO 331849 B1 NO331849 B1 NO 331849B1
Authority
NO
Norway
Prior art keywords
voxel
cell
volume
polyhedral
irregular
Prior art date
Application number
NO20034643A
Other languages
English (en)
Other versions
NO20034643L (no
NO20034643D0 (no
Inventor
Andres C Callegari
Original Assignee
Landmark Graphics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Landmark Graphics Corp filed Critical Landmark Graphics Corp
Publication of NO20034643D0 publication Critical patent/NO20034643D0/no
Publication of NO20034643L publication Critical patent/NO20034643L/no
Publication of NO331849B1 publication Critical patent/NO331849B1/no

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V1/00Seismology; Seismic or acoustic prospecting or detecting
    • G01V1/28Processing seismic data, e.g. for interpretation or for event detection
    • G01V1/30Analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20156Automatic seed setting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30181Earth observation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Environmental & Geological Engineering (AREA)
  • Acoustics & Sound (AREA)
  • Geophysics (AREA)
  • Geology (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Image Generation (AREA)
  • Amplifiers (AREA)
  • Paper (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Signal Processing Not Specific To The Method Of Recording And Reproducing (AREA)
  • Massaging Devices (AREA)
  • Bidet-Like Cleaning Device And Other Flush Toilet Accessories (AREA)

Abstract

Irregulære volumer innenfor ett eller flere tredimensjonale volum-datasett blir identifisert og ekstrahert i respons til kriterier (16). Prosesseringen omfatter det å automatisk finne en kjerne-voxel eller kjernecelle som oppfyller kriteriene og således tilhører et irregulært volum av interesse, og deretter identifisere celler relatert til kjernecellen ved en eller flere forbestemte relasjoner, som derfor også skal grupperes i det irregulære volumet. Informasjon av en passende type som identifiserer hver celle som relatert til andre celler og hørende til et irregulært volum, blir lagret i en datastruktur(12). Attributter eller egenskaper ved den identifiserte cellen blir lagret. Ekstraheringen og preprosesseringen gjør det mulig å gjengi (32) dem på et display og utføre boolske og aritmetiske operasjoner på dem.

Description

Oppfinnelsens område
Foreliggende oppfinnelse vedrører generelt prosessering, modellekstrahering, modellbearbeiding og grafisk gjengivelse av digitale data som representerer geologiske eller andre typer volumer, og mer spesifikt gjengivelse og analyse av irregulært formede volumer i volumelement(voxel)-baserte volumetriske data.
Beskrivelse av kjent teknikk
Geologer, geofysikere og andre analyserer seismiske data for formål så som å detektere tilstedeværelse og endring over tid av hydrokarbon-reservoarer eller andre undergrunnsattraksjoner. Seismiske data kan for eksempel frembringes ved å bevirke eksplosjoner eller på annen måte frigjøre energi inn i grunnen, og detektere og digitalisere den reflekterte seismiske energien ved anvendelse av en oppstilling av geofoner eller tilsvarende følere. De prosesserte, volumetriske seismiske dataene representerer et tredimensjonalt (3D) undergrunnsområde, typisk uttrykt i tids- eller dybdeenheter. Andre eksempler på metoder med slike volumetriske data kan frembringes og anvendes omfatter gravitasjons- og magnetfeltmåling. Dataene kan omfatte hvilke som helst av et stort antall attributter som fagmannen har identifisert som anvendelige eller mulige å avlede fra reflektert seismisk energi og feltmålinger, den mest vanlige av hvilke kanskje er amplituden til de reflekterte signalene.
Innsamlede 3D eller volum-datasett kan tolkes, lagres og på annen måte manipuleres i et hvilket som helst av flere tilgjengelige formater. Et format som blir mer og mer vanlig er det der hvert dataelement selv representerer et volum. Et slikt dataelement er kjent som en voxel (for "volumelement") eller en celle. Dersom for eksempel amplituden er den attributten som karakteriserer de innsamlede dataene, blir attributtverdiene representert av voxeler, hver kjennetegnet ved en amplitude. Med andre ord utgjøres datasettet av et antall voxeler, hver kjennetegnet ved en amplitude. Et seismisk volum-datasett omfatter vanligvis millioner eller til og med milliarder av voxeler, og kan kreve terabyte av datalagringsplass. Voxel-formater blir ofte anvendt ikke bare ved analyse av seismiske data, men også ved medisinsk avbildning og andre avbildningsdisipliner.
Analyse av volumetriske data omfatter typisk gjengivelses-, tolknings- og etterbearbeidingstrinn for å produsere en undergrunnsmodell eller for å gjengi en spesifikk 3D projeksjon av undergrunnsområdet. De fleste kommersielt tilgjengelige 3D-grafikkmotorer (f.eks. grafikkakseleratorkort for datamaskin-arbeidsstasjoner) har ikke voxel-primitiver, heller er de kun i stand til å interpretere punkter, linjer og polygoner så som triangler, fordi de er ment for gjengivelse av overflatebaserte representasjoner av 3D-objekter, dvs. hule skall, og ikke objekter som omfatter voxeler. Selv om det finnes enkelte voxel-baserte grafikkakseleratorer, er de ikke i stand til på en effektiv og kostnadseffektiv måte kombinere 2D og 3D primitiver, som er nødvendig for å implementere visse fremvisningstrekk, så som sfærisk bill-boarding og animering.
De kjente metodene for gjengivelse av voxel-data, så som strålekasting (raycasting) og palettering (splatting), produserer således bare 3D stillbilder fra et forbestemt betraktningsperspektiv. Ved strålekasting projiseres stråler fra iakttakerens origo, brukerens betraktningspunkt, eller gjennom et projeksjonsplan og videre inntil de krysser et datapunkt eller en serie av datapunkter. Dette eller disse punktene langs og rundt strålene blir prosessert, og den resulterende avbildningen tegnet på skjermen eller projeksjonsplanet. I palettering beregnes bidraget til den endelige avbildningen fra hver voxel i en forbestemt omegn. Voxeler blir konseptuelt eller virtuelt "kastet" ned på avbildningsplanet, slik at hver voxel i objektrommet etterlater et avtrykk i avbildningsrommet. Hvorvidt de blir anvendt for å gjengi overflatebaserte representasjoner av tredimensjonale objekter eller faktiske, dvs. voxel-baserte, tredimensjonale objekter, er disse metodene kun i stand til å gjengi en plan voxel-tilnærming, dvs. sirkulær eller kvadratisk i form uten en definert voxel-omegn, og er sterkt projeksjonsavhengig. Merk også at alle de kjente metoder for gjengivelse av voxel-data er beregningsmessig ressurskrevende med hensyn til programvare eller maskinvare, og krever kostbar og spesialisert maskinvare som har forskjellige begrensninger med hensyn til ytelse og visning. I tillegg påvirkes ytelsen til mange av disse algoritmene av hvorledes de traverserer minnet. Når minne blir traversert i forskjellige retninger, kan ytelsen til algoritmen variere avhengig av effektiviteten ved aksess av maskinvaren. Jo større arbeidsdatavolumet er, desto dårligere er evnen til å anvende maskinvarebufre på en effektiv måte.
Videre, uansett hvilken av de forskjellige voxel-gjengivelsesmetodene som blir anvendt, må hele volum-datasettet holdes i (maskinvare) minnet og endelig gjengis av 3D grafikk-maskinvare. For å gjengi et datavolum, må hele datasettet hentes/veksles inn fra en datalagringsenhet (dvs. RAM, harddisk, etc.) og rendres ved anvendelse av beregningstunge algoritmer og sendes til normalt ressursbegrenset 3D grafikk-maskinvare. Som følge av disse begrensningene kan gjengivelsen ta betydelig tid, avhengig av maskinvaren som blir anvendt. Gjengivelseskvalitet, interaktive høynivå visningsmuligheter og interaktiv skjermrespons er av betydelig viktighet for personer så som geologer og geofysikere som kan ønske til betrakte en modell fra mange forskjellige retninger eller betraktningspunkter, sammenlikne forskjellige modeller med hverandre og på annen måte manipulere dem i sin analyse av undergrunnstrekk vedrørende olje- og gassreservoarer.
Det er ofte ønsket å identifisere, isolere og fokusere på spesifikke trekk og/eller avvikende områder innenfor et volum, så som de i forbindelse med potensielle olje- og gassreservoarer i seismiske volumer eller de i forbindelse med organer, ben og tumorer i medisinske volumer. Slike trekk kan refereres til som irregulære volumer fordi de ikke har en regulær eller forutsigbar form. Strålekasting, punkt-palettering og selv nyere rene voxel-gjengivelsesskjemaer er ikke i stand til på en enkel måte å separere eller på annen måte jobbe med slike irregulære volumer separat fra hele arbeidsdatavolumet, fordi i de fleste tilfeller (dvs. ved anvendelse av maskinvarestyrt 3D eller 2D teksturering) hele arbeidsdatavolumet til slutt blir sendt og gjengitt i sin helhet av 3D grafikk-maskinvare. Bildet som genereres av 3D-maskinvaren kan grafisk og delvis isolere visse særtrekk på skjermen, men dette er lite annet enn en flyktig eller frosset avbildning av datavolumet fra én enkelt, spesifikk retning. Det vil si at, selv om en bruker vil kunne se en særegenhet i bildet, så er ikke særegenheten representert separat i datamaskin-logikken atskilt fra omgivelsesdataene. Det kan imidlertid hende at en bruker kun er interessert i et spesifikt irregulært volum eller en gruppe av irregulære volumer og ikke i volumet som helhet, eller er interessert i å utføre en gitt attributt-avbildningsoperasjon eller betrakte kun et spesifikt irregulært volum eller et sett av irregulære volumer. For eksempel kan en ønske å betrakte en serie av avbildninger, som hver representerer samme irregulære volum eller gruppe av irregulære volumer ved et forskjellig tidspunkt, for å vurdere hvorledes det eller de irregulære volumene kan ha endret seg over tid, for eksempel etter hvert som olje eller gass blir hentet ut. Konvensjonelle gjengivelsessystemer krever at en gjengir hvert volum-datasett i sin helhet for å se hvorledes det irregulære volumet av interesse representert i dette så ut på det tidspunktet datasettet ble samlet inn.
Praktikere på området har forsøkt å finne en løsning på den manglende muligheten til å jobbe med individuelle irregulære volumer ved møysommelig å identifisere dem ved anvendelse av øyeblikksbildene, og ekstrahere hvert av dem fra volum-datasett. Denne prosessen kan være meget tungvint og omstendelig dersom det er mye støy i dataene eller dersom objektene er mange og små i størrelse. For eksempel har det vært foreslått algoritmer der en, ved anvendelse av forskjellige øyeblikksbilder fra forskjellige vinkler, visuelt identifiserer et kjernepunkt eller en kjerne-voxel som tilhører et irregulært volum og deretter anvender separat, spesialkodet programvare for å ekstrahere alle de gjensidig tilliggende voxeler som antas å tilhøre samme irregulære volum. Det er imidlertid ineffektivt, arbeidskrevende og tidkrevende å anvende en slik fremgangsmåte og arbeidsprosedyre for å identifisere et stort antall irregulære volumer. Problemet forøkes betydelig dersom en er interessert i å identifisere alle de irregulære volumene i et meget stort datasett. Videre er det ikke foreslått noe praktisk og effektivt middel for ytterligere manipulering eller analyse av irregulære volumer frembragt på denne måten.
Det ville være ønskelig å tilveiebringe et effektivt system for å identifisere, gjengi og på annen måte jobbe med individuelle irregulære volumer representert i ett eller flere volum-datasett. Foreliggende oppfinnelse adresserer disse problemene og manglene i tillegg til andre på måten som er beskrevet nedenfor.
Gargantini et. al. "Adaptive Display of Linear Octrees" Computer and Graphics, vol. 13, nr. 3 sidene 337 - 343, 1989 beskriver en algoritme for volumgjengivelse som transformerer et objekt inntil to dimensjonal pikselrepresentasjon.
Sammendrag for oppfinnelsen
Foreliggende oppfinnelse vedrører identifisering, lagring, grafisk gjengivelse og utførelse av andre volumetriske operasjoner på irregulære volumer representert i et format som omfatter voxeler eller tredimensjonale celler. De volumetriske inndataene kan for eksempel være av den typen som blir samlet inn i geologiske undersøkelser der det er ønsket å identifisere og jobbe med irregulære volumer som representerer hydrokarbonforekomster, saltlegemer eller beslektede geologiske særegenheter.
For å identifisere et irregulært volum blir kriterier tilveiebragt av en bruker eller etablert på annen måte som beskriver egenskaper ved et irregulært volum av interesse, og hvert av ett eller flere volum-datasett blir matet inn og prosessert ved å søke gjennom det etter irregulære volumer som oppfyller disse kriteriene. Prosesseringen omfatter å automatisk finne en kjerne-voxel eller kjernecelle som oppfyller kriteriene og således tilhører et irregulært volum av interesse, og deretter identifisere celler som er relatert til kjernecellen ved én eller flere forbestemte relasjoner og som derfor også skal grupperes i dette irregulære volumet. De forbestemte relasjonene kan for eksempel være at cellene i det irregulære volumet grenser til andre celler i det irregulære volumet eller befinner seg innenfor en forbestemt avstand fra et forbestemt punkt, at cellene i det irregulære volumet oppfyller forbestemte wavelet-betingelser, at cellene tilhører et irregulært volum innenfor et forbestemt størrelsesintervall eller en hvilken som helst annen passende, forbestemt relasjon. Informasjon, som kan være av en hvilken som helst passende type, som identifiserer hver slik celle som relatert til andre celler og hørende til et irregulært volum lagres i en passende datastruktur. Beliggenheten eller tilsvarende omegnsinformasjon samt andre data som beskriver egenskaper eller attributter ved den identifiserte cellen lagres også.
Et innmatet volum trenger ikke bli prosessert i sin helhet på den ovenfor beskrevne måten. I stedet kan en utstrekning bli spesifisert av en bruker eller på annen måte etablert som identifiserer en avgrenset andel av det innmatede volumet. Det å dele inn et innmatet volum i slike andeler eller biter muliggjør at disse kan bli prosessert (idet "prosessering" kan omfatte fremvisning) separat, for eksempel i et flertrådet, flerpipet, parallell-prosesserende eller tilsvarende fleroppgave-datasystem, eller bli prosessert av forskjellige datasystemer eller til forskjellige tider.
Ettersom celle-datastrukturene kan aksesseres individuelt, tilfeldig og effektivt, kan utvalgte deler av ett eller flere av de identifiserte irregulære volumene bli gjengitt på en skjerm eller gjennomgå annen prosessering, for eksempel sammenlikning med hverandre, fletting, oppdeling i ytterligere irregulære volumer, anvendelse av filtre på dem, anvendelse av én som en mal for å utføre operasjoner på et annet irregulært volumsett, og hvilke som helst andre passende boolske, aritmetiske og algoritmiske operasjoner. Hver voxel eller celle inneholder all informasjon som er nødvendig for full rendring. Konvensjonelle kun-gjengivelse metoder, så som strålekasting og palettering, kan modifiseres til å anvende de nye datastrukturene ifølge foreliggende oppfinnelse, men fordi posisjonen til og andre egenskaper ved hver voxel i det irregulære volumet eller den delen av dette som skal gjengis er forbestemt, kan slike konvensjonelle gjengivelsesmetoder gjøres mindre beregningsmessig komplekse og kan således utføres raskere og mer effektivt.
Irregulære volumer på hvilke slike operasjoner blir utført kan også være identifisert i ett enkelt innmatet volum eller i forskjellige innmatede volumer. Med andre ord kan operasjoner bli utført på tvers av de irregulære volumene identifisert i flere volum-datasett.
I et annet aspekt ved oppfinnelsen kan data bli preprosessert for å konvertere dem til nye voxel-primitiver. Hver irregulære volum-voxel er representert ved et polyeder der tilstanden til flatene (f.eks. "på" eller "av") er lagret i et bit-array. Annen informasjon, så som flatenormaler, posisjon og tilsvarende rendringsparametere som er kjente for fagmannen kan også være lagret. Flatene kan lett konverteres til enda lavere primitiver, så som trekanter eller firkanter, dersom det for eksempel er ønsket til gjengi dataene ved anvendelse av et grafikkakseleratorkort som ikke støtter voxel-primitiver.
Selv om de illustrerte utførelsesformene av oppfinnelsen vedrører seismiske volumdata, kan foreliggende oppfinnelse anvendes med hvilke som helst passende volumdata, for eksempel de anvendt ved medisinsk avbildning og andre disipliner. Det skal forstås at både den foregående generelle beskrivelsen og den følgende detaljerte beskrivelsen kun er eksempler og forklarende og ikke begrensende for oppfinnelsen, som definert i kravene.
Kort beskrivelse av figurene
De vedlagte figurene illustrerer én eller flere utførelsesformer av oppfinnelsen og, sammen med den skriftlige beskrivelsen, tjener til å forklare prinsippene ifølge oppfinnelsen. Der det er mulig er samme referansenumre anvendt i alle figurene for å henvise til like eller tilsvarende elementer i en utførelsesform, og: Figur 1 illustrerer et datasystem i et eksempel på utførelsesform av oppfinnelsen, Figur 2 er et flytdiagram som illustrerer en fremgangsmåte for identifisering og lagring av irregulære volumer samt gjengivelse og utførelse av andre operasjoner på dem, Figur 3A er et flytdiagram som illustrerer oppdelings- eller preprosesseringstrinnet i figur 2,
Figur 3B er en fortsettelse av figur 3A,
Figur 3C er en fortsettelse av figurene 3A-B,
Figur 3D er en fortsettelse av figurene 3A-C,
Figur 3E er en fortsettelse av figurene 3A-D,
Figur 3F er en fortsettelse av figurene 3A-E,
Figur 3G er en fortsettelse av figurene 3A-F,
Figur 3H er en fortsettelse av figurene 3A-G, og
Figur 31 er en fortsettelse av figurene 3A-H.
Detaljert beskrivelse av oppfinnelsen
En person kan anvende en datamaskin, generelt illustrert i figur 1, for å bevirke identifisering, prosessering, gjengivelse av et irregulært volum (IV) og andre operasjoner ifølge foreliggende oppfinnelse. Som beskrevet nedenfor, som følge av de nye algoritmene og fremgangsmåtene ifølge foreliggende oppfinnelse, trenger ikke datamaskinen være en kraftig grafikk-arbeidsstasjon av den typen som konvensjonelt anvendes for å rendre komplekse tredimensjonale datasett, så som en som vanligvis anvendes for geologisk undergrunnsanalyse, i stedet, i noen utførelsesformer av oppfinnelsen, kan den være en vanlig personlig datamaskin eller til og med en bærbar-type datamaskin som har relativt begrenset minne-, grafikk og prosesseringskapasitet. En egnet datamaskin har for eksempel en prosessor 10, et hovedminne 12 i hvilket programmer og data er lagret under operasjon, inndata/utdata-kontroller 14, en harddisk 16 eller en tilsvarende anordning hvor programmer og data lagres på en ikke-volatil måte, et tastatur 18, en mus eller tilsvarende pekeranordning 20 samt en videoskjerm eller annen skjermanordning 22 på hvilken irregulære volumer 23 kan bli rendret. En grafikkakselerator 24 av typen som vanligvis er inkludert i personlige datamaskiner for å lette tredimensjonal gjengivelse kan også være tilveiebragt. Som fagmannen forstår omfatter datamaskinen andre maskinvare- og programvarekomponenter som ikke er illustrert for oversiktens skyld, men som vanligvis er omfattet i slike datamaskiner. Selv om bare én prosessor 10 er illustrert for oversiktens skyld, kan det finnes flere sentralprosesseringsenheter (CPU-er) og systemet kan være flerpipet eller omfatte en klynge, slik at prosessering kan bli utført av flere CPU-er eller datamaskiner og gjengivelsen av voxel-primitiver (beskrevet nedenfor) kan bli utført av flere uavhengige systemer eller grafikkvisning-undersystemer.
Vist som konseptuelt residerende eller lagret i minnet 12 er følgende programvarekomponenter: en oppdelingsprosessor 26, kjerne-data 28, datastrukturer 30, en postprosessor 31, samt en rendrer 32. Som fagmannen forstår er disse programvarekomponentene vist som lagret i minnet 12 for det formål å konseptuelt illustrere den programmerte datamaskinen, og trenger ikke faktisk befinne seg der samtidig eller i sin helhet, heller vil deler av programmer og data vedrørende foreliggende oppfinnelse bli generert, lagret, fjernet og på annen måte anbringes i minnet etter behov, primært under styring av prosessoren 10 i henhold til programmeringen av denne. Slike programvarekomponenter eller deler av dem kan bli overført mellom harddisken 16 og minnet 12 ved behov på den konvensjonelle måten som er kjent for fagmannen. Programmene (koden) kan være lagret på harddisken 16, idet den er lastet fra et CD-ROM (ikke vist) eller en annen flyttbar disk, en fjernlokalisert datamaskin via en nettverksforbindelse (ikke vist) eller andre kilder for datamaskin-eksekverbar programkode. Oppdelingsprosessoren 26, postprosessoren 31 og rendringsanordningen 32 er hovedkomponenter av programvaren, andre mer konvensjonelle komponenter av programvaren, så som et passende brukergrensesnitt, er ikke vist for oversiktens skyld, men vil være åpenbare for fagmannen i lys av disse idéene. Foreliggende oppfinnelse kan således realiseres ikke bare som en fremgangsmåte og et system, men også som et datamaskin-anvendbart medium eller programprodukt i hvilket det er lagret programvareelementer. Som angitt ovenfor befinner andre programvareelementer seg til tider og i hvert fall delvis i minnet 12, men er ikke vist for oversiktens skyld, omfattende for eksempel et passende operativsystem, så som MICROSOFT WINDOWS, UNIX eller LINUX.
Som illustrert i figur 2, omfatter hovedtrinnene i fremgangsmåten ifølge foreliggende oppfinnelse et oppdelings- eller preprosesseringstrinn 34, én eller flere irregulært volum (IV)-operasjoner 36 og et rendringstrinn 38. Før preprosesseringstrinnet 34 blir et volum-datasett innmatet i trinn 40. Volum-datasettet i den illustrerte utførelsesformen av oppfinnelsen kan være av typen som er vanlig å anvende ved geologiske undergrunnsanalyser. Et slikt datasett omfatter typisk et stort antall, ofte flere millioner eller milliarder, datapunkter eller celler i det tredimensjonale rommet som hvert representerer verdien til en attributt så som amplituden til et akustisk signal som er reflektert fra en undergrunnstrekk i et punkt eller en celle i et tredimensjonalt volum. Med andre ord representerer datasettet et undergrunnsvolum. Volumet kan inneholde ett eller flere irregulære volumer som representerer hydrokarbon-reservarer eller andre volumetriske trekk som kan skjelnes fra volumet som helhet på grunnlag av attributtverdiene. Som beskrevet mer detaljert nedenfor kan foreliggende oppfinnelse identifisere hvilke som helst slike irregulære volumer og lagre representasjoner av dem i datastrukturer på en måte som letter effektiv og hurtig utførelse av operasjoner på dem og gjengivelse av dem.
Trinn 40 kan også omfatte angivelse av en "utstrekning." Nærmere bestemt kan en bruker selektere kun en andel eller delmengde av et volum-datasett å sende til preprosesseringstrinnet 34. På denne måten, under styring av brukeren eller en automatisert algoritme, kan et volum-datasett bli delt inn i andeler eller delmengder, slik at bare de som er av interesse blir prosessert eller slik at de forskjellige andelene kan bli prosessert separat. Oppdeling av volum-datasett på denne måten er spesielt fordelaktig for datasystemer med multitasking eller flerprosessering, i hvilke prosesseringen i trinn 34 kan bli utført hovedsaklig parallelt i flere tråder, idet én tråd kan prosessere én andel mens en annen tråd prosesserer en annen andel.
Preprosesseringstrinnet 34 omfatter et trinn 42 med traversering av cellene i det innmatede volum-datasettet inntil en kjernecelle blir funnet som oppfyller visse forbestemte kriterier for et IV som er av interesse for brukeren. Deretter, i trinn 44, blir andre celler identifisert som er relatert til kjernecellen på en forbestemt måte. For eksempel kan de være relatert ved nærliggenhet eller tilstøting. Som beskrevet nedenfor kan trinn 44 bli utført i en rekursiv algoritme. Informasjon som beskriver hver identifiserte celle lagres i en datastruktur i trinn 46. Informasjonen kan for eksempel omfatte en attributtverdi så som amplitude som beskriver egenskaper ved cellen, en angivelse av lokasjonen til den identifiserte cellen i volum-datasettet som helhet eller en annen referanseramme, samt en identifikator som entydig identifiserer den identifiserte cellen som tilhørende det identifiserte irregulære volumet. Hver slik celle blir således merket for å identifisere det irregulære volumet til hvilket den tilhører. En celle "tilhører" i den forstand at den er relatert til andre celler i det irregulære volumet på en forbestemt måte, for eksempel ved romlig nærhet (dvs. at celler ligger innenfor en forbestemt eller valgt avstand fra hverandre eller et referansepunkt eller at celler ligger innenfor en forbestemt eller valgt omegn), ved wavelet-karakteristika eller ved en annen attributt eller restriksjon. Trinnene 42, 44 og 46 utføres inntil alle celler som tilhører hvert irregulære volum i det innmatede volum-datasettet har blitt identifisert. Merk at mer enn ett volum-datasett eller én seksjon av dette kan bli prosessert på denne måten. De resulterende irregulære volumene som har blitt identifisert og lagret kan således være inneholdt i forskjellige volumer. For eksempel kan det være ønsket å preprosessere flere volum-datasett som representerer øyeblikksbilder av samme undergrunnsvolum ved forskjellige tidspunkter, slik at de irregulære volumene i dem kan bli sammenliknet for å se hvorledes formasjoner, så som hydrokarbon-reservoarer, kan ha endret seg over tid.
Det er i IV-prosesseringstrinnet 36 at slike sammenlikninger og andre operasjoner kan bli utført. For eksempel, for å sammenlikne to irregulære volumer som representerer øyeblikksbilder av samme undergrunnsvolum ved forskjellige tidspunkter for å bestemme hvordan det har endret seg, kan en utføre en boolsk OG- eller snittoperasjon. Andre operasjoner kan omfatte en boolsk ELLER- eller union-operasjon, aritmetiske operasjoner, gradient-operasjoner og hvilke som helst andre operasjoner kjent på området for å bli utført på geologiske eller tilsvarende volumdata. Disse operasjonene kan bli utført meget effektivt fordi datastrukturene inneholder all nødvendig informasjon, så som lokasjonen til hver celle og dens attributtverdier, det opprinnelige datasettet trenger ikke aksesseres på nytt.
Selv om gradient-operasjoner, for eksempel, er godt forstått av fagmannen, kan trinnene omfatte (i tilfellet der voxel-primitivet, som beskrevet nedenfor, er et heksaeder eller en kube) bestemmelse av normalene til hver flate av heksaederet og beregning av gradienten (fnormal) ved anvendelse av den velkjente sentrerte differanser-metoden.
De lagrede irregulære volumene eller hvilke som helst irregulære volumer som måtte resultere fra operasjonene i trinn 36 kan bli vist i gjengivelsestrinnet 38. En hvilken som helst egnet tredimensjonal gjengivelsesmetode kjent på området kan anvendes. Ikke desto mindre kan trinn 38 alternativt eller i tillegg omfatte en ny rendringsmetode ifølge foreliggende oppfinnelse som konverterer eller transformerer de lagrede dataene til voxel-(polyeder)-grafikkprimitiver og, i noen utførelsesformer av oppfinnelsen, til enklere (f.eks. polygoner, punkter, linjer) grafikkprimitiver. For eksempel kan en bruker i trinn 48 velge et IV å gjengi. I trinn 50 kan det aktuelle irregulære volumet bli konvertert til en polyedrisk voxel-representasjon. For eksempel kan hver celle være representert som et kubisk voxel eller som konuser (for å tilveiebringe en vektorpeker (vector cue)). Betegnelsen "voxel" blir anvendt i denne patentsøknaden for å referere til en programrepresentasjon av et tredimensjonalt volumetrisk objekt som omfatter informasjon som er tilstrekkelig til å gjengi det og utføre annen prosessering på det uten å ty til konvensjonelle approksimative tredimensjonale gjengivelsesalgoritmer så som strålekasting eller teksturskjemaer. Betegnelsen "celle" refererer til det motsvarende rå volumetriske objektet som ikke omfatter slik rendringsinformasjon, selv om det kan omfatte attributt-informasjon og annen informasjon. I den illustrerte utførelsesformen av oppfinnelsen er det definert et eksempel på bit-streng som omfatter seks bit, som hver angir tilstanden til én flate av kuben. Dersom en bit er "1", skal flaten vises, dvs. at den er "på". Dersom nevnte bit er "0", skal ikke flaten vises, dvs. at den er "av". En annen bit i strengen kan angi hvorvidt voxelen i sin helhet er "på" eller "av", ettersom det enkelte ganger er ønsket å vise alle flater. En annen bit i strengen kan angi hvorvidt voxelen er selektert. Seleksjon refererer til en type operasjon som en bruker kan utføre for å velge en andel for gjennomføring av en operasjon på. En selektert andel av et IV kan for eksempel bli vist med en annen farge enn ikke-selekterte andeler. Ved transformering av en celle til et polyedrisk voxel-primitiv kan det opprettes en annen bit-streng (f.eks. 48 bit) som angir voxelens posisjon, i tillegg til nok en annen streng (e. g., 12 bit-oktetter) som angir normal-informasjonen. Som kjent på området blir normal-informasjon anvendt av 3D-grafikkmotorer for å bestemme passende skygging basert på lys reflektert fra objektet med hensyn til betraktningspunktet og én eller flere lyskilder.
I utførelsesformer av oppfinnelsen der grafikkakseleratoren 24 aksepterer voxel-primitiver som inndata, kan de resulterende voxel-dataene bli tilveiebragt direkte til grafikkakseleratoren 24 for gjengivelse i trinn 54.1 utførelsesformer der grafikkakseleratoren 24 kun aksepterer de mer konvensjonelle primitivene, så som punkter, linjer og polygoner, kan hver voxel bli konvertert til slike primitiver i trinn 52. For eksempel kan hver flate av en kube bli delt inn i to trekanter. Trekanter er et vanlig akseptert primitiv i mange kommersielt tilgjengelige grafikkakseleratorer 24.
Depopulering kan også bli utført i trinn 50. Depopulering referer til en skaleringsoperasjon som gjengir dataene ved anvendelse av færre voxeler når brukerens betraktningspunkt er lengre vekk fra avbildningen enn når brukerens betraktningspunkt er nærmere. Med andre ord, dersom avbildningen betraktes fra lang avstand, kan flere voxeler bli gjengitt som én enkelt voxel. Trinn 50 responderer således til inndata fra et brukergrensesnitt som angir avstanden fra betraktningspunktet til avbildningen. Hver celle kan bli asynkront depopulert under prosessering/rendring ettersom hver celle inneholder posisjons- og tilstandsinformasjon. Depopuleringen kan utføres under gjengivelse eller prosessering avhengig av de ønskede resultater. For eksempel kan det være ønsket å blande flere attributter i et IV ved å gjengi dem ved forskjellige depopuleringslokasjoner.
Figurene 3A-I illustrerer et eksempel på preprosesseringstrinnet 34 mer detaljert. I trinn 56 identifiserer eller selekterer brukeren et volum-datasett å jobbe med. Brukeren kan også selektere en utstrekning eller andel av datasettet å jobbe med. Brukeren kan således selektivt dele inn datasettet i flere deler og prosessere bare noen av dem eller få datamaskinen til å prosessere dem separat, f.eks. ved parallellprosessering. Som et alternativ til at brukeren deler opp datasettet, kan det automatisk bli inndelt i et forbestemt antall andeler.
I trinn 58, dersom brukeren har angitt at det skal utføres en union-operasjon mellom to eller flere irregulære volumer, blir trinn 60 utført. Trinn 60 er illustrert mer detaljert i figur 3G. Som illustrert i figur 3G, dersom det i trinn 62 bestemmes at et boolsk volum ikke eksisterer, allokeres et i minnet i trinn 64. Dersom et eksisterer, blir det nullstilt i trinn 66.1 trinn 68 blir styreceller initialisert og satt. Dette betyr at en serie av felter i en datastruktur blir merket for å angi at det skal utføres en boolsk operasjon. Prosesseringen returnerer til trinn 70 i figur 3A.
Et array av rekursive strukturer blir anvendt for å redusere den mengden av minne i stakken som maskinvaresystemet ellers ville trenge. Nærmere bestemt, hver gang en rekursiv funksjon anropes, blir en ramme som inneholder funksjonsargumenter og andre data instansiert på stakken. Arrayet av rekursive strukturer flytter forbruket av minne til allokeringsminnet (the heap), der minne dynamisk blir allokert og deallokert og således ikke er en like begrenset ressurs som det er på stakken. Dersom det i trinn 70 bestemmes at en slik array ikke eksisterer, allokeres en i trinn 72.
Et bit-volum er et objekt hvis bit-elementer avbilder én-til-én til hver enhet eller hvert element i det opprinnelige datavolum-arrayet. Nærmere bestemt anvender det et 1-bits element for hvert 8, 16, 32, 64, etc, bitverdi-element. Bit-arrayobjektet kan anvendes for å fjerne behovet for utførelse av søk eller sortering, og tilveiebringer en struktur for å opprettholde traverseringstilstanden. Et teller-bitvolum blir anvendt i tilknytning til det opprinnelige datavolumet for ytterligere å fjerne støy ved å ta vare på en initiell IV-størrelsesberegning. Det tilveiebringer også en måte å begrense størrelsen til irregulære volumer og celler som skal aksepteres. Det kan også blir anvendt som en maske for områder som ikke skal prosesseres. Teller-bitvolumet fungerer ved å tilveiebringe et av/på avkryssingsskjema og ved å fjerne behovet for søkeskjemaer, som er uoverkommelige ved prosessering av store datavolumer. Dette er fordi at ettersom aksessen er tilfeldig, tiden som er nødvendig for å aksessere en celle ikke avhenger av mengden av eller størrelsen på dataene. Dersom det i trinn 74 bestemmes at det eksisterer et teller-bitvolum, blir det nullstilt i trinn 76. Dersom et slikt ikke eksisterer, opprettes et i trinn 78.
Et status-bitvolum blir anvendt, i tilknytning til det opprinnelige datavolumet, for å opprettholde prosesseringens traverseringsstatus (for å holde rede på hvilke celler som er prosessert for ikke å prosessere en celle på nytt). Status-bitvolumet bidrar også ved utførelse av boolske operasjoner mellom irregulære volumer og ved samtidig prosessering av sett av irregulære volumer fra forskjellige volum-datasett. Det blir også anvendt ved fletting av forskjellige irregulære datavolum-datasett opprettet ved oppdeling av det opprinnelige datasettet i mindre datasett som skal prosesseres i separate tråder eller på annen måte prosesseres separat. Dersom det i trinn 80 bestemmes at det eksisterer et status-bitvolum, blir det nullstilt i trinn 82. Desom et slikt sett ikke eksisterer, opprettes et i trinn 84.
En løkke startes i trinn 85 der celler fra det innsendte volum-datasettet blir prosessert. Trinn 86 tilveiebringer statusinformasjon, så som hvorvidt minnekravene er oversteget, via brukergrensesnittet. I trinn 88 bestemmes det hvorvidt den da testede cellen oppfyller forbestemte kriterier for en kjernecelle. Den testede cellen ansees å være en kjernecelle dersom: (1) attributten oppfyller forbestemte terskelkrav, (2) den aktuelle status-bit ikke er satt i status-bitvolumet, (3) den aktuelle teller-bit ikke er satt i teller-bitvolumet, (4) cellen til venstre for den testede cellen ikke er en gyldig celle, (5) cellen over den testede cellen ikke er en gyldig celle, og (6) cellen foran den testede cellen ikke er en gyldig celle. Betingelse (1) betyr at attributten blir sammenliknet med én eller flere forbestemte terskeler. En terskel kan for eksempel være verdien til én enkelt attributt, så som amplitude. For eksempel kan det være ønsket å ikke ta hensyn til testede celler som ikke har en amplitude som overstiger en gitt terskelverdi. Betingelse (2) betyr at algoritmen enda ikke har prosessert denne cellen, og at den således fortsatt er kandidat for identifikasjon som en celle i det da prosesserte IV eller som kjernecelle for et annet IV. Dersom den teller-bit for hvilken betingelse (3) vedrører er satt, betyr det at en annen søkeprosess allerede har betraktet denne cellen som kjernecelle-kandidat og at cellen enten allerede er prosessert eller at det IV til hvilket cellen tilhører ikke oppfylte en forbestemt minimumsstørrelse-terskelverdi. (Et meget lite IV kan representere støy heller enn et undergrunnstrekk som brukeren ville være interessert i.) Betingelsene (4), (5) og (6) refererer til rekkefølgen med hvilken cellene i det innmatede volum-datasettet blir prosessert: venstre mot høyre, deretter topp mot bunn og deretter bakfra og forover. Dersom den øverste, venstre eller fremre cellen allerede er prosessert og funnet å være gyldig, er den testede cellen allerede prosessert og kan forkastes som kjernecelle-kandidat. Merk at betingelsene beskrevet ovenfor som definerer kriteriene for en kjernecelle kun er eksempler, ytterligere kriterier eller færre kriterier kan bli anvendt.
Merk at selv om cellene blir traversert fra én celle til en tilgrensende celle inntil en kjernecelle blir funnet, så er ikke prosedyren begrenset til dette. I tillegg til å traversere fra celle til celle basert på slik romlig nærhet, kan prosedyren i andre utførelsesformer traversere fra celle til celle basert på en traverserings-eller omegnsplan-tabell eller en hvilken som helst annen egnet mekanisme for å traversere fra én celle til en annen (ikke nødvendigvis romlig nærliggende) celle.
Dersom en kjernecelle blir funnet, startes da en rekursiv prosess i trinn 90 der det irregulære volumet til hvilket kjernecellen tilhører blir tilordnet en master-identifikator og hver celle i dette irregulære volumet blir identifisert og lagt til i en IV-celleteller. Informasjon som beskriver hver identifiserte celle, så som dens posisjon og identifikatoren som identifiserer det irregulære volumet til hvilket den tilhører, blir lagret i en datastruktur hørende til denne cellen. Den rekursive "prosessere IV fra kjernecelle"-prosessen er beskrevet mer i detalj nedenfor. Prosessen med å søke etter kjerneceller og prosessere det irregulære volumet til hvilket hver identifiserte kjernecelle tilhører blir gjentatt inntil det i trinn 92 bestemmes at alle celler i det innmatede volum-datasettet har blitt testet.
Forskjellige postprosesseringsoperasjoner kan lett utføres når de irregulære volumene i det innmatede volumet har blitt identifisert og lagret. Disse operasjonene er hovedsaklig de som er kjent innenfor tidligere teknikk for å være av interesse for geologer og andre brukere av et slikt system. For eksempel er union-operasjoner og projeksjonsoperasjoner velkjente. I alle fall gjør preprosesseringen at slike operasjoner kan bli utført mye mer effektivt og raskt enn dersom konvensjonelle algoritmer blir anvendt for å utføre dem, ettersom det ikke er behov for å reprosessere hele datavolumer og generere resulterende volumer av samme størrelse. Dersom det for eksempel i trinn 94 bestemmes at brukeren har angitt at det skal utføres en union-operasjon, blir da i trinn 96 en union-prosessering som drar nytte av preprosesseringen utført som beskrevet nedenfor. Dersom det i trinn 98 bestemmes at brukeren har angitt at det skal utføres en projeksjonsoperasjon, blir da i trinn 100 en projeksjonsoperasjon som drar nytte av preprosessingen utført. I konvensjonelle systemer blir strålekasting eller andre komplekse algoritmer anvendt for å utføre projeksjons- og visningsoperasjoner. I foreliggende oppfinnelse er projisering et enkelt trinn som fagmannen lett vil være i stand til å implementere. Ett enkelt sett av geometrisk informasjon kan bli lastet ned til maskinvaren og gjengitt kontinuerlig kun ved å endre visningsparametere. Trinn 102 angir at hvilke som helst andre slike velkjente operasjoner kan bli utført før nedlasting.
For eksempel er én operasjon som kan bli utført i trinn 102 på et identifisert IV projeksjonsvisning av minste eller største attributt. Det irregulære volumet prosesseres på en slik måte at alle celler som har en egenskap som identifiserer dem som randceller, dvs. celler på den utvendige voxel-overflaten av det irregulære volumet, mottar en ny attributtverdi. Kolonner av celler fra det irregulære volumet blir prosessert ved å bestemme antallet voxeler mellom den øverste cellen, dvs. randcellen, og en ikke-eksisterende celle i bit-volumet. Bit-volumet er merket med alle de eksisterende cellene. Attributtverdiene til de øverste cellene blir deretter sammenliknet med de fortløpende etterfølgende, eksisterende cellene i kolonnen. Den største, eller i andre tilfeller minste, attributtverdien erstatter attributtverdien fra den øverste cellen. Samme operasjon blir utført for de nederste cellene. Denne projeksjonen kan utføres ved anvendelse av en normalvektor eller en visnings/projeksjonsvektor som er tilveiebragt.
I trinn 104 kan administrative oppgaver så som sletting av status- og teller-bitvolumene og heap/stakk-minneressursene bli utført før prosesseringen terminerer.
Union-prosesseringen i trinn 96 er illustrert i figurene 3H-I. I trinn 106 blir neste celle som skal prosesseres fra det valgte irregulære volumet identifisert og den motsvarende datastrukturen i det boolske volumet blir undersøkt. For eksempel bestemmes det i trinn 108 hvorvidt "OG"-bitverdien i datastrukturen er satt, hvilket angir at det skal utføres en boolsk operasjon etter prosesseringen og alle cellene således skal merkes i henhold til dette for korrekt å korrelere de aktuelle prosesseringscellene. Dersom den er satt, settes da snittoperasjon-bitverdien i den motsvarende posisjonen i det resulterende volumet, dvs. et volum som representerer resultatene av interseksjonen. Dersom det i trinn 112 bestemmes at flere celler i det valgte IV skal prosesseres, returnerer prosesseringen til trinn 106. Når alle cellene er prosessert, bestemmes det i trinn 114 hvorvidt en m_ORA-bit er satt og cellen eksisterer i det boolske bit-volumets respektive posisjon. Dersom den er satt, blir i trinn 116 visse celle-felter som ikke er av interesse, dvs. ikke skal prosesseres, nullet. Ett slikt felt kan være et synlig/AKTIV-felt som angir hvorvidt cellen er aktivert, dvs. skal være synlig når den gjengis. Et annet kan være et flagg som blir satt når prosesseringen angir at en celle skal slettes, men enda ikke faktisk har blitt fjernet. ORA er et felt som angir at det kun finnes én celle i denne romlige posisjonen ved dette tidspunktet. Ikke noe annet IV inneholder noen celle med denne posisjonen. Denne initialiseringen gjentas for hver celle, som angitt av trinnene 118 og 120. Når alle celler er prosessert, blir i trinn 122 IV-identifikatorene flettet dersom det innmatede datasettet har blitt prosessert i deler (dvs. ved definering av utstrekninger). Alternativt, i andre utførelsesformer, vil flettingen kunne bli utført ved et senere tidspunkt eller på en annen måte, for eksempel på en annen datamaskin.
I trinn 124 bestemmes det om OG-cellene er aktivert, dvs. hvorvidt de skal være synlige eller ikke i det resulterende irregulære volumet når dette blir vist. Dersom de er aktivert, representerer trinn 126 en passende aktiveringsrutine eller-metode "activateORAcellsOnly". Denne rutinen isolerer og merker alle celler som er identifisert ved anvendelse av ELLER-celleoperasjonen, og som kan vises for prosessering. I trinn 128 bestemmes det om "ORA"-cellene er aktivert, dvs. hvorvidt de skal være synlige eller ikke i det resulterende irregulære volumet når dette blir vist. Dersom de er aktivert, representerer trinn 130 en passende aktiveringsrutine eller-metode "selectANDcellsOnly". Denne rutinen identifiserer celler som oppfyller en boolsk OG-betingelse, som kan være at to celler eksisterer i to forskjellige irregulære volumer fra ett eller flere datasett eller for senere prosessering av celler som har samme romlige posisjon. I trinn 132 bestemmes det om OG-cellene er selektert, dvs. hvorvidt de skal vises i en særegen farge når det resulterende irregulære volumet blir vist. Dersom de er selektert, representerer trinn 134 en passende rutine eller metode som isolerer celler som kun eksisterer i det første volumet. For eksempel blir celler isolert dersom en boolsk OG-operasjon skal utføres mellom to sameksisterende irregulære volumer, men det er ønsket å rendre kun de felles cellene som eksisterer kun i det første irregulære volumet. I trinn 136 bestemmes det om det første irregulære volumet (av de to som undergår union-operasjonen) er aktivert, dvs. hvorvidt det irregulære volumet som helhet skal være synlig eller ikke i det resulterende irregulære volumet når det blir vist. Dersom det er aktivert, representerer trinn 138 en passende rutine eller metode for gjengivelse av kun de merkede cellene som eksisterer i det andre irregulære volumet. I trinn 140 bestemmes det hvorvidt det andre irregulære volumet (det andre av de to som undergår union-operasjonen) er aktivert, dvs. hvorvidt det irregulære volumet som helhet skal være synlig eller ikke i det resulterende irregulære volumet når dette blir vist. Dersom det er aktivert, representerer trinn 142 en passende rutine eller metode tilsvarende den representert ved trinn 130, men hvor cellene ikke blir entydig merket med en valgt farge ved gjengivelse. Til slutt, i trinn 144, blir noen administrative oppgaver, så som sletting av tabellinformasjon, omlasting av tabellinformasjon og sletting av det midlertidige boolske volumet, utført før prosesseringen returnerer til trinn 96 og fortsetter i trinn 98 som beskrevet ovenfor.
Den rekursive hovedfunksjonen som kalles i trinn 90 er illustrert i figurene 3D-F. Som angitt ovenfor ekstraherer eller identifiserer denne funksjonen resten av cellene som tilhører det irregulære volumet til hvilket kjernecellen tilhører. Dersom det i trinn 146 bestemmes at antallet hittil talte celler av det gjeldende irregulære volumet, dvs. det irregulære volumet som blir prosessert, ikke er lavere enn en forbestemt maksimumsverdi, returnerer funksjonskallet i trinn 148 ettersom dette indikerer en feil eller et problem. Dersom det i trinn 150 bestemmes at den aktuelle cellen, dvs. den cellen som da undergår prosessering, ikke ligger innenfor den valgte utstrekningen eller undervolumet, returnerer funksjonskallet i trinn 152 ettersom dette indikerer en feil eller et problem. Dersom det i trinn 154 bestemmes at den aktuelle cellen allerede er prosessert (av et tidligere rekursivt kall), returnerer da funksjonskallet i trinn 156. Som angitt ovenfor angir status-bitverdien hvorvidt en celle er prosessert. Dersom ingen av disse betingelsene resulterer i tidlig retur fra funksjonkallet, fortsetter prosesseringen i trinn 158, der status-bitverdien i den motsvarende celleposisjonen i status-bitvolumet blir satt.
Dersom det i trinn 160 bestemmes at den aktuelle cellen er en kjernecelle, blir da, fordi den er den første cellen i det irregulære volumet som prosesseres, en teller TotalBodycount, som representerer det totale antallet innvendige og utvendige celler, satt til null i en IV-tabell. IV-tabellen blir anvendt for å opprettholde objektinformasjon og statistikk (men ikke informasjon som beskriver individuelle celler i det irregulære volumet). Koordinatene eller lokasjonen til kjernecellen blir lagret i tabellen. Kjerne-attributten blir lagret i cellens datastruktur, som inneholder all informasjon som er relevant for hver celle, så som beliggenhet, normal, flate-informasjon, osv. Lagring av informasjon vedrørende kjernecellen, omfattende dens lokasjon, er fordelaktig fordi det gjør det mulig å ekstrahere et IV uten at det er nødvendig å søke etter en kjernecelle.
Trinnene 164, 166, 168, 170, 172 og 174 spør henholdsvis hvorvidt det eksisterer en celle til høyre for, til venstre for, under, over, bak og foran den aktuelle cellen. Trinn 176 spør tilsvarende om noen av de andre 20 naboene til en celle eksisterer, så som øvre-fremre-høyre, øvre-fremre-venstre, etc. Merk at en kubisk celle totalt har 26 naboer. Dersom noen slik tilgrensende celle eksisterer, går prosessen til trinn 178, der randcelle-indeksen, som er et flagg som angir hvorvidt cellen befinner seg på den utvendige overflaten eller randen til det irregulære volumet, blir satt til korrekt verdi. Deretter, dersom det i trinn 180 bestemmes at den aktuelle cellen er en randcelle, settes i trinn 182 et randcelle-flagg til True, og neste offset-verdi blir satt. Offset-verdien er en verdi som angir hvor cellen befinner seg i et lineært array som representerer bit-arrayet eller attributt-arrayet. Det vil si at alle bit-volumer og data-arrayer har samme offset-verdi for en celle i en gitt romlig posisjon. Lagring av informasjon som angir hvorvidt en celle er en randcelle gjør det mulig å gjengi randen raskt dersom en bruker kun ønsker å se voxel-overflaten av et IV.
I trinn 184 bestemmes det hvorvidt den tilgrensende cellen er prosessert. Den tilgrensende cellen er den som ligger til høyre for, til venstre for, under, over, bak eller foran den aktuelle cellen, avhengig av hvilke av trinnene 154-174 som returnerte et sant resultat, eller True. Dersom den tilgrensende cellen ikke er prosessert, fortsetter prosesseringen etter det ene av trinnene 154-174 som returnerte True. Dersom den tilgrensende cellen ikke er prosessert, blir da funksjonen angitt i trinn 90 og illustrert i figurene 3D-F anropt på nytt. Funksjonen kaller således seg selv rekursivt inntil alle celler som tilhører det gjeldende irregulære volumet er identifisert og lagret.
Hver gang den rekursive hovedfunksjonen returnerer, fortsetter prosesseringen i trinn 186, der telleren for det totale antallet celler i det gjelsende irregulære volumet blir inkrementert. Deretter, i trinn 188, bestemmes det hvorvidt brukeren har valgt å prosessere hele det irregulære volumet eller kun dets randceller. Dersom kun randceller er valgt, settes da i trinn 190 et maksimum-flagg og funksjonen returnerer igjen. Et maksimum-flagg er et datafelt som opprettholder en teller for antallet funnede celler. Når telleren har nådd en forbestemt maksimumsverdi, blir maksimum-flagget satt, hvorpå ingen flere celler blir prosessert og prosesseringen stoppes. Dersom alle celler skal prosesseres, blir da i trinn 192 informasjon som beskriver cellen lagret i en celle-spesifikk datastruktur. Én slik datastruktur eksisterer for hver celle i hvert IV. Spesifikt kan den lagrede informasjonen omfatte, blant annet, koordinatene eller beliggenheten til den aktuelle cellen, en cellelegeme-identifikator som entydig identifiserer cellen, en attributtverdi vedrørende cellen (f.eks. amplitude) og omegnsinformasjon. Attributtverdien er nyttig fordi ett IV kan bli anvendt som mal for effektivt å ekstrahere attributtverdier fra andre irregulære volumer. Omegnsinformasjonen er en kodet bit-streng som angir hvor den aktuelle cellens naboer eksisterer. For eksempel blir en bit satt til "1" dersom den aktuelle cellen har en nabo på sin venstre side, en annen bit blir satt til "1" dersom den aktuelle cellen har en nabo over seg, osv. Synlighetsinformasjonen vedrørende den polyedriske flaten sammenfaller med og deduseres fra informasjonen over. Dersom det for eksempel blir anvendt et heksaeder (en kube) og det ikke eksisterer en nabocelle over den, betyr da dette at den øverste voxel-kubens flate vil være synlig, ettersom den vender mot utsiden av det irregulære volumet. Dersom det eksisterer en nabo som ligger mot bunnen av cellen, vil da flate-synligheten være "av" for den nederste kubens flate, ettersom den vender mot innsiden av det irregulære volumet.
Dersom det i trinn 194 bestemmes at en boolsk operasjon blir utført på det gjeldende irregulære volumet, blir da cellene fra ett eller flere irregulære volumer sammenliknet i trinn 196, og deres datastruktur-felter blir oppdatert for korrekt gjengivelse. Dersom en for eksempel ønsker alle felles celler, vil da feltet rn AND til alle OG-cellene bli satt til "1". Funksjonskallet returnerer deretter i trinn 190.
Merk at når det aller første av de rekursive funksjonskallene returnerer, prosesseringen fortsetter fra trinn 90. Som beskrevet over kan prosesseringen som følger trinn 90 omfatte ikke bare visning av de irregulære volumene som har blitt identifisert og lagret, men også union-operasjoner, projeksjonsoperasjoner og hvilke som helst andre operasjoner som er kjente for fagmannen fordi all den informasjonen som er nødvendig for å utføre slike operasjoner på en enkel måte har blitt lagret i datastrukturene. Selv om slike konvensjonelle operasjoner kan utføres ved anvendelse av hvilke som helst passende algoritmer eller metoder, skal en merke seg at prosessen med å gjengi en avbildning kan utføres ved anvendelse av den nye rendringsmetoden beskrevet ovenfor med hensyn til trinn 38 (figur 2).
Et unikt særtrekk ved den ovenfor beskrevne algoritmen er at all rendringsgeometri kun trenger å bli beregnet én gang. Tidligere voxel/pseudovoxel-algoritmer kjent på området, så som strålekasting, palettering og tekstur-baserte rendringsskjemaer, må beregne sin geometri på nytt hver gang en ramme skal gjengis og/eller når gjengivelsesbildets retning endrer seg. I tillegg letter det nye algoritmiske voxel-primitivet beskrevet over økonomisk tilveiebringelse av et ekte 3D maskinvare-voxelprimitiv som anvender konvensjonell, kommersielt tilgjengelig 3D-maskinvare.
Det skal også bemerkes at ved å bryte opp hele volumet i romlige delkomponenter (irregulære volumer), dataene lett kan deles i grupper for å balansere systemets eksekverings- og rendringsytelse i flerpipede og flertrådede systemer. Til sammenlikning må andre algoritmer gjennomføre kompliserte databehandlingsskjemaer og utføre forskjellige typer beregninger hver gang de gjengir en ramme og/eller hver gang gjengivelsesbildets retning endrer seg.
Det vil være klart for fagmannen at forskjellige modifikasjoner og varianter av foreliggende oppfinnelse er mulige innenfor oppfinnelsens ramme. Andre utførelsesformer av oppfinnelsen vil være åpenbare for fagmannen fra en gjennomgang av spesifikasjonen og praktisering av oppfinnelsen beskrevet her. Det er tilsiktet at spesifikasjonen og eksemplene kun skal ansees som eksempler, idet oppfinnelsens virkelige ramme bestemmes av de følgende kravene.

Claims (12)

1. Fremgangsmåte for voxel-koding av et volum-datasett som omfatter et antall celler, omfattende de trinn å: definere et antall polyedriske voxeler, hver polyedriske voxel svarende til én celle, lagre en representasjon av hver polyedriske voxel i et dataminne, der representasjonen omfatter en flate-streng som har flere bit og en posisjon-streng som har flere bit, idet hver bit i flate-strengen svarer til én flate av den polyedriske voxelen og har en verdi som angir hvorvidt flaten skal vises og idet posisjon-strengen har en verdi som angir en tredimensjonal romlig posisjon for den polyedriske voxelen, og gjengi representasjonen til hver polyedrisk voxel, der flate-strengen for i det minste en polyedrisk voxelrepresentasjon har et bit med en verdi som indikerer at i det minste en flate skal gjengis for en intern celle.
2. Fremgangsmåte ifølge krav 1, der trinnet av å gjengi representasjonen til hver polyedriske voxel omfatter å å transformere hver flate eller voxel som skal vises, til et primitiv valgt fra gruppen bestående av: punkt, linje og polygon.
3. Fremgangsmåte ifølge krav 1, der representasjonen av hver polyedriske voxel lagret i et minne videre omfatter en bit som angir hvorvidt voxelen er selektert.
4. Fremgangsmåte ifølge krav 1, der representasjonen av hver polyedriske voxel lagret i et minne videre omfatter en normal-streng som har en verdi som angir skygging av hver flate som skal vises.
5. Fremgangsmåte ifølge krav 1, der: hver polyedriske voxel representeres som en kube med seks flater, og hver bit i flate-strengen har en verdi som angir hvorvidt flaten skal vises.
6. Fremgangsmåte ifølge krav 5, der: det trinn å transformere hver flate som skal vises, til et primitiv, omfatter det å dele inn en flate i to triangelen
7. Dataprogram-produkt for voxel-koding av et volum-datasett som omfatter et antall celler, omfattende et datamaskin-anvendbart medium som inneholder deri: midler for å definere et antall polyedriske voxeler, hvor hver polyedriske voxel svarer til én celle, midler for å lagre en representasjon av hver polyedriske voxel i et dataminne, idet representasjonen omfatter en flate-streng som har flere bit og en posisjon-streng som har flere bit, idet hver bit i flate-strengen svarer til én flate av den polyedriske voxelen og har en verdi som angir hvorvidt flaten skal vises, og idet posisjon-strengen har en verdi som angir en tredimensjonal romlig posisjon for den polyedriske voxelen, og midler for å gjengi representasjonen til hver polyedrisk voxel, der flate-strengen for i det minste en polyedrisk voxelrepresentasjon har et bit med en verdi som indikerer at i det minste en flate skal gjengis for en intern celle..
8. Dataprogram-produkt ifølge krav 7, der midlene for å gjengi representasjonen av hver polyedrisk voxel omfatter midler for å gjengi polyedriske voxeler ved å transformere hver flate som skal vises, til et primitiv valgt fra gruppen bestående av: punkt, linje og polygon.
9. Dataprogram-produkt ifølge krav 7, der representasjonen av hver polyedriske voxel som er lagret i et dataminne, videre omfatter en bit som angir hvorvidt voxelen er selektert.
10. Dataprogram-produkt ifølge krav 7, der representasjonen av hver polyedriske voxel som er lagret i et dataminne, videre omfatter en normal-streng som har en verdi som angir skygging av hver flate som skal vises.
11. Dataprogram-produkt ifølge krav 7, der: hver polyedriske voxel er representert som en kube som har seks flater, og hver bit i flate-strengen har en verdi som angir hvorvidt flaten skal vises.
12. Dataprogram-produkt ifølge krav 69, videre omfattende et middel for å transformere hver flate som skal vises, til et primitiv, omfatter det å dele inn en flate i to triangeler.
NO20034643A 2001-04-18 2003-10-17 Volumlegeme-gjengivelsesmiddel NO331849B1 (no)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28471601P 2001-04-18 2001-04-18
PCT/US2002/012160 WO2002086796A1 (en) 2001-04-18 2002-04-17 Volume body renderer

Publications (3)

Publication Number Publication Date
NO20034643D0 NO20034643D0 (no) 2003-10-17
NO20034643L NO20034643L (no) 2003-12-17
NO331849B1 true NO331849B1 (no) 2012-04-23

Family

ID=23091252

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20034643A NO331849B1 (no) 2001-04-18 2003-10-17 Volumlegeme-gjengivelsesmiddel

Country Status (10)

Country Link
US (3) US7412363B2 (no)
EP (2) EP2362346B1 (no)
AT (1) ATE541274T1 (no)
AU (1) AU2002256265C1 (no)
CA (4) CA2936404C (no)
DK (2) DK1381998T3 (no)
ES (1) ES2378357T3 (no)
NO (1) NO331849B1 (no)
PT (1) PT1381998E (no)
WO (1) WO2002086796A1 (no)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2378357T3 (es) * 2001-04-18 2012-04-11 Landmark Graphics Corporation Dispositivo de renderizado de cuerpos volumétricos
US7356178B2 (en) * 2002-12-31 2008-04-08 Koninklijke Philips Electronics N.V. System and method for improved multiple-dimension image displays
JP3855053B2 (ja) * 2003-01-30 2006-12-06 国立大学法人 東京大学 画像処理装置、画像処理方法、及び画像処理プログラム
US7298376B2 (en) * 2003-07-28 2007-11-20 Landmark Graphics Corporation System and method for real-time co-rendering of multiple attributes
US7711532B2 (en) * 2004-06-02 2010-05-04 Paradigm France Method for building a three dimensional cellular partition of a geological domain
JP4424188B2 (ja) * 2004-12-10 2010-03-03 トヨタ自動車株式会社 内燃機関の制御装置
EP2102823B8 (en) * 2007-01-05 2016-06-29 Landmark Graphics Corporation Systems and methods for visualizing multiple volumetric data sets in real time
US8150663B2 (en) * 2007-03-30 2012-04-03 Paradigm Geophysical (Luxembourg) S.A.R.L. Partitioning algorithm for building a stratigraphic grid
EP2223157A4 (en) 2007-12-13 2016-12-07 Exxonmobil Upstream Res Co ITERATIVE TANK SURVEILLANCE
US8884964B2 (en) 2008-04-22 2014-11-11 Exxonmobil Upstream Research Company Functional-based knowledge analysis in a 2D and 3D visual environment
BRPI0909958A2 (pt) * 2008-06-06 2015-10-20 Landmark Graphics Corp dispositivos e métodos para ixibir um volume tridimensional dos dados de uma grade geometricamente irregulares representando o volume da grade
WO2010039317A1 (en) * 2008-10-01 2010-04-08 Exxonmobil Upstream Research Company Robust well trajectory planning
EP2356611B1 (en) * 2008-11-06 2018-08-29 Exxonmobil Upstream Research Company System and method for planning a drilling operation
US8711140B1 (en) 2009-06-01 2014-04-29 Paradigm Sciences Ltd. Systems and methods for building axes, co-axes and paleo-geographic coordinates related to a stratified geological volume
US9536022B1 (en) 2009-06-01 2017-01-03 Paradigm Sciences Ltd. Systems and methods for modeling faults in the subsurface
US8600708B1 (en) 2009-06-01 2013-12-03 Paradigm Sciences Ltd. Systems and processes for building multiple equiprobable coherent geometrical models of the subsurface
US9418182B2 (en) 2009-06-01 2016-08-16 Paradigm Sciences Ltd. Systems and methods for building axes, co-axes and paleo-geographic coordinates related to a stratified geological volume
JP2011022727A (ja) * 2009-07-14 2011-02-03 Sony Corp 画像処理装置および画像処理方法
US8933960B2 (en) * 2009-08-14 2015-01-13 Apple Inc. Image alteration techniques
US8922558B2 (en) * 2009-09-25 2014-12-30 Landmark Graphics Corporation Drawing graphical objects in a 3D subsurface environment
US8743115B1 (en) 2009-10-23 2014-06-03 Paradigm Sciences Ltd. Systems and methods for coordinated editing of seismic data in dual model
EP2531694B1 (en) 2010-02-03 2018-06-06 Exxonmobil Upstream Research Company Method for using dynamic target region for well path/drill center optimization
US8731872B2 (en) * 2010-03-08 2014-05-20 Exxonmobil Upstream Research Company System and method for providing data corresponding to physical objects
US9367564B2 (en) 2010-03-12 2016-06-14 Exxonmobil Upstream Research Company Dynamic grouping of domain objects via smart groups
US20110227934A1 (en) * 2010-03-19 2011-09-22 Microsoft Corporation Architecture for Volume Rendering
US8731887B2 (en) 2010-04-12 2014-05-20 Exxonmobile Upstream Research Company System and method for obtaining a model of data describing a physical structure
US8727017B2 (en) 2010-04-22 2014-05-20 Exxonmobil Upstream Research Company System and method for obtaining data on an unstructured grid
US8731873B2 (en) 2010-04-26 2014-05-20 Exxonmobil Upstream Research Company System and method for providing data corresponding to physical objects
US9134454B2 (en) 2010-04-30 2015-09-15 Exxonmobil Upstream Research Company Method and system for finite volume simulation of flow
CA2803066A1 (en) 2010-07-29 2012-02-02 Exxonmobil Upstream Research Company Methods and systems for machine-learning based simulation of flow
EP2599032A4 (en) 2010-07-29 2018-01-17 Exxonmobil Upstream Research Company Method and system for reservoir modeling
WO2012015518A2 (en) 2010-07-29 2012-02-02 Exxonmobil Upstream Research Company Methods and systems for machine-learning based simulation of flow
US9123161B2 (en) 2010-08-04 2015-09-01 Exxonmobil Upstream Research Company System and method for summarizing data on an unstructured grid
US8731875B2 (en) 2010-08-13 2014-05-20 Exxonmobil Upstream Research Company System and method for providing data corresponding to physical objects
AU2011293804B2 (en) 2010-08-24 2016-08-11 Exxonmobil Upstream Research Company System and method for planning a well path
CA2807300C (en) 2010-09-20 2017-01-03 Exxonmobil Upstream Research Company Flexible and adaptive formulations for complex reservoir simulations
US9466127B2 (en) * 2010-09-30 2016-10-11 Apple Inc. Image alteration techniques
US8819017B2 (en) * 2010-10-15 2014-08-26 Microsoft Corporation Affinitizing datasets based on efficient query processing
CA2823017A1 (en) 2011-01-26 2012-08-02 Exxonmobil Upstream Research Company Method of reservoir compartment analysis using topological structure in 3d earth model
TWI421793B (zh) * 2011-01-31 2014-01-01 Univ Nat Taipei Technology 資料處理系統和方法
CA2822890A1 (en) 2011-02-21 2012-08-30 Exxonmobil Upstream Research Company Reservoir connectivity analysis in a 3d earth model
US9223594B2 (en) 2011-07-01 2015-12-29 Exxonmobil Upstream Research Company Plug-in installer framework
WO2013039606A1 (en) 2011-09-15 2013-03-21 Exxonmobil Upstream Research Company Optimized matrix and vector operations in instruction limited algorithms that perform eos calculations
US9645275B2 (en) * 2011-09-22 2017-05-09 Schlumberger Technology Corporation Integrated dip from 3D resistivity tool and borehole imaging tool
US10114134B2 (en) 2012-03-02 2018-10-30 Emerson Paradigm Holding Llc Systems and methods for generating a geological model honoring horizons and faults
CN102651144A (zh) * 2012-03-30 2012-08-29 北京师范大学 一种地质体线性八叉树快速动态生成的方法
US9759826B2 (en) 2012-04-03 2017-09-12 Paradigm Sciences Ltd. System and method for generating an implicit model of geological horizons
US9595129B2 (en) 2012-05-08 2017-03-14 Exxonmobil Upstream Research Company Canvas control for 3D data volume processing
EP2901363A4 (en) 2012-09-28 2016-06-01 Exxonmobil Upstream Res Co ERROR REMOVAL IN GEOLOGICAL MODELS
EP3418778B1 (en) 2013-03-15 2020-07-15 Emerson Paradigm Holding LLC Systems and methods to build sedimentary attributes
US9224235B2 (en) * 2013-03-20 2015-12-29 Nvidia Corporation System, method, and computer program product for compression of a bounding volume hierarchy
WO2014200685A2 (en) 2013-06-10 2014-12-18 Exxonmobil Upstream Research Company Interactively planning a well site
US9864098B2 (en) 2013-09-30 2018-01-09 Exxonmobil Upstream Research Company Method and system of interactive drill center and well planning evaluation and optimization
US20150120264A1 (en) * 2013-10-28 2015-04-30 Schlumberger Technology Corporation Resevoir model tuning with complex parameter interactions
US10795053B2 (en) 2013-10-29 2020-10-06 Emerson Paradigm Holding Llc Systems and methods of multi-scale meshing for geologic time modeling
US10422923B2 (en) 2014-03-28 2019-09-24 Emerson Paradigm Holding Llc Systems and methods for modeling fracture networks in reservoir volumes from microseismic events
EP3175265A1 (en) 2014-07-30 2017-06-07 ExxonMobil Upstream Research Company Method for volumetric grid generation in a domain with heterogeneous material properties
EP3213126A1 (en) 2014-10-31 2017-09-06 Exxonmobil Upstream Research Company Handling domain discontinuity in a subsurface grid model with the help of grid optimization techniques
AU2015339883B2 (en) 2014-10-31 2018-03-29 Exxonmobil Upstream Research Company Methods to handle discontinuity in constructing design space for faulted subsurface model using moving least squares
US9460563B2 (en) * 2014-11-28 2016-10-04 Biosense Webster (Israel) Ltd. Differential mapping of a body organ
US9690002B2 (en) 2015-06-18 2017-06-27 Paradigm Sciences Ltd. Device, system and method for geological-time refinement
WO2016205265A1 (en) * 2015-06-19 2016-12-22 Schlumberger Technology Corporation Efficient algorithms for volume visualization on irregular grids
US10466388B2 (en) 2016-09-07 2019-11-05 Emerson Paradigm Holding Llc System and method for editing geological models by switching between volume-based models and surface-based structural models augmented with stratigraphic fiber bundles
CA3043231C (en) 2016-12-23 2022-06-14 Exxonmobil Upstream Research Company Method and system for stable and efficient reservoir simulation using stability proxies
US11156744B2 (en) 2019-01-10 2021-10-26 Emerson Paradigm Holding Llc Imaging a subsurface geological model at a past intermediate restoration time
US10520644B1 (en) 2019-01-10 2019-12-31 Emerson Paradigm Holding Llc Imaging a subsurface geological model at a past intermediate restoration time

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4710876A (en) * 1985-06-05 1987-12-01 General Electric Company System and method for the display of surface structures contained within the interior region of a solid body
US4719585A (en) * 1985-08-28 1988-01-12 General Electric Company Dividing cubes system and method for the display of surface structures contained within the interior region of a solid body
FR2597227B1 (fr) * 1986-04-14 1992-09-11 Pixar Procede pour produire un affichage bidimensionnel representant un ensemble de donnees tridimensionnelles
US4835712A (en) * 1986-04-14 1989-05-30 Pixar Methods and apparatus for imaging volume data with shading
US4751643A (en) * 1986-08-04 1988-06-14 General Electric Company Method and apparatus for determining connected substructures within a body
US5230040A (en) * 1988-09-21 1993-07-20 Fuji Xerox Co., Ltd. Table calculating device
US4985856A (en) * 1988-11-10 1991-01-15 The Research Foundation Of State University Of New York Method and apparatus for storing, accessing, and processing voxel-based data
US5150457A (en) * 1990-05-02 1992-09-22 International Business Machines Corporation Enhanced visualization using translucent contour surfaces
US5179598A (en) * 1990-05-31 1993-01-12 Western Atlas International, Inc. Method for identifying and displaying particular features of an object
JPH04246690A (ja) * 1990-08-29 1992-09-02 Xerox Corp 高品質のイメージを並みの解像度で表示する方法
US5253171A (en) * 1990-09-21 1993-10-12 General Electric Company Parallel processing method and apparatus based on the algebra reconstruction technique for reconstructing a three-dimensional computerized tomography (CT) image from cone beam projection data
US5319777A (en) * 1990-10-16 1994-06-07 Sinper Corporation System and method for storing and retrieving information from a multidimensional array
US5557711A (en) * 1990-10-17 1996-09-17 Hewlett-Packard Company Apparatus and method for volume rendering
US5166876A (en) * 1991-01-16 1992-11-24 General Electric Company System and method for detecting internal structures contained within the interior region of a solid object
US5555352A (en) * 1991-04-23 1996-09-10 International Business Machines Corporation Object-based irregular-grid volume rendering
JP3191266B2 (ja) * 1991-09-17 2001-07-23 株式会社日立製作所 イメージシミュレーションシステム
JPH07120434B2 (ja) * 1992-01-29 1995-12-20 インターナショナル・ビジネス・マシーンズ・コーポレイション ボリュームレンダリングを行う方法及び装置
JPH087799B2 (ja) * 1992-06-19 1996-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション データ視覚化装置および方法
US5361385A (en) * 1992-08-26 1994-11-01 Reuven Bakalash Parallel computing system for volumetric modeling, data processing and visualization
US5383114A (en) * 1992-10-05 1995-01-17 Western Atlas International, Inc. Method for displaying a volume of seismic data
US5799099A (en) * 1993-02-12 1998-08-25 George S. Allen Automatic technique for localizing externally attached fiducial markers in volume images of the head
US5544283A (en) * 1993-07-26 1996-08-06 The Research Foundation Of State University Of New York Method and apparatus for real-time volume rendering from an arbitrary viewing direction
US5454371A (en) * 1993-11-29 1995-10-03 London Health Association Method and system for constructing and displaying three-dimensional images
US5842473A (en) * 1993-11-29 1998-12-01 Life Imaging Systems Three-dimensional imaging system
JP3483929B2 (ja) * 1994-04-05 2004-01-06 株式会社日立製作所 3次元画像生成方法
US5570460A (en) * 1994-10-21 1996-10-29 International Business Machines Corporation System and method for volume rendering of finite element models
US5782762A (en) * 1994-10-27 1998-07-21 Wake Forest University Method and system for producing interactive, three-dimensional renderings of selected body organs having hollow lumens to enable simulated movement through the lumen
US5548694A (en) * 1995-01-31 1996-08-20 Mitsubishi Electric Information Technology Center America, Inc. Collision avoidance system for voxel-based object representation
US5586082A (en) * 1995-03-02 1996-12-17 The Trustees Of Columbia University In The City Of New York Method for identifying subsurface fluid migration and drainage pathways in and among oil and gas reservoirs using 3-D and 4-D seismic imaging
US6134564A (en) * 1995-11-20 2000-10-17 Execware, Inc. Computer program for rapidly creating and altering presentation of parametric text data objects and associated graphic images
US5671136A (en) * 1995-12-11 1997-09-23 Willhoit, Jr.; Louis E. Process for seismic imaging measurement and evaluation of three-dimensional subterranean common-impedance objects
US5798982A (en) * 1996-04-29 1998-08-25 The Trustees Of Columbia University In The City Of New York Method for inverting reflection trace data from 3-D and 4-D seismic surveys and identifying subsurface fluid and pathways in and among hydrocarbon reservoirs based on impedance models
US6012018A (en) * 1996-05-17 2000-01-04 Shell Oil Company Presentation and interpretation of seismic data
US5958012A (en) * 1996-07-18 1999-09-28 Computer Associates International, Inc. Network management system using virtual reality techniques to display and simulate navigation to network components
US6061067A (en) * 1996-08-02 2000-05-09 Autodesk, Inc. Applying modifiers to objects based on the types of the objects
US6647432B1 (en) * 1996-08-19 2003-11-11 Geoquest, A Division Of Schlumberger Technology Corporation Distributed framework for intertask communication between workstation applications
US5781194A (en) * 1996-08-29 1998-07-14 Animatek International, Inc. Real-time projection of voxel-based object
US6331116B1 (en) * 1996-09-16 2001-12-18 The Research Foundation Of State University Of New York System and method for performing a three-dimensional virtual segmentation and examination
US6343936B1 (en) * 1996-09-16 2002-02-05 The Research Foundation Of State University Of New York System and method for performing a three-dimensional virtual examination, navigation and visualization
US5986662A (en) * 1996-10-16 1999-11-16 Vital Images, Inc. Advanced diagnostic viewer employing automated protocol selection for volume-rendered imaging
US6014343A (en) * 1996-10-31 2000-01-11 Geoquest Automatic non-artificially extended fault surface based horizon modeling system
US6084989A (en) * 1996-11-15 2000-07-04 Lockheed Martin Corporation System and method for automatically determining the position of landmarks in digitized images derived from a satellite-based imaging system
US6115048A (en) * 1997-01-21 2000-09-05 General Electric Company Fast method of creating 3D surfaces by `stretching cubes`
WO1998033151A1 (fr) * 1997-01-24 1998-07-30 Sony Corporation Dispositif, procede et support permettant de generer des donnees graphiques
US6262734B1 (en) * 1997-01-24 2001-07-17 Sony Corporation Graphic data generating apparatus, graphic data generation method, and medium of the same
US6108446A (en) * 1997-02-18 2000-08-22 Hoshen; Joseph Method and apparatus for extracting cluster shape features from digital images
US6018497A (en) * 1997-02-27 2000-01-25 Geoquest Method and apparatus for generating more accurate earth formation grid cell property information for use by a simulator to display more accurate simulation results of the formation near a wellbore
US5966672A (en) * 1997-07-28 1999-10-12 Knupp; Daniel F. Visualization technology method
US6008813A (en) * 1997-08-01 1999-12-28 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Real-time PC based volume rendering system
US6246784B1 (en) * 1997-08-19 2001-06-12 The United States Of America As Represented By The Department Of Health And Human Services Method for segmenting medical images and detecting surface anomalies in anatomical structures
US6188403B1 (en) * 1997-11-21 2001-02-13 Portola Dimensional Systems, Inc. User-friendly graphics generator using direct manipulation
US6191787B1 (en) * 1998-02-10 2001-02-20 Schlumberger Technology Corporation Interactively constructing, editing, rendering and manipulating geoscience models
US6067366A (en) * 1998-02-11 2000-05-23 Analogic Corporation Apparatus and method for detecting objects in computed tomography data using erosion and dilation of objects
US6128365A (en) * 1998-02-11 2000-10-03 Analogic Corporation Apparatus and method for combining related objects in computed tomography data
US6076400A (en) * 1998-02-11 2000-06-20 Analogic Corporation Apparatus and method for classifying objects in computed tomography data using density dependent mass thresholds
US6026143A (en) * 1998-02-11 2000-02-15 Analogic Corporation Apparatus and method for detecting sheet objects in computed tomography data
US6765570B1 (en) * 1998-07-21 2004-07-20 Magic Earth, Inc. System and method for analyzing and imaging three-dimensional volume data sets using a three-dimensional sampling probe
US6915301B2 (en) * 1998-08-25 2005-07-05 International Business Machines Corporation Dynamic object properties
NO984070D0 (no) 1998-09-04 1998-09-04 Norsk Hydro As Metode for visualisering og analyse av volumdata
US6771262B2 (en) * 1998-11-25 2004-08-03 Siemens Corporate Research, Inc. System and method for volume rendering-based segmentation
US6195444B1 (en) * 1999-01-12 2001-02-27 Analogic Corporation Apparatus and method for detecting concealed objects in computed tomography data
JP3569153B2 (ja) 1999-03-29 2004-09-22 富士通株式会社 図形編集装置、および図形編集方法、並びにそのためのプログラムを格納した記憶媒体
US6674894B1 (en) * 1999-04-20 2004-01-06 University Of Utah Research Foundation Method and apparatus for enhancing an image using data optimization and segmentation
US6304266B1 (en) * 1999-06-14 2001-10-16 Schlumberger Technology Corporation Method and apparatus for volume rendering
US6707454B1 (en) * 1999-07-01 2004-03-16 Lucent Technologies Inc. Systems and methods for visualizing multi-dimensional data in spreadsheets and other data structures
US6307573B1 (en) * 1999-07-22 2001-10-23 Barbara L. Barros Graphic-information flow method and system for visually analyzing patterns and relationships
US6226596B1 (en) * 1999-10-27 2001-05-01 Marathon Oil Company Method for analyzing and classifying three dimensional seismic information
GB0017227D0 (en) * 2000-07-14 2000-08-30 Schlumberger Ind Ltd Fully coupled geomechanics in a commerical reservoir simulator
US6940507B2 (en) * 2000-12-18 2005-09-06 Dmitriy G. Repin Method and apparatus for visualization of 3D voxel data using lit opacity volumes with shading
ES2378357T3 (es) * 2001-04-18 2012-04-11 Landmark Graphics Corporation Dispositivo de renderizado de cuerpos volumétricos
US7045246B2 (en) * 2003-04-22 2006-05-16 The Aerospace Corporation Integrated thin film battery and circuit module

Also Published As

Publication number Publication date
AU2002256265B2 (en) 2008-04-24
US20100286972A1 (en) 2010-11-11
CA2936413A1 (en) 2002-10-31
NO20034643L (no) 2003-12-17
US20020165689A1 (en) 2002-11-07
EP1381998A1 (en) 2004-01-21
DK1381998T3 (da) 2012-02-06
EP1381998A4 (en) 2007-07-18
ATE541274T1 (de) 2012-01-15
CA2936404A1 (en) 2002-10-31
CA2936413C (en) 2018-09-04
US7991600B2 (en) 2011-08-02
CA2443110A1 (en) 2002-10-31
CA2834997C (en) 2016-09-13
DK2362346T3 (da) 2013-10-07
EP1381998B1 (en) 2012-01-11
PT1381998E (pt) 2012-01-24
US20080297510A1 (en) 2008-12-04
EP2362346A1 (en) 2011-08-31
CA2443110C (en) 2014-02-11
CA2834997A1 (en) 2002-10-31
US7412363B2 (en) 2008-08-12
WO2002086796A1 (en) 2002-10-31
CA2936404C (en) 2018-06-12
EP2362346B1 (en) 2013-07-10
NO20034643D0 (no) 2003-10-17
AU2002256265C1 (en) 2011-12-08
ES2378357T3 (es) 2012-04-11

Similar Documents

Publication Publication Date Title
NO331849B1 (no) Volumlegeme-gjengivelsesmiddel
EP1815345B1 (en) Volume body renderer
AU2002256265A1 (en) Volume body renderer
US20080165185A1 (en) Systems and methods for selectively imaging objects in a display of multiple three-dimensional data-objects
US20100053161A1 (en) System and Method for Real-Time Co-Rendering of Multiple Attributes
EP0591325A1 (en) Improvements in visibility calculations for 3d computer graphics
NO337505B1 (no) System for fremgangsmåte for å analysere en region av interesse relativt til en forutbestemt hendelse
Cohen-Or et al. Visibility, problems, techniques and applications
Plate et al. Occlusion Culling for Sub-Surface Models in Geo-Scientific Applications.
Nowak Hierarchical Multi-resolution Data Structure for Molecular Visualization
Gummerus Conservative From-Point Visibility.
Bartz et al. Efficient occlusion culling for large model visualization
Callahan The k-buffer and its applications to volume rendering
Khanduja Multiple dataset visualization (MDV) framework for scalar volume data
Wang New algorithmic techniques for large scale volumetric data visualization on parallel architectures

Legal Events

Date Code Title Description
MK1K Patent expired