Aspose.Medical DICOM tekstimuunnin .NET
Aspose.Medical DICOM to Text Converter for .NET on tehokas API, joka keskittyy konvertoimaan DIKOM-tietoja ihmiselle luettavissa ja koneellisesti käytettävissä muodoissa. Se serialisoi DICO: n tietokoneet JSON- ja XML-muodoihin, mikä mahdollistaa integroinnin web-palvelujen, REST-API:ien ja nykyaikaisten terveydenhuollon järjestelmien kanssa.
Asennus ja asennus
- Käytä NuGet-pakettia
Aspose.Medical(Ydinen API vahvistaa muunnosta) - Soveltaa mitattuja lisenssejä startupissa arviointirajojen välttämiseksi: katso mitattu lisenssi .
- Tarkastellaan puitevaatimuksia Asennusopas .
Tuetut alustat
- Käyttöjärjestelmä: Windows, Linux ja macOS
- Ohjelmakohta: .NET 8.0+
- Arkkitehdit: x64 ja ARM64 (macOS)
Nopea aloitus
1. Tutustu JSONiin
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
string json = DicomJsonSerializer.Serialize(dcm);2) DICOM to JSON ja Pretty Print
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
string formattedJson = DicomJsonSerializer.Serialize(dcm, writeIndented: true);
Console.WriteLine(formattedJson);3) DICOM Dataset JSONille
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
Dataset dataset = dcm.Dataset;
string json = DicomJsonSerializer.Serialize(dataset, writeIndented: true);4) Useita DICOM tiedostoja JSON Array
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm1 = DicomFile.Open("scan1.dcm");
DicomFile dcm2 = DicomFile.Open("scan2.dcm");
Dataset[] datasets = [dcm1.Dataset, dcm2.Dataset];
string json = DicomJsonSerializer.Serialize(datasets, writeIndented: true);5) Serioitu virtaukseen (memory efficient)
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
using MemoryStream stream = new();
DicomJsonSerializer.Serialize(stream, dcm.Dataset);6) Tallenna JSON-tiedostoina
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
using FileStream output = File.Create("output.json");
DicomJsonSerializer.Serialize(output, dcm.Dataset, writeIndented: true);JSON Deserialismi
Deserialisoi JSON String Datasetille
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string jsonText = File.ReadAllText("dicom_data.json");
Dataset? dataset = DicomJsonSerializer.Deserialize(jsonText);Deserialisoi JSON Stream Datasetille
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
using FileStream stream = File.OpenRead("dicom_data.json");
Dataset? dataset = DicomJsonSerializer.Deserialize(stream);Deserialisoi JSON DicomFile
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string jsonText = File.ReadAllText("dicom_file.json");
DicomFile? dicomFile = DicomJsonSerializer.DeserializeFile(jsonText);Deserialisoi JSON Array useisiin tietokoneisiin
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string jsonText = File.ReadAllText("dicom_array.json");
Dataset[]? datasets = DicomJsonSerializer.DeserializeList(jsonText);XML sarjakuvaus
DICOM ja XML
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
string xml = DicomXmlSerializer.Serialize(dcm.Dataset);XML ja DICOM Dataset
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string xmlText = File.ReadAllText("dicom_data.xml");
Dataset? dataset = DicomXmlSerializer.Deserialize(xmlText);Asyntinen API
Web-sovellusten ja palvelujen synkronoimien toimien osalta:
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
// Async deserialization from stream
using FileStream stream = File.OpenRead("dicom_data.json");
Dataset? dataset = await DicomJsonSerializer.DeserializeAsync(stream);
// Async serialization to stream
using FileStream output = File.Create("output.json");
await DicomJsonSerializer.SerializeAsync(output, dataset);** Käytettävissä Async-menetelmät:**
DeserializeAsync- Deserialisoi UTF-8 JSON virta DatasetilleDeserializeFileAsync- Deserialisoi UTF-8 JSON virtaa DicomFileDeserializeListAsync- Deserialisoi UTF-8 JSON-virta Dataset-järjestelmäänSerializeAsync- Serioi Dataset, DicomFile tai dataset array UTF-8 JSON-virtaan
Ominaisuudet ja toiminnallisuus
DICOM Web Services -palvelun vaatimustenmukaisuus
Muuntaja noudattaa DICOM PS3.18 (Web Services) -standardia, joka takaa yhteensopivuuden seuraavien kanssa:
- Jäljelle jäänyt DICOM Web APIs
- pilvipohjaiset PACS-järjestelmät
- Nykyiset terveydenhuollon yhteentoimivuusalustat
- FHIR-yhteensopivat järjestelmät
Seriointivaihtoehdot
Serialisaation käyttäytymisen mukauttaminen DicomJsonSerializerOptions:
DicomJsonSerializerOptions options = new()
{
UseKeywordsAsJsonKeys = false, // Use tags instead of keywords
WriteKeyword = true, // Include keyword as separate attribute
WriteName = true, // Include tag name as separate attribute
NumberHandling = JsonNumberHandling.AsNumber // Number format
};
string json = DicomJsonSerializer.Serialize(dataset, options);| Option | kuvaus |
|---|---|
UseKeywordsAsJsonKeys | Käytä DICOM- avainsanoja merkintöjen sijasta JSON-tunnuksina (ei-standardi) |
WriteKeyword | Kirjoita DICOM-merkintä avainsana erillisenä JSON-ominaisuutena |
WriteName | Kirjoita DICOM-merkinnän nimi erillisenä JSON-ominaisuutena |
NumberHandling | Käytä numeroita niin kuin AsNumber tai AsString |
BulkDataLoader | BulkData-elementteissä mainittujen blob-tietojen lataaja |
BulkDataConverter | Suunnittelija kirjoittaa tietoja BulkData viittauksina |
Järjestelmä.Text.Json Integraatio
Käytä standardin .NET JSON -serioinnin kanssa muuntimia:
using System.Text.Json;
using Aspose.Medical.Dicom.Serialization;
JsonSerializerOptions options = new();
options.Converters.Add(new DicomFileJsonConverter());
options.Converters.Add(new DatasetJsonConverter());
// Now use with JsonSerializer
string json = JsonSerializer.Serialize(dicomFile, options);Tuetut tyypit
| Sisäänkäynti tyyppi | Lähtömuodot |
|---|---|
DicomFile | JSON ja XML |
Dataset | JSON ja XML |
Dataset[] | JSON ja XML |
Tietojen säilyttäminen
Serialisaatio säilyttää tarkasti:
- Kaikki DICOM-merkinnät ja arvot
- Arvon esitykset (VR)
- Sekoituneet sekvenssit
- Yksityiset tags
- Bulk data viittaukset
- Erityiset aluksen arvot (NaN, Infinity)
Yleisiä käyttötapoja
- Web Viewers: Tarjoa DICOM-metatietoja selaimelle perustuville lääketieteellisille kuvan katsojille.
- REST API: Rakenna terveydenhuollon API, joka vaihtaa DICOM-tietoja JSON-muodossa.
- Data Analytics: DICOM-metatietoja analysoidaan tietojenkäsittelyn putkeissa.
- Integration: Liitä perinnöllinen PACS nykyaikaisiin pilvipohjaisiin terveydenhuollon alustoihin.
- Debugging: Luo DICOM-tietojen ihmisen luettavissa olevat esitykset ongelmanratkaisuun.
- ** Arkistointi**: Tallenna DICOM-metatietoja asiakirjan tietokannoissa, kuten MongoDB tai Elasticsearch.
Parhaat käytännöt
- License first: Aloita mitattu lisenssi ennen muuntamista, jotta voidaan välttää arviointirajoituksia.
- Use Streams: Suurille tiedostoille tai verkkopalveluille käytä virta-pohjaisia menetelmiä muistin tehokkuuden varmistamiseksi.
- Async-toiminnot: Käytä asyncin menetelmiä web-sovelluksissa estääkseen langat.
- Validate round-trips: Test serialisointi/deserialisointiskierrokset tietojen eheyden varmistamiseksi.
- Standard compliance: Käytä oletusarvoisia vaihtoehtoja DICOM PS3.18:n vaatimustenmukaisuuden kannalta; ei-standardin vaihtoehdot voivat rikkoa kolmansien osapuolten kumppaneita.
- UTF-8 koodaus: Stream-menetelmät käyttävät UTF8-koodausta, joka on ihanteellinen verkkopalveluille ja tiedostojen toiminnalle.
Toiminnan yhteenveto
| Operation | Input | Lähtö | Method |
|---|---|---|---|
| Serialize | Dataset | String ja Stream | Serialize |
| Serialize | DicomFile | String ja Stream | Serialize |
| Serialize | Tietokoneet [ ] | String ja Stream | Serialize |
| Deserialize | String ja Stream | Dataset | Deserialize |
| Deserialize | String ja Stream | DicomFile | DeserializeFile |
| Deserialize | String ja Stream | Tietokoneet [ ] | DeserializeList |
FAQ
** Tarvitaanko se kolmansien osapuolten kirjastoja?**Se on erillinen API, joka käyttää vain .NETin sisäänrakennettua JSON/XML-tukea.
**Onko JSON-tuote DICOM Web Servicesin mukainen?**Oletusarvoinen tulos noudattaa DICOM PS3.18:n eritelmiä.
** Voinko räätälöidä JSON-avainmuotoa?**Kyllä - Käytä DicomJsonSerializerOptions hallita merkkejä vs. avainsanoja ja lisäominaisuuksia.
*Ovatko säilyneet jäljennökset säilytettyjä? *Serialisaattori ylläpitää täydellistä DICOM-rakennetta, mukaan lukien nestetut sekvenssit.
** Miten käsitellä suuria DICOM-tiedostoja?**Käyttämällä virta-pohjaisia menetelmiä (Serialize(stream, ...) ja DeserializeAsync• Muistin tehokasta käsittelyä varten.
** Onko kierroksinen kierros muuntaminen tappiota?**Kyllä. Seriointi säilyttää kaikki DICOM-tiedot tarkkaan deserialisoitumiseksi takaisin Datasetille tai DicomFile-objekteille.