While the basic offset table is useful for readers, it is not required, since readers are required to be able to handle empty basic offset tables. For writers, the creation of the basic offset table can be inefficient since the size of the compressed image fragments that follow is not known in advance, so unless the output that the writer is writing to is seekable, the entire compressed image stream must be buffered in order to write the basic offset table first.
LaurelBridge.DCF.Examples.CreateBasicOffsetTableProgram
Namespace: LaurelBridge.DCF.Examples.CreateBasicOffsetTable
Assembly: CreateBasicOffsetTable (in CreateBasicOffsetTable.exe) Version: DCF34 r11538 DCF_3_4_24_20190319
public class Program
The Program type exposes the following members.
Name | Description | |
---|---|---|
Program | Initializes a new instance of the Program class |
Name | Description | |
---|---|---|
Main |
Main entry point for CreateBasicOffsetTable.
|
By default, DCF does not write the frame offset table, but starting with DCF3.4.4, it is possible to create, or to replace the basic offset tables when datasets are written. There are a number of session related properties that assist in this capability.
DICOM specifies that an empty offset table is valid, and this is the default behavior. The BasicOffsetTableCreationMode defines how basic offset tables are created. The valid values are:
0 | Create an empty offset table, which is simplest, and requires no buffering. |
1 | Create if empty or invalid, which will create a basic offset table if it does not exist, and may require buffering all image data for non-seekable streams. |
2 | Replace existing offset table, which is useful if the existing basic offset table is known to be invalid. This option may also require buffering all image data for non-seekable streams. |