DicomImage
Contenu
[
Cacher
]DicomImage class
C’est la classe de l’implémentation fonctionnant avec l’image du fichier DICOM
public sealed class DicomImage : RasterCachedMultipageImage, IMultipageImageExt
Constructeurs
Nom | La description |
---|---|
DicomImage(Stream) | Initialise une nouvelle instance duDicomImage classe. |
DicomImage(Stream, LoadOptions) | Initialise une nouvelle instance duDicomImage classe. |
DicomImage(DicomOptions, int, int) | Initialise une nouvelle instance duDicomImage classe. |
Propriétés
Nom | La description |
---|---|
ActivePage { get; set; } | Obtient ou définit la page active. |
ActivePageIndex { get; } | Obtient la page active d’index. |
AutoAdjustPalette { get; set; } | Obtient ou définit une valeur indiquant si la palette de réglage automatique. |
override BackgroundColor { get; set; } | Obtient ou définit une valeur pour la couleur d’arrière-plan. |
override BitsPerPixel { get; } | Obtient le nombre de bits d’image par pixel. |
Bounds { get; } | Obtient les limites de l’image. |
BufferSizeHint { get; set; } | Obtient ou définit l’indice de taille de tampon qui est défini comme la taille maximale autorisée pour tous les tampons internes. |
Container { get; } | Obtient leImage conteneur. |
DataStreamContainer { get; } | Obtient le flux de données de l’objet. |
DicomPages { get; } | Obtient les pages. |
Disposed { get; } | Obtient une valeur indiquant si cette instance est supprimée. |
override FileFormat { get; } | Obtient une valeur de format de fichier |
FileInfo { get; } | Obtient une valeur contenant l’en-tête d’informations du fichier DICOM |
override HasAlpha { get; } | Obtient le canal alpha A. |
virtual HasBackgroundColor { get; set; } | Obtient ou définit une valeur indiquant si l’image a une couleur d’arrière-plan. |
override HasTransparentColor { get; } | Obtient une valeur indiquant si l’image a une couleur transparente. |
override Height { get; } | Obtient la hauteur de l’image. |
virtual HorizontalResolution { get; set; } | Obtient ou définit la résolution horizontale, en pixels par pouce, de ceRasterImage . |
override ImageOpacity { get; } | Obtient l’opacité de cette image. |
InterruptMonitor { get; set; } | Obtient ou définit le moniteur d’interruption. |
IsCached { get; } | Obtient une valeur indiquant si les données d’image sont actuellement mises en cache. |
IsRawDataAvailable { get; } | Obtient une valeur indiquant si le chargement des données brutes est disponible. |
override PageCount { get; } | Obtient le nombre de pages. |
override PageExportingAction { get; set; } | Obtient ou définit l’action d’exportation de la page. Veuillez noter que la définition de cette méthode libérera automatiquement les ressources de la page après son exécution. Elle sera exécutée juste avant l’enregistrement de chaque page. |
override Pages { get; } | Obtient les pages. |
Palette { get; set; } | Obtient ou définit la palette de couleurs. La palette de couleurs n’est pas utilisée lorsque les pixels sont représentés directement. |
virtual PremultiplyComponents { get; set; } | Obtient ou définit une valeur indiquant si les composants de l’image doivent être prémultipliés. |
RawCustomColorConverter { get; set; } | Obtient ou définit le convertisseur de couleur personnalisé |
virtual RawDataFormat { get; } | Obtient le format des données brutes. |
RawDataSettings { get; } | Obtient les paramètres de données brutes actuels. Notez que lorsque vous utilisez ces paramètres, les données se chargent sans conversion. |
RawFallbackIndex { get; set; } | Obtient ou définit l’index de secours à utiliser lorsque l’index de palette est hors limites |
RawIndexedColorConverter { get; set; } | Obtient ou définit le convertisseur de couleur indexé |
virtual RawLineSize { get; } | Obtient la taille de ligne brute en octets. |
Size { get; } | Obtient la taille de l’image. |
virtual TransparentColor { get; set; } | Obtient la couleur transparente de l’image. |
virtual UpdateXmpData { get; set; } | Obtient ou définit une valeur indiquant s’il faut mettre à jour les métadonnées XMP. |
override UsePalette { get; } | Obtient une valeur indiquant si la palette d’images est utilisée. |
virtual UseRawData { get; set; } | Obtient ou définit une valeur indiquant s’il faut utiliser le chargement des données brutes lorsque le chargement des données brutes est disponible. |
virtual VerticalResolution { get; set; } | Obtient ou définit la résolution verticale, en pixels par pouce, de ceRasterImage . |
override Width { get; } | Obtient la largeur de l’image. |
override XmpData { get; set; } | Obtient ou définit les données Xmp. |
Méthodes
Nom | La description |
---|---|
AddPage() | Ajoute une nouvelle page à la fin de la liste des pages. |
AddPage(RasterImage) | Ajoute une page à l’image. |
override AdjustBrightness(int) | Ajustement d’unbrightness pour image. |
override AdjustContrast(float) | Image contraste |
override AdjustGamma(float) | Correction gamma d’une image. |
override AdjustGamma(float, float, float) | Correction gamma d’une image. |
override BinarizeBradley(double) | Binarisation d’une image à l’aide de l’algorithme de seuillage adaptatif de Bradley à l’aide du seuillage d’image intégral |
override BinarizeBradley(double, int) | Binarisation d’une image à l’aide de l’algorithme de seuillage adaptatif de Bradley à l’aide du seuillage d’image intégral |
override BinarizeFixed(byte) | Binarisation d’une image avec seuil prédéfini |
override BinarizeOtsu() | Binarisation d’une image avec seuillage Otsu |
override CacheData() | Cache les données privées. |
CanSave(ImageOptionsBase) | Détermine si l’image peut être enregistrée dans le format de fichier spécifié représenté par les options d’enregistrement transmises. |
override Crop(Rectangle) | Recadrage de l’image. |
override Crop(int, int, int, int) | Recadrer l’image avec des décalages. |
Dispose() | Supprime l’instance actuelle. |
Dither(DitheringMethod, int) | Effectue un tramage sur l’image actuelle. |
override Dither(DitheringMethod, int, IColorPalette) | Effectue un tramage sur l’image actuelle. |
override Filter(Rectangle, FilterOptionsBase) | Filtre le rectangle spécifié. |
GetArgb32Pixel(int, int) | Obtient une image pixel ARGB 32 bits. |
GetDefaultArgb32Pixels(Rectangle) | Obtient le tableau de pixels ARGB 32 bits par défaut. |
virtual GetDefaultOptions(object[]) | Récupère les options par défaut. |
GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) | Obtient le tableau de pixels par défaut à l’aide du chargeur de pixels partiel. |
GetDefaultRawData(Rectangle, RawDataSettings) | Obtient le tableau de données brutes par défaut. |
GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) | Obtient le tableau de données brutes par défaut à l’aide du chargeur de pixels partiel. |
virtual GetModifyDate(bool) | Obtient la date et l’heure de la dernière modification de l’image de ressource. |
virtual GetOriginalOptions() | Obtient les options basées sur les paramètres du fichier d’origine. Cela peut être utile pour conserver la profondeur de bits et d’autres paramètres de l’image d’origine inchangés. Par exemple, si nous chargeons une image PNG noir-blanc avec 1 bit par pixel, puis enregistrez-le en utilisant the Save , l’image PNG de sortie avec 8 bits par pixel sera produite. Pour l’éviter et enregistrer l’image PNG avec 1 bit par pixel, utilisez cette méthode pour obtenir les options d’enregistrement correspondantes et passez-les auSave méthode comme deuxième paramètre. |
GetPixel(int, int) | Obtient un pixel d’image. |
GetSkewAngle() | Obtient l’angle d’inclinaison. Cette méthode est applicable aux documents texte numérisés, pour déterminer l’angle d’inclinaison lors de la numérisation. |
override Grayscale() | Transformation d’une image en sa représentation en niveaux de gris |
InsertPage(int) | Insère une nouvelle page dans la liste des pages à l’index spécifié. |
LoadArgb32Pixels(Rectangle) | Charge les pixels ARGB 32 bits. |
LoadArgb64Pixels(Rectangle) | Charge les pixels ARGB 64 bits. |
LoadCmyk32Pixels(Rectangle) | Charge les pixels au format CMJN. |
LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) | Charge les pixels ARGB 32 bits partiellement par packs. |
LoadPartialPixels(Rectangle, IPartialPixelLoader) | Charge les pixels partiellement par packs. |
LoadPixels(Rectangle) | Charge les pixels. |
LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) | Charge les données brutes. |
LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) | Charge les données brutes. |
NormalizeAngle() | Normalise l’angle. Cette méthode est applicable aux documents texte numérisés pour se débarrasser de la numérisation biaisée. Cette méthode utiliseGetSkewAngle etRotate méthodes. |
override NormalizeAngle(bool, Color) | Normalise l’angle. Cette méthode est applicable aux documents texte numérisés pour se débarrasser de la numérisation biaisée. Cette méthode utilise!:GetSkewAngle etRotate méthodes. |
ReadArgb32ScanLine(int) | Lit toute la ligne de balayage par l’index de ligne de balayage spécifié. |
ReadScanLine(int) | Lit toute la ligne de balayage par l’index de ligne de balayage spécifié. |
RemovePage(int) | Supprime la page à l’index spécifié de la liste de pages. |
ReplaceColor(Color, byte, Color) | Remplace une couleur par une autre avec la différence autorisée et conserve la valeur alpha d’origine pour enregistrer des bords lisses. |
override ReplaceColor(int, byte, int) | Remplace une couleur par une autre avec la différence autorisée et conserve la valeur alpha d’origine pour enregistrer des bords lisses. |
ReplaceNonTransparentColors(Color) | Remplace toutes les couleurs non transparentes par une nouvelle couleur et conserve la valeur alpha d’origine pour enregistrer des bords lisses. Remarque : si vous l’utilisez sur des images sans transparence, toutes les couleurs seront remplacées par une seule. |
override ReplaceNonTransparentColors(int) | Remplace toutes les couleurs non transparentes par une nouvelle couleur et conserve la valeur alpha d’origine pour enregistrer des bords lisses. Remarque : si vous l’utilisez sur des images sans transparence, toutes les couleurs seront remplacées par une seule. |
Resize(int, int) | Redimensionne l’image. Le défautNearestNeighbourResample est utilisé. |
override Resize(int, int, ImageResizeSettings) | Redimensionne l’image. |
override Resize(int, int, ResizeType) | Redimensionne l’image. |
ResizeHeightProportionally(int) | Redimensionne la hauteur proportionnellement. Le défautNearestNeighbourResample est utilisé. |
virtual ResizeHeightProportionally(int, ImageResizeSettings) | Redimensionne la hauteur proportionnellement. |
override ResizeHeightProportionally(int, ResizeType) | Redimensionne la largeur proportionnellement. |
ResizeProportional(int, int, ResizeType) | Effectue un redimensionnement proportionnel sur l’image. Le redimensionnement proportionnel redimensionne chaque image en fonction du rapport denewWidth/largeur etnewHeight /hauteur. |
ResizeWidthProportionally(int) | Redimensionne la largeur proportionnellement. Le défautNearestNeighbourResample est utilisé. |
virtual ResizeWidthProportionally(int, ImageResizeSettings) | Redimensionne la largeur proportionnellement. |
override ResizeWidthProportionally(int, ResizeType) | Redimensionne la largeur proportionnellement. |
virtual Rotate(float) | Faire pivoter l’image autour du centre. |
override Rotate(float, bool, Color) | !:RasterCahcedMultipageImage.Rotate image autour du centre. |
override RotateFlip(RotateFlipType) | Fait pivoter, retourne ou fait pivoter et retourne le cadre actif uniquement. |
Save() | Enregistre les données d’image dans le flux sous-jacent. |
Save(Stream) | Enregistre les données de l’objet dans le flux spécifié. |
override Save(string) | Enregistre l’image à l’emplacement de fichier spécifié. |
Save(Stream, ImageOptionsBase) | Enregistre les données de l’image dans le flux spécifié dans le format de fichier spécifié en fonction des options d’enregistrement. |
virtual Save(string, bool) | Enregistre les données de l’objet à l’emplacement de fichier spécifié. |
virtual Save(string, ImageOptionsBase) | Enregistre les données de l’objet à l’emplacement de fichier spécifié dans le format de fichier spécifié en fonction des options d’enregistrement. |
override Save(Stream, ImageOptionsBase, Rectangle) | Enregistre les données de l’image dans le flux spécifié dans le format de fichier spécifié en fonction des options d’enregistrement. |
virtual Save(string, ImageOptionsBase, Rectangle) | Enregistre les données de l’objet à l’emplacement de fichier spécifié dans le format de fichier spécifié en fonction des options d’enregistrement. |
SaveAll(string, ImageOptionsBase) | Enregistre les données de l’objet à l’emplacement de fichier spécifié (indexeur + nom de fichier) dans le format de fichier spécifié en fonction des options d’enregistrement.. |
SaveArgb32Pixels(Rectangle, int[]) | Enregistre les pixels ARGB 32 bits. |
SaveCmyk32Pixels(Rectangle, int[]) | Enregistre les pixels. |
SavePixels(Rectangle, Color[]) | Enregistre les pixels. |
SaveRawData(byte[], int, Rectangle, RawDataSettings) | Enregistre les données brutes. |
SetArgb32Pixel(int, int, int) | Définit un pixel ARGB 32 bits d’image pour la position spécifiée. |
override SetPalette(IColorPalette, bool) | Définit la palette d’images. |
SetPixel(int, int, Color) | Définit un pixel d’image pour la position spécifiée. |
override SetResolution(double, double) | Définit la résolution pour ceRasterImage . |
virtual ToBitmap() | Convertit l’image raster en bitmap. |
WriteArgb32ScanLine(int, int[]) | Écrit toute la ligne de balayage dans l’index de ligne de balayage spécifié. |
WriteScanLine(int, Color[]) | Écrit toute la ligne de balayage dans l’index de ligne de balayage spécifié. |
Exemples
Modifier le type de couleur dans la compression DICOM.
[C#]
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions { ColorType = ColorType.Grayscale8Bit };
inputImage.Save("original_8Bit.dcm", options);
}
Utilisez la compression RLE dans l’image DICOM.
[C#]
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions
{
ColorType = ColorType.Rgb24Bit,
Compression = new Compression { Type = CompressionType.Rle }
};
inputImage.Save("original_RLE.dcm", options);
}
Utilisez la compression JPEG 2000 dans l’image DICOM.
[C#]
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions
{
ColorType = ColorType.Rgb24Bit,
Compression = new Compression
{
Type = CompressionType.Jpeg2000,
Jpeg2000 = new Jpeg2000Options
{
Codec = Jpeg2000Codec.Jp2,
Irreversible = false
}
}
};
inputImage.Save("original_JPEG2000.dcm", options);
}
Utilisez la compression JPEG dans l’image DICOM.
[C#]
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions
{
ColorType = ColorType.Rgb24Bit,
Compression = new Compression
{
Type = CompressionType.Jpeg,
Jpeg = new JpegOptions
{
CompressionType = JpegCompressionMode.Baseline,
SampleRoundingMode = SampleRoundingMode.Truncate,
Quality = 50
}
}
};
inputImage.Save("original_JPEG.dcm", options);
}
Cet exemple montre comment charger une image DICOM à partir d’un flux de fichiers.
[C#]
string dir = "c:\\temp\\";
// Charge une image DICOM à partir d'un flux de fichiers.
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "sample.dicom"))
{
using (Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = new Aspose.Imaging.FileFormats.Dicom.DicomImage(stream))
{
// Enregistre chaque page en tant qu'image PNG individuelle.
foreach (Aspose.Imaging.FileFormats.Dicom.DicomPage dicomPage in dicomImage.DicomPages)
{
// Génère un nom de fichier basé sur l'index de la page.
string fileName = string.Format("sample.{0}.png", dicomPage.Index);
// Une page DICOM est une image raster, donc toutes les opérations autorisées avec une image raster sont applicables à une page DICOM.
dicomPage.Save(dir + fileName, new Aspose.Imaging.ImageOptions.PngOptions());
}
}
}
Créez une image Dicom de plusieurs pages.
[C#]
using (DicomImage image = (DicomImage)Image.Create(
new DicomOptions() { Source = new StreamSource(new MemoryStream()) },
100,
100))
{
// Dessine quelque chose en utilisant des graphiques vectoriels
Graphics graphics = new Graphics(image);
graphics.FillRectangle(new SolidBrush(Color.BlueViolet), image.Bounds);
graphics.FillRectangle(new SolidBrush(Color.Aqua), 10, 20, 50, 20);
graphics.FillEllipse(new SolidBrush(Color.Orange), 30, 50, 70, 30);
// Enregistre les pixels de l'image dessinée. Ils sont maintenant sur la première page de l'image Dicom.
int[] pixels = image.LoadArgb32Pixels(image.Bounds);
// Ajoute quelques pages après, les rendant plus sombres
for (int i = 1; i < 5; i++)
{
DicomPage page = image.AddPage();
page.SaveArgb32Pixels(page.Bounds, pixels);
page.AdjustBrightness(i * 30);
}
// Ajoute quelques pages devant la page principale, les rendant plus lumineuses
for (int i = 1; i < 5; i++)
{
DicomPage page = image.InsertPage(0);
page.SaveArgb32Pixels(page.Bounds, pixels);
page.AdjustBrightness(-i * 30);
}
// Enregistre l'image multi-pages créée dans le fichier de sortie
image.Save("MultiPage.dcm");
}
Voir également
- class RasterCachedMultipageImage
- interface IMultipageImageExt
- espace de noms Aspose.Imaging.FileFormats.Dicom
- Assemblée Aspose.Imaging