DicomObjects.NET.8.48 Documentation
DicomObjects Namespace / DicomDataSet Class / Write Method / Write(String,Boolean) Method

The name of the file to write.

This is passed unmodified to the operating system, and it is therefore the container�s responsibility to ensure either that the current directory is set correctly, or that a fully qualified filename is provided.

If TRUE, a blank 128 byte header, DICM marker, and meta-header are written at the start of the file, and an appropriate transfer syntax is used, as below.

If FALSE, the file is written in the unofficial, but common format, with no header, and using the little-endian implicit VR transfer syntax.

Example

In This Topic
    Write(String,Boolean) Method
    In This Topic
    Writes dataset to an external DICOM file
    Syntax
    'Declaration
     
    
    Public Overloads Sub Write( _
       ByVal FileName As System.String, _
       ByVal isPart10 As System.Boolean _
    ) 
    public void Write( 
       System.string FileName,
       System.bool isPart10
    )

    Parameters

    FileName

    The name of the file to write.

    This is passed unmodified to the operating system, and it is therefore the container�s responsibility to ensure either that the current directory is set correctly, or that a fully qualified filename is provided.

    isPart10

    If TRUE, a blank 128 byte header, DICM marker, and meta-header are written at the start of the file, and an appropriate transfer syntax is used, as below.

    If FALSE, the file is written in the unofficial, but common format, with no header, and using the little-endian implicit VR transfer syntax.

    Remarks

    The file may subsequently be read by the Read method or by other DICOM software.

    Quality is specific to the compression method being used, and is ignored for non-compressed or lossless JPEG transfer syntaxes. For Lossy JPEG, it is an integer in the range 1-100, the higher the number, the better the quality (and the larger the file), and for JPEG 2000 lossy, it is a compression ratio. Other compression methods may use this for other purposes in the future.

    Example
    DicomDataSet ds = new DicomDataSet();       
    string filename = "Output_Dataset.dcm";
    bool isPart10 = true;        
                
    string pixelTransferSyntax = TransferSyntaxes.ExplicitVRLittleEndian;
    ds.Add(Keyword.SamplesPerPixel, 1);
    ds.Add(Keyword.PhotometricInterpretation, "MONOCHROME2");
    ds.Add(Keyword.Rows, 512);
    ds.Add(Keyword.Columns, 512);
    ds.Add(Keyword.PixelSpacing, new float[] { 0.684f, 0.684f });
    ds.Add(Keyword.BitsAllocated, 16);
    ds.Add(Keyword.BitsStored, 12);
    ds.Add(Keyword.HighBit, 11);
    ds.Add(Keyword.PixelRepresentation, 0);
    ds.Add(Keyword.WindowCenter, new int[] { 35, 50 });
    ds.Add(Keyword.WindowWidth, new int[] { 350, 150 });
    ds.Add(Keyword.RescaleIntercept, -1200);
    ds.Add(Keyword.RescaleSlope, 1);
    ds.SetPixelData(pixelTransferSyntax, getData);   
                        
    ds.Write(filename, isPart10);
                
    // Method
    private Stream getData(int arg)
    {
        return new FileStream("pixel.data", FileMode.Open, FileAccess.Read, FileShare.Read);
    }
    Requirements

    Target Platforms: .NET CLR 4.8 or higher

    See Also