Det här inlägget är skrivet tillsammans med Ming (Melvin) Qin, David Bericat och Brad Genereaux från NVIDIA.
Medicinsk bildbehandling AI-forskare och -utvecklare behöver ett skalbart företagsramverk för att bygga, distribuera och integrera sina AI-applikationer. AWS och NVIDIA har gått samman för att göra denna vision till verklighet. AWS, NVIDIA och andra partners bygga applikationer och lösningar för att göra sjukvården mer tillgänglig, prisvärd och effektiv genom att accelerera molnanslutningen för företagsbildbehandling. MONAI Deploy är en av nyckelmodulerna inom MONAI (Medical Open Network for Artificial Intelligence) utvecklat av ett konsortium av akademiska ledare och industriledare, inklusive NVIDIA. AWS HealthImaging (AHI) är en HIPAA-berättigad, mycket skalbar, presterande och kostnadseffektiv medicinsk bildbutik. Vi har utvecklat en MONAI Deploy-anslutning till AHI för att integrera AI-applikationer för medicinsk bildbehandling med sekundära bildhämtningsfördröjningar i skala som drivs av molnbaserade API:er. MONAI AI-modeller och applikationer kan lagras på Amazon SageMaker, som är en helt hanterad tjänst för att distribuera modeller för maskininlärning (ML) i stor skala. SageMaker tar hand om att sätta upp och hantera instanser för slutledning och tillhandahåller inbyggda mätvärden och loggar för slutpunkter som du kan använda för att övervaka och ta emot varningar. Det erbjuder också en mängd olika NVIDIA GPU-instanser för ML-inferens, samt multipla modelldistributionsalternativ med automatisk skalning, inklusive slutledning i realtid, serverlös slutledning, asynkron slutledningoch batch-omvandling.
I det här inlägget visar vi hur man distribuerar ett MONAI Application Package (MAP) med anslutningen till AWS HealthImaging, med hjälp av en SageMaker multi-model endpoint för realtidsinferens och asynkron inferens. Dessa två alternativ täcker en majoritet av användningsfallen i pipeline för medicinsk bildbehandling i nästan realtid.
Lösningsöversikt
Följande diagram illustrerar lösningsarkitekturen.
Förutsättningar
Slutför följande förutsättningssteg:
- Använd ett AWS-konto med en av följande regioner, där AWS HealthImaging är tillgängligt: North Virginia (
us-east-1
), Oregon (us-west-2
), Irland (eu-west-1
), och Sydney (ap-southeast-2
). - Skapa ett Amazon SageMaker Studio domän och användarprofil med AWS identitets- och åtkomsthantering (IAM) behörighet att få åtkomst till AWS HealthImaging.
- Aktivera tillägget JupyterLab v3 och installera Imjoy-jupyter-extension om du vill visualisera medicinska bilder på SageMaker notebook interaktivt med itkwidgets.
MAP-kontakt till AWS HealthImaging
AWS HealthImaging importerar DICOM P10-filer och konverterar dem till ImageSets, som är en optimerad representation av en DICOM-serie. AHI ger API-åtkomst till ImageSet-metadata och ImageFrames. Metadata innehåller alla DICOM-attribut i ett JSON-dokument. ImageFrames returneras kodade i High-Throughput JPEG2000 (HTJ2K) förlustfritt format, som kan avkodas extremt snabbt. ImageSets kan hämtas med hjälp av AWS-kommandoradsgränssnitt (AWS CLI) eller AWS SDK: er.
MONAI är ett ramverk för medicinsk avbildning av AI som tar forskningsgenombrott och AI-tillämpningar till klinisk effekt. MONAI Deploy är bearbetningspipelinen som möjliggör end-to-end-arbetsflödet, inklusive paketering, testning, driftsättning och körning av AI-applikationer för medicinsk bildbehandling i klinisk produktion. Den omfattar MONAI Implementera app-SDK, MONAI Deploy Express, Arbetsflödeshanterareoch Informatik Gateway. MONAI Deploy App SDK tillhandahåller färdiga att använda algoritmer och ett ramverk för att påskynda uppbyggnaden av AI-applikationer för medicinsk bildbehandling, samt verktyg för att paketera applikationen i en MAP-behållare. De inbyggda standardbaserade funktionerna i appens SDK gör att MAP smidigt kan integreras i hälso-IT-nätverk, vilket kräver användning av standarder som DICOM, HL7 och FHIR, och över datacenter- och molnmiljöer. MAP:er kan använda både fördefinierade och anpassade operatörer för DICOM-bildladdning, serieval, modellinferens och efterbearbetning
Vi har utvecklat en Python-modulen med AWS HealthImaging Python SDK Boto3. Du kan pip-installera det och använda hjälpfunktionen för att hämta DICOM Service-Object Pair (SOP)-instanser enligt följande:
!pip install -q AHItoDICOMInterface
from AHItoDICOMInterface.AHItoDICOM import AHItoDICOM
helper = AHItoDICOM()
instances = helper.DICOMizeImageSet(datastore_id=datastoreId , image_set_id=next(iter(imageSetIds)))
Utdata-SOP-instanserna kan visualiseras med hjälp av de interaktiva 3D medicinska bildvisaren itkwidgets i följande anteckningsbok. De AHItoDICOM klass drar fördel av flera processer för att hämta pixelbilder från AWS HealthImaging parallellt, och avkoda d HTJ2K binära blobbar med Python OpenJPEG-bibliotek. ImageSetIds kommer från utdatafilerna för ett givet AWS HealthImaging-importjobb. Med tanke på DatastoreId och import JobId kan du hämta ImageSetId, som motsvarar DICOM-seriens instans-UID, enligt följande:
imageSetIds = {}
try: response = s3.head_object(Bucket=OutputBucketName, Key=f"output/{res_createstore['datastoreId']}-DicomImport-{res_startimportjob['jobId']}/job-output-manifest.json") if response['ResponseMetadata']['HTTPStatusCode'] == 200: data = s3.get_object(Bucket=OutputBucketName, Key=f"output/{res_createstore['datastoreId']}-DicomImport-{res_startimportjob['jobId']}/SUCCESS/success.ndjson") contents = data['Body'].read().decode("utf-8") for l in contents.splitlines(): isid = json.loads(l)['importResponse']['imageSetId'] if isid in imageSetIds: imageSetIds[isid]+=1 else: imageSetIds[isid]=1
except ClientError: pass
Med ImageSetId kan du hämta DICOM-headermetadata och bildpixlar separat med hjälp av inbyggda AWS HealthImaging API-funktioner. De DICOM exportöraggregat DICOM-huvudena och bildpixlarna i Pydicom dataset, som kan bearbetas av MAP DICOM data loader operatör. Med funktionen DICOMizeImageSet() har vi skapat en anslutning för att ladda bilddata från AWS HealthImaging, baserat på MAP DICOM data loader operatör:
class AHIDataLoaderOperator(Operator): def __init__(self, ahi_client, must_load: bool = True, *args, **kwargs): self.ahi_client = ahi_client … def _load_data(self, input_obj: string): study_dict = {} series_dict = {} sop_instances = self.ahi_client.DICOMizeImageSet(input_obj['datastoreId'], input_obj['imageSetId'])
I föregående kod, ahi_client
är en instans av AHItoDICOM DICOM-exportörklassen, med datahämtningsfunktioner illustrerade. Vi har inkluderat denna nya dataladdare i en AI-applikation för 3D-mjältsegmentering skapad av MONAI Deploy App SDK. Du kan först utforska hur du skapar och kör den här applikationen på en lokal notebook-instans, och distribuera sedan denna MAP-applikation i SageMaker-hanterade slutpunkter.
SageMaker asynkron slutledning
En SageMaker asynkron slutledning endpoint används för förfrågningar med stora nyttolaststorlekar (upp till 1 GB), långa bearbetningstider (upp till 15 minuter) och fördröjningskrav i nästan realtid. När det inte finns några förfrågningar att bearbeta kan detta distributionsalternativ nedskala instansräkningen till noll för kostnadsbesparingar, vilket är idealiskt för ML-inferensarbetsbelastningar för medicinsk bildbehandling. Följ stegen i prov anteckningsbok för att skapa och anropa SageMaker asynkron slutpunktsslutpunkt. Till skapa en asynkron slutpunktsslutpunktmåste du skapa en SageMaker-modell och slutpunktskonfiguration först. För att skapa en SageMaker-modell måste du ladda ett model.tar.gz-paket med en definierad katalogstruktur till en Docker-container. Model.tar.gz-paketet innehåller en förtränad mjältsegmenteringsfil model.ts och en anpassad inference.py-fil. Vi har använt en förbyggd behållare med Python 3.8 och PyTorch 1.12.1 ramverksversioner för att ladda modellen och köra förutsägelser.
I den anpassade inference.py fil, instansierar vi en AHItoDICOM-hjälparklass från AHItoDICOMInterface och använder den för att skapa en MAP-instans i model_fn()
funktion, och vi kör MAP-applikationen på varje slutledningsbegäran i predict_fn()
fungera:
from app import AISpleenSegApp
from AHItoDICOMInterface.AHItoDICOM import AHItoDICOM
helper = AHItoDICOM()
def model_fn(model_dir, context): … monai_app_instance = AISpleenSegApp(helper, do_run=False,path="/home/model-server") def predict_fn(input_data, model): with open('/home/model-server/inputImageSets.json', 'w') as f: f.write(json.dumps(input_data)) output_folder = "/home/model-server/output" if not os.path.exists(output_folder): os.makedirs(output_folder) model.run(input='/home/model-server/inputImageSets.json', output=output_folder, workdir='/home/model-server', model='/opt/ml/model/model.ts')
Till anropa den asynkrona slutpunkten, måste du ladda upp nyttolasten för begäraninmatning till Amazon enkel lagringstjänst (Amazon S3), som är en JSON-fil som anger AWS HealthImaging-datalagrings-ID och ImageSet-ID för att köra inferens på:
sess = sagemaker.Session()
InputLocation = sess.upload_data('inputImageSets.json', bucket=sess.default_bucket(), key_prefix=prefix, extra_args={"ContentType": "application/json"})
response = runtime_sm_client.invoke_endpoint_async(EndpointName=endpoint_name, InputLocation=InputLocation, ContentType="application/json", Accept="application/json")
output_location = response["OutputLocation"]
Utgången kan också hittas i Amazon S3.
SageMaker multi-modell realtids slutledning
SageMaker slutledning i realtid slutpunkter uppfyller interaktiva krav med låg latens. Det här alternativet kan vara värd för flera modeller i en container bakom en slutpunkt, vilket är en skalbar och kostnadseffektiv lösning för att distribuera flera ML-modeller. A SageMaker multi-model endpoint använder NVIDIA Triton Inference Server med GPU för att köra flera djupinlärningsmodellslutsatser.
I det här avsnittet går vi igenom hur man skapar och anropar en slutpunkt för flera modeller anpassa din egen slutledningsbehållare i följande prov anteckningsbok. Olika modeller kan serveras i en delad container på samma resursflotta. Flermodellslutpunkter minskar distributionsoverhead och skalmodeller baserat på trafikmönstren till slutpunkten. Vi använde AWS utvecklarverktyg Inklusive Amazon CodeCommit, Amazon CodeBuildoch Amazon CodePipeline för att bygga upp den skräddarsydda behållaren för SageMaker modell slutledning. Vi förberedde en model_handler.py att ta med din egen behållare istället för filen inference.py i föregående exempel, och implementerade funktionerna initialize(), preprocess() och inference():
from app import AISpleenSegApp
from AHItoDICOMInterface.AHItoDICOM import AHItoDICOM
class ModelHandler(object): def __init__(self): self.initialized = False self.shapes = None def initialize(self, context): self.initialized = True properties = context.system_properties model_dir = properties.get("model_dir") gpu_id = properties.get("gpu_id") helper = AHItoDICOM() self.monai_app_instance = AISpleenSegApp(helper, do_run=False, path="/home/model-server/") def preprocess(self, request): inputStr = request[0].get("body").decode('UTF8') datastoreId = json.loads(inputStr)['inputs'][0]['datastoreId'] imageSetId = json.loads(inputStr)['inputs'][0]['imageSetId'] with open('/tmp/inputImageSets.json', 'w') as f: f.write(json.dumps({"datastoreId": datastoreId, "imageSetId": imageSetId})) return '/tmp/inputImageSets.json' def inference(self, model_input): self.monai_app_instance.run(input=model_input, output="/home/model-server/output/", workdir="/home/model-server/", model=os.environ["model_dir"]+"/model.ts")
Efter att containern är byggd och skjuts till Amazon Elastic Container Registry (Amazon ECR), du kan skapa SageMaker-modell med den, plus olika modellpaket (tar.gz-filer) i en given Amazon S3-sökväg:
model_name = "DEMO-MONAIDeployModel" + strftime("%Y-%m-%d-%H-%M-%S", gmtime())
model_url = "s3://{}/{}/".format(bucket, prefix)
container = "{}.dkr.ecr.{}.amazonaws.com/{}:dev".format( account_id, region, prefix )
container = {"Image": container, "ModelDataUrl": model_url, "Mode": "MultiModel"}
create_model_response = sm_client.create_model(ModelName=model_name, ExecutionRoleArn=role, PrimaryContainer=container)
Det är anmärkningsvärt att model_url
här anger endast sökvägen till en mapp med tar.gz-filer, och du anger vilket modellpaket som ska användas för slutledning när du anropar slutpunkten, som visas i följande kod:
Payload = {"inputs": [ {"datastoreId": datastoreId, "imageSetId": next(iter(imageSetIds))} ]}
response = runtime_sm_client.invoke_endpoint(EndpointName=endpoint_name, ContentType="application/json", Accept="application/json", TargetModel="model.tar.gz", Body=json.dumps(Payload))
Vi kan lägga till fler modeller till den befintliga slutpunkten för flera modeller utan att behöva uppdatera slutpunkten eller skapa en ny.
Städa upp
Glöm inte att slutföra Ta bort värdresurserna steg i labb-3 och labb-4 anteckningsböcker för att ta bort SageMaker slutpunkterna. Du bör tacka nej till SageMaker notebook-instansen för att också spara kostnader. Slutligen kan du antingen anropa AWS HealthImaging API-funktionen eller använda AWS HealthImaging-konsolen för att ta bort bilduppsättningarna och datalagret som skapats tidigare:
for s in imageSetIds.keys(): medicalimaging.deleteImageSet(datastoreId, s)
medicalimaging.deleteDatastore(datastoreId)
Slutsats
I det här inlägget visade vi dig hur du skapar en MAP-anslutning till AWS HealthImaging, som är återanvändbar i applikationer byggda med MONAI Deploy App SDK, för att integrera med och påskynda hämtning av bilddata från en molnbaserad DICOM-butik till AI-arbetsbelastningar för medicinsk bildbehandling . MONAI Deploy SDK kan användas för att stödja sjukhusdrift. Vi visade också två värdalternativ för att distribuera MAP AI-applikationer på SageMaker i stor skala.
Gå igenom exempelanteckningsböckerna i GitHub repository för att lära dig mer om hur man distribuerar MONAI-applikationer på SageMaker med medicinska bilder lagrade i AWS HealthImaging. För att veta vad AWS kan göra för dig, kontakta en AWS representant.
För ytterligare resurser, se följande:
Om författarna
Ming (Melvin) Qin är en oberoende bidragsgivare i Healthcare-teamet på NVIDIA, fokuserat på att utveckla ett ramverk och plattform för AI-inferensapplikationer för att föra AI till medicinska bildbehandlingsarbetsflöden. Innan Ming började med NVIDIA 2018 som grundare av Clara, tillbringade Ming 15 år på att utveckla Radiology PACS och Workflow SaaS som ledande ingenjör/arkitekt på Stentor Inc., senare förvärvad av Philips Healthcare för att bilda Enterprise Imaging.
David Bericat är produktchef för Healthcare på NVIDIA, där han leder arbetsgruppen Project MONAI Deploy för att föra AI från forskning till kliniska implementeringar. Hans passion är att påskynda hälsoinnovation globalt och översätta det till verklig klinisk effekt. Tidigare arbetade David på Red Hat och implementerade principer för öppen källkod i skärningspunkten mellan AI, moln, edge computing och IoT. Hans stoltaste stunder inkluderar vandring till Everests baslägret och spela fotboll i över 20 år.
Brad Genereaux är Global Lead, Healthcare Alliances på NVIDIA, där han är ansvarig för utvecklarrelationer med fokus på medicinsk bildbehandling för att påskynda artificiell intelligens och djupinlärning, visualisering, virtualisering och analyslösningar. Brad evangeliserar den allestädes närvarande antagandet och integrationen av sömlösa arbetsflöden inom hälsovård och medicinsk bildbehandling i den dagliga kliniska praktiken, med mer än 20 års erfarenhet av IT inom sjukvård.
Gang Fu är Healthcare Solutions Architect på AWS. Han har en doktorsexamen i läkemedelsvetenskap från University of Mississippi och har över 10 års erfarenhet av teknologi och biomedicinsk forskning. Han brinner för teknik och den inverkan den kan ha på vården.
JP Leger är en senior lösningsarkitekt som stödjer akademiska medicinska centra och arbetsflöden för medicinsk bildbehandling på AWS. Han har över 20 års expertis inom mjukvaruteknik, sjukvårds-IT och medicinsk bildbehandling, med lång erfarenhet av att bygga system för prestanda, skalbarhet och säkerhet i distribuerade distributioner av stora datamängder i lokaler, i molnet och hybrid med analys och AI .
Chris Hafey är en Principal Solutions Architect på Amazon Web Services. Han har över 25 års erfarenhet av medicinsk bildbehandling och är specialiserad på att bygga skalbara högpresterande system. Han är skaparen av det populära CornerstoneJS open source-projektet, som driver den populära OHIF open source-visaren med noll fotavtryck. Han bidrog till DICOMweb-specifikationen och fortsätter att arbeta för att förbättra dess prestanda för webbaserad visning.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- PlatoData.Network Vertical Generative Ai. Styrka dig själv. Tillgång här.
- PlatoAiStream. Web3 Intelligence. Kunskap förstärkt. Tillgång här.
- Platoesg. Kol, CleanTech, Energi, Miljö, Sol, Avfallshantering. Tillgång här.
- PlatoHealth. Biotech och kliniska prövningar Intelligence. Tillgång här.
- Källa: https://aws.amazon.com/blogs/machine-learning/build-a-medical-imaging-ai-inference-pipeline-with-monai-deploy-on-aws/
- : har
- :är
- :inte
- :var
- $UPP
- 1
- 10
- 100
- 12
- 15 år
- 15%
- 20
- 20 år
- 200
- 2018
- 25
- 3d
- 7
- 8
- a
- Om Oss
- akademiska
- accelerera
- accelererande
- tillgång
- tillgänglig
- Konto
- förvärvade
- tvärs
- lägga till
- Annat
- Antagande
- Fördel
- prisvärd
- AI
- AI-modeller
- Varningar
- algoritmer
- Alla
- allianser
- tillåter
- också
- amason
- Amazon Web Services
- an
- analytics
- och
- api
- API-åtkomst
- API: er
- app
- Ansökan
- tillämpningar
- arkitektur
- ÄR
- konstgjord
- artificiell intelligens
- AS
- At
- attribut
- Automat
- tillgänglig
- AWS
- bas
- baserat
- BE
- innan
- bakom
- biomedicinsk
- kropp
- båda
- brad
- genombrott
- föra
- SLUTRESULTAT
- Byggnad
- byggt
- inbyggd
- by
- Ring
- Läger
- KAN
- vilken
- fall
- Centrum
- Centers
- Clara
- klass
- Klinisk
- cloud
- koda
- komma
- fullborda
- innefattar
- databehandling
- konfiguration
- Anslutningar
- Konsol
- konsortium
- kontakta
- Behållare
- innehåller
- innehåll
- sammanhang
- fortsätter
- bidrog
- bidragsgivare
- Pris
- kostnadsbesparingar
- kostnadseffektiv
- Kostar
- täcka
- samskriven
- skapa
- skapas
- skaparen
- kundanpassad
- datum
- Data Center
- David
- djup
- djupt lärande
- demonstrera
- demonstreras
- distribuera
- utplacera
- utplacering
- distributioner
- dev
- utvecklade
- Utvecklare
- utvecklare
- utveckla
- olika
- distribueras
- do
- Hamnarbetare
- dokumentera
- ner
- Tidigare
- kant
- kanten beräkning
- effektiv
- antingen
- annars
- möjliggör
- början till slut
- Slutpunkt
- Teknik
- Företag
- miljöer
- Motsvarande
- everest
- Varje
- dagliga
- exempel
- Utom
- befintliga
- erfarenhet
- expertis
- utforska
- omfattande
- Omfattande erfarenhet
- extremt
- falsk
- SNABB
- Fil
- Filer
- Slutligen
- Förnamn
- FLOTTA
- Fokus
- fokuserade
- följer
- efter
- följer
- Fotavtryck
- För
- formen
- format
- hittade
- grundande
- Ramverk
- från
- fu
- fullständigt
- fungera
- funktionaliteter
- funktioner
- GitHub
- ges
- Välgörenhet
- Globalt
- GPU
- Grupp
- har
- Har
- har
- he
- headers
- Hälsa
- hälso-och sjukvård
- här.
- högpresterande
- höggradigt
- hans
- innehar
- sjukhuset
- värd
- värd
- värd
- Hur ser din drömresa ut
- How To
- html
- http
- HTTPS
- Hybrid
- ID
- idealisk
- Identitet
- if
- illustrerar
- bild
- bilder
- Imaging
- Inverkan
- genomföras
- genomföra
- importera
- import
- förbättra
- in
- Inc.
- innefattar
- ingår
- innefattar
- Inklusive
- oberoende
- industrin
- Innovation
- ingång
- ingångar
- installera
- exempel
- istället
- integrera
- integrering
- Intelligens
- interaktiva
- skärning
- in
- iot
- irland
- IT
- DESS
- Jobb
- sammanfogning
- jpg
- json
- Nyckel
- Vet
- Large
- Latens
- senare
- leda
- ledare
- Leads
- LÄRA SIG
- inlärning
- linje
- läsa in
- Lastaren
- läser in
- lokal
- Lång
- Maskinen
- maskininlärning
- Majoritet
- göra
- förvaltade
- chef
- hantera
- karta
- kartor
- medicinsk
- Möt
- medlem
- metadata
- Metrics
- minuter
- ML
- Mode
- modell
- modeller
- Moduler
- Ögonblick
- Övervaka
- mer
- Multi-Model Endpoint
- multipel
- nativ
- Behöver
- nät
- nätverk
- Nya
- Nej
- Ingen
- Nord
- anteckningsbok
- anmärkningsvärd
- Nvidia
- objektet
- of
- Erbjudanden
- on
- ONE
- endast
- öppet
- öppet nätverk
- öppen källkod
- Verksamhet
- Operatören
- operatörer
- optimerad
- Alternativet
- Tillbehör
- or
- Oregon
- OS
- Övriga
- produktion
- över
- egen
- paket
- paket
- förpackning
- par
- Parallell
- brinner
- brinner
- bana
- mönster
- prestanda
- tillstånd
- Läkemedelsindustrin
- phd
- rörledning
- pixel
- plattform
- plato
- Platon Data Intelligence
- PlatonData
- i
- plus
- Populära
- Inlägg
- drivs
- befogenheter
- praktiken
- Förutsägelser
- beredd
- föregående
- tidigare
- Principal
- Principerna
- process
- Bearbetad
- processer
- bearbetning
- Produkt
- produktchef
- Produktion
- projektet
- egenskaper
- ger
- sköt
- Python
- pytorch
- realtid
- Verkligheten
- motta
- Red
- Red Hat
- minska
- hänvisa
- region
- regioner
- relationer
- representation
- begära
- förfrågningar
- Krav
- Kräver
- forskning
- forskare
- Resurser
- respons
- ansvarig
- avkastning
- återanvändbar
- Körning
- rinnande
- s
- SaaS
- sagemaker
- SageMaker Inference
- Samma
- Save
- Besparingar
- skalbarhet
- skalbar
- Skala
- skalning
- Vetenskap
- sDK
- sömlös
- §
- säkerhet
- segmentering
- Val
- SJÄLV
- senior
- Serier
- eras
- service
- Tjänster
- uppsättningar
- inställning
- flera
- former
- delas
- skall
- visade
- visas
- Enkelt
- storlekar
- mjukt
- Fotboll
- Mjukvara
- mjukvaruutveckling
- lösning
- Lösningar
- Källa
- specialiserat
- specifikation
- spent
- standarder
- Steg
- Steg
- förvaring
- lagra
- lagras
- Sträng
- sådana
- stödja
- Stödjande
- sydney
- System
- tar
- grupp
- Teknologi
- Testning
- än
- den där
- Smakämnen
- deras
- Dem
- sedan
- Där.
- Dessa
- detta
- Genom
- gånger
- till
- tillsammans
- verktyg
- mot
- trafik
- Triton
- sann
- prova
- SVÄNG
- två
- allmänt förekommande
- universitet
- Uppdatering
- användning
- Begagnade
- Användare
- användningar
- med hjälp av
- verktyg
- mängd
- versioner
- visning
- Virginia
- syn
- visualisering
- visualisera
- volymer
- W
- gå
- vill
- we
- webb
- webbservice
- Webb-baserad
- VÄL
- Vad
- när
- som
- kommer
- med
- inom
- utan
- Arbete
- arbetade
- arbetsflöde
- arbetsflöden
- arbetssätt
- Arbetsgrupp
- år
- Om er
- Din
- zephyrnet
- noll-