loci.formats.in

## Class SDTInfo

- java.lang.Object
- - loci.formats.in.SDTInfo

-     public class SDTInfo
      extends java.lang.Object

  SDTInfo encapsulates the header information for Becker & Hickl SPC-Image SDT files.
  Author:
    Curtis Rueden ctrueden at wisc.edu

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `short` | `accumulate`
    `short` | `adcDE` ADC sample delay (SPC-930).
    `short` | `adcRE`
    `int` | `adcZoom`
    `long[]` | `allBlockLengths`
    `long[]` | `allBlockOffsets`
    `static short` | `BH_HEADER_CHKSUM`
    `static short` | `BH_HEADER_NOT_VALID`
    `static short` | `BH_HEADER_VALID`
    `static java.lang.String` | `BINARY_SETUP`
    `long` | `blockLength` reserved2 now contains block (set) length.
    `short` | `blockNo` Number of the block in the file.
    `int` | `blockType` See blockType defines below.
    `int` | `bordL`
    `int` | `bordU`
    `static java.lang.String` | `C_STRING`
    `long` | `calcPhotons` No of photons.
    `float` | `cfdHF`
    `float` | `cfdLH`
    `float` | `cfdLL`
    `float` | `cfdZC`
    `int` | `chan` Routing channel number.
    `int` | `channels`
    `int` | `chksum`
    `float` | `colT`
    `float` | `cortime` Correlation time [ms].
    `int` | `crossChan` Cross FCS routing channel number when chan = crossChan and mod == crossMod - Auto FCS otherwise - Cross FCS.
    `int` | `crossMod` Cross FCS module number.
    `long` | `crossMtResol` Macro time clock of cross FCS module in 0.1 ns units.
    `int` | `curCycle` Current cycle (accumulation cycle in FLOW mode) - (if multi-cycle measurement).
    `int` | `curPage` Current measured page.
    `int` | `curStep` Current step (if multi-step measurement).
    `int` | `cycles` Cycles (accumulation cycles in FLOW mode).
    `static java.lang.String` | `DATA_IDENTIFIER` For normal .sdt files (setup + data).
    `int` | `dataBlockLength`
    `int` | `dataBlockOffs` Offset of the first data block.
    `int` | `dataOffs` Offset of the data block from the beginning of the file.
    `java.lang.String` | `date` Date of creation.
    `short` | `deadTimeComp`
    `short` | `detType` Detector type (SPC-930 in camera mode).
    `short` | `dither`
    `static java.lang.String` | `DLL_DATA_IDENTIFIER` For .sdt files created using DLL function SPC_save_data_to_sdtfile (no setup, only data).
    `short` | `ealDE`
    `float` | `endTime` Macro time of the last photon.
    `int` | `epxDiv`
    `static java.lang.String` | `FCS_DATA_IDENTIFIER` For .sdt files created in FIFO mode (setup, data blocks = Decay, FCS, FIDA, FILDA & MCS curves for each used routing channel).
    `int` | `fcsDecayCalc` Bit 0 = 1 - decay curve calculated.
    `int` | `fcsPoints` No of FCS values.
    `int` | `fcsType` 0 - linear FCS with log binning (100 bins/log) when bit 15 = 1 (0x8000) - Multi-Tau FCS where bits 14-0 = ktau parameter.
    `int` | `fidaPoints` No of FIDA values.
    `float` | `fidaTime` Interval time [ms] for FIDA histogram.
    `short` | `fifoTyp`
    `int` | `fildaPoints` No of FILDA values.
    `float` | `fildaTime` Interval time [ms] for FILDA histogram.
    `int` | `flags` Scan clocks bits 2-0 (frame, line, pixel), rates_read - bit 15.
    `int` | `flbckX`
    `int` | `flbckY`
    `static java.lang.String` | `FLOW_DATA_IDENTIFIER` For .sdt files created automatically in Continuous Flow mode measurement (no setup, only data).
    `boolean` | `hasExtendedMeasureInfo`
    `boolean` | `hasMeasFCSInfo`
    `boolean` | `hasMeasHISTInfo`
    `boolean` | `hasMeasStopInfo`
    `boolean` | `hasMeasureInfo`
    `int` | `headerValid`
    `int` | `height`
    `int` | `imageRX`
    `int` | `imageRY`
    `int` | `imageX` 4 subsequent fields valid only for Camera mode or FIFO_IMAGE mode.
    `int` | `imageY`
    `short` | `incr`
    `java.lang.String` | `info`
    `short` | `infoLength` Length of the info part.
    `int` | `infoOffs` Offset of the info part which contains general text information (Title, date, time, contents etc.).
    `long` | `lblockNo` Long blockNo - see remarks below.
    `short` | `linediv` Line predivider = 2 ** (linediv).
    `short` | `masterClock` Use or not Master Clock (SPC140 multi-module).
    `float` | `maxAdcRate`
    `float` | `maxCfdRate` (-1.0 - not set).
    `float` | `maxSyncRate` Maximum rates during the measurement.
    `float` | `maxTacRate`
    `int` | `mcsPoints` No of MCS values.
    `int` | `mcstaPoints` Number of MCS_TA points.
    `float` | `mcsTime` Interval time [ms] for MCS histogram.
    `short` | `measDescBlockLength`
    `short` | `measDescBlockNo` Number of the measurement description block corresponding to this data block.
    `int` | `measDescBlockOffs`
    `short` | `measMode`
    `short` | `memBank`
    `float` | `minAdcRate`
    `float` | `minCfdRate` (-1.0 - not set).
    `float` | `minSyncRate` Minimum rates during the measurement.
    `float` | `minTacRate`
    `int` | `mod` Module number.
    `int` | `modFpgaVer` New in v.8.4.
    `java.lang.String` | `modSerNo` Serial number of the module.
    `java.lang.String` | `modType` Module type.
    `int` | `modTypeCode`
    `int` | `mReserved1`
    `float` | `mReserved2`
    `long` | `mtResol` Macro time clock in 0.1 ns units.
    `short` | `ncx`
    `short` | `ncy`
    `int` | `nextBlockOffs` Offset to the data block header of the next data block.
    `short` | `noOfDataBlocks` no_of_data_blocks valid only when in 0 ..
    `short` | `noOfMeasDescBlocks`
    `float` | `offset`
    `int` | `overfl`
    `float` | `overflowCorrFactor`
    `int` | `overruns` No of Fifo overruns when > 0 fcs curve & endTime are not valid.
    `int` | `page`
    `short` | `pixClk`
    `float` | `pixTime`
    `short` | `polarityF`
    `short` | `polarityL` 2 = disabled line markers.
    `short` | `polarityP`
    `float` | `repT`
    `long` | `reserved1`
    `int` | `reserved2`
    `short` | `revision` Software revision number (lower 4 bits >= 10(decimal)).
    `int` | `scanRX`
    `int` | `scanRY`
    `int` | `scanX`
    `int` | `scanY`
    `java.lang.String` | `setup`
    `static java.lang.String` | `SETUP_IDENTIFIER` For .set files (setup only).
    `int` | `setupLength` Length of the setup data.
    `int` | `setupOffs` Offset of the setup text data (system parameters, display parameters, trace parameters etc.).
    `int` | `status` Last SPC_test_state return value (status).
    `int` | `steps`
    `short` | `stopt`
    `float` | `stopTime` Time from start to - disarm (simple measurement) - or to the end of the cycle (for complex measurement).
    `short` | `synFD`
    `float` | `synHF`
    `float` | `synTH`
    `float` | `synZC`
    `static java.lang.String` | `T_STRING`
    `short` | `tacG`
    `float` | `tacLH`
    `float` | `tacLL`
    `float` | `tacOF`
    `float` | `tacR`
    `java.lang.String` | `time` Time of creation.
    `int` | `timeBins`
    `int` | `timepoints`
    `short` | `trigger`
    `short` | `useMotor`
    `int` | `width`
    `static java.lang.String` | `X_IMG_STRING`
    `static java.lang.String` | `X_STRING`
    `short` | `xAxis` X axis representation (SPC-930).
    `short` | `xyGain` Gain for XY ADCs (SPC930).
    `static java.lang.String` | `Y_IMG_STRING`
    `static java.lang.String` | `Y_STRING`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SDTInfo(loci.common.RandomAccessInputStream in, java.util.Hashtable meta)` Constructs a new SDT header by reading values from the given input source, populating the given metadata table.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `private long` | `readUnsignedLong(loci.common.RandomAccessInputStream in)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### BH_HEADER_CHKSUM

          public static final short BH_HEADER_CHKSUM

      See Also:
        Constant Field Values

    - #### BH_HEADER_NOT_VALID

          public static final short BH_HEADER_NOT_VALID

      See Also:
        Constant Field Values

    - #### BH_HEADER_VALID

          public static final short BH_HEADER_VALID

      See Also:
        Constant Field Values

    - #### SETUP_IDENTIFIER

          public static final java.lang.String SETUP_IDENTIFIER

      For .set files (setup only).
      See Also:
        Constant Field Values

    - #### DATA_IDENTIFIER

          public static final java.lang.String DATA_IDENTIFIER

      For normal .sdt files (setup + data).
      See Also:
        Constant Field Values

    - #### FLOW_DATA_IDENTIFIER

          public static final java.lang.String FLOW_DATA_IDENTIFIER

      For .sdt files created automatically in Continuous Flow mode measurement (no setup, only data).
      See Also:
        Constant Field Values

    - #### DLL_DATA_IDENTIFIER

          public static final java.lang.String DLL_DATA_IDENTIFIER

      For .sdt files created using DLL function SPC_save_data_to_sdtfile (no setup, only data).
      See Also:
        Constant Field Values

    - #### FCS_DATA_IDENTIFIER

          public static final java.lang.String FCS_DATA_IDENTIFIER

      For .sdt files created in FIFO mode (setup, data blocks = Decay, FCS, FIDA, FILDA & MCS curves for each used routing channel).
      See Also:
        Constant Field Values

    - #### X_STRING

          public static final java.lang.String X_STRING

      See Also:
        Constant Field Values

    - #### Y_STRING

          public static final java.lang.String Y_STRING

      See Also:
        Constant Field Values

    - #### T_STRING

          public static final java.lang.String T_STRING

      See Also:
        Constant Field Values

    - #### C_STRING

          public static final java.lang.String C_STRING

      See Also:
        Constant Field Values

    - #### X_IMG_STRING

          public static final java.lang.String X_IMG_STRING

      See Also:
        Constant Field Values

    - #### Y_IMG_STRING

          public static final java.lang.String Y_IMG_STRING

      See Also:
        Constant Field Values

    - #### BINARY_SETUP

          public static final java.lang.String BINARY_SETUP

      See Also:
        Constant Field Values

    - #### width

          public int width

    - #### height

          public int height

    - #### timeBins

          public int timeBins

    - #### channels

          public int channels

    - #### timepoints

          public int timepoints

    - #### revision

          public short revision

      Software revision number (lower 4 bits >= 10(decimal)).

    - #### infoOffs

          public int infoOffs

      Offset of the info part which contains general text information (Title, date, time, contents etc.).

    - #### infoLength

          public short infoLength

      Length of the info part.

    - #### setupOffs

          public int setupOffs

      Offset of the setup text data (system parameters, display parameters, trace parameters etc.).

    - #### setupLength

          public int setupLength

      Length of the setup data.

    - #### dataBlockOffs

          public int dataBlockOffs

      Offset of the first data block.

    - #### noOfDataBlocks

          public short noOfDataBlocks

      no_of_data_blocks valid only when in 0 .. 0x7ffe range, if equal to 0x7fff the field 'reserved1' contains valid no_of_data_blocks.

    - #### dataBlockLength

          public int dataBlockLength

    - #### measDescBlockOffs

          public int measDescBlockOffs

    - #### noOfMeasDescBlocks

          public short noOfMeasDescBlocks

    - #### measDescBlockLength

          public short measDescBlockLength

    - #### headerValid

          public int headerValid

    - #### reserved1

          public long reserved1

    - #### reserved2

          public int reserved2

    - #### chksum

          public int chksum

    - #### info

          public java.lang.String info

    - #### setup

          public java.lang.String setup

    - #### hasMeasureInfo

          public boolean hasMeasureInfo

    - #### time

          public java.lang.String time

      Time of creation.

    - #### date

          public java.lang.String date

      Date of creation.

    - #### modSerNo

          public java.lang.String modSerNo

      Serial number of the module.

    - #### measMode

          public short measMode

    - #### cfdLL

          public float cfdLL

    - #### cfdLH

          public float cfdLH

    - #### cfdZC

          public float cfdZC

    - #### cfdHF

          public float cfdHF

    - #### synZC

          public float synZC

    - #### synFD

          public short synFD

    - #### synHF

          public float synHF

    - #### tacR

          public float tacR

    - #### tacG

          public short tacG

    - #### tacOF

          public float tacOF

    - #### tacLL

          public float tacLL

    - #### tacLH

          public float tacLH

    - #### adcRE

          public short adcRE

    - #### ealDE

          public short ealDE

    - #### ncx

          public short ncx

    - #### ncy

          public short ncy

    - #### page

          public int page

    - #### colT

          public float colT

    - #### repT

          public float repT

    - #### stopt

          public short stopt

    - #### overfl

          public int overfl

    - #### useMotor

          public short useMotor

    - #### steps

          public int steps

    - #### offset

          public float offset

    - #### dither

          public short dither

    - #### incr

          public short incr

    - #### memBank

          public short memBank

    - #### modType

          public java.lang.String modType

      Module type.

    - #### synTH

          public float synTH

    - #### deadTimeComp

          public short deadTimeComp

    - #### polarityL

          public short polarityL

      2 = disabled line markers.

    - #### polarityF

          public short polarityF

    - #### polarityP

          public short polarityP

    - #### linediv

          public short linediv

      Line predivider = 2 ** (linediv).

    - #### accumulate

          public short accumulate

    - #### flbckY

          public int flbckY

    - #### flbckX

          public int flbckX

    - #### bordU

          public int bordU

    - #### bordL

          public int bordL

    - #### pixTime

          public float pixTime

    - #### pixClk

          public short pixClk

    - #### trigger

          public short trigger

    - #### scanX

          public int scanX

    - #### scanY

          public int scanY

    - #### scanRX

          public int scanRX

    - #### scanRY

          public int scanRY

    - #### fifoTyp

          public short fifoTyp

    - #### epxDiv

          public int epxDiv

    - #### modTypeCode

          public int modTypeCode

    - #### modFpgaVer

          public int modFpgaVer

      New in v.8.4.

    - #### overflowCorrFactor

          public float overflowCorrFactor

    - #### adcZoom

          public int adcZoom

    - #### cycles

          public int cycles

      Cycles (accumulation cycles in FLOW mode).

    - #### hasMeasStopInfo

          public boolean hasMeasStopInfo

    - #### status

          public int status

      Last SPC_test_state return value (status).

    - #### flags

          public int flags

      Scan clocks bits 2-0 (frame, line, pixel), rates_read - bit 15.

    - #### stopTime

          public float stopTime

      Time from start to - disarm (simple measurement) - or to the end of the cycle (for complex measurement).

    - #### curStep

          public int curStep

      Current step (if multi-step measurement).

    - #### curCycle

          public int curCycle

      Current cycle (accumulation cycle in FLOW mode) - (if multi-cycle measurement).

    - #### curPage

          public int curPage

      Current measured page.

    - #### minSyncRate

          public float minSyncRate

      Minimum rates during the measurement.

    - #### minCfdRate

          public float minCfdRate

      (-1.0 - not set).

    - #### minTacRate

          public float minTacRate

    - #### minAdcRate

          public float minAdcRate

    - #### maxSyncRate

          public float maxSyncRate

      Maximum rates during the measurement.

    - #### maxCfdRate

          public float maxCfdRate

      (-1.0 - not set).

    - #### maxTacRate

          public float maxTacRate

    - #### maxAdcRate

          public float maxAdcRate

    - #### mReserved1

          public int mReserved1

    - #### mReserved2

          public float mReserved2

    - #### hasMeasFCSInfo

          public boolean hasMeasFCSInfo

    - #### chan

          public int chan

      Routing channel number.

    - #### fcsDecayCalc

          public int fcsDecayCalc

      Bit 0 = 1 - decay curve calculated. Bit 1 = 1 - fcs curve calculated. Bit 2 = 1 - FIDA curve calculated. Bit 3 = 1 - FILDA curve calculated. Bit 4 = 1 - MCS curve calculated. Bit 5 = 1 - 3D Image calculated.

    - #### mtResol

          public long mtResol

      Macro time clock in 0.1 ns units.

    - #### cortime

          public float cortime

      Correlation time [ms].

    - #### calcPhotons

          public long calcPhotons

      No of photons.

    - #### fcsPoints

          public int fcsPoints

      No of FCS values.

    - #### endTime

          public float endTime

      Macro time of the last photon.

    - #### overruns

          public int overruns

      No of Fifo overruns when > 0 fcs curve & endTime are not valid.

    - #### fcsType

          public int fcsType

      0 - linear FCS with log binning (100 bins/log) when bit 15 = 1 (0x8000) - Multi-Tau FCS where bits 14-0 = ktau parameter.

    - #### crossChan

          public int crossChan

      Cross FCS routing channel number when chan = crossChan and mod == crossMod - Auto FCS otherwise - Cross FCS.

    - #### mod

          public int mod

      Module number.

    - #### crossMod

          public int crossMod

      Cross FCS module number.

    - #### crossMtResol

          public long crossMtResol

      Macro time clock of cross FCS module in 0.1 ns units.

    - #### hasExtendedMeasureInfo

          public boolean hasExtendedMeasureInfo

    - #### imageX

          public int imageX

      4 subsequent fields valid only for Camera mode or FIFO_IMAGE mode.

    - #### imageY

          public int imageY

    - #### imageRX

          public int imageRX

    - #### imageRY

          public int imageRY

    - #### xyGain

          public short xyGain

      Gain for XY ADCs (SPC930).

    - #### masterClock

          public short masterClock

      Use or not Master Clock (SPC140 multi-module).

    - #### adcDE

          public short adcDE

      ADC sample delay (SPC-930).

    - #### detType

          public short detType

      Detector type (SPC-930 in camera mode).

    - #### xAxis

          public short xAxis

      X axis representation (SPC-930).

    - #### hasMeasHISTInfo

          public boolean hasMeasHISTInfo

    - #### fidaTime

          public float fidaTime

      Interval time [ms] for FIDA histogram.

    - #### fildaTime

          public float fildaTime

      Interval time [ms] for FILDA histogram.

    - #### fidaPoints

          public int fidaPoints

      No of FIDA values.

    - #### fildaPoints

          public int fildaPoints

      No of FILDA values.

    - #### mcsTime

          public float mcsTime

      Interval time [ms] for MCS histogram.

    - #### mcsPoints

          public int mcsPoints

      No of MCS values.

    - #### mcstaPoints

          public int mcstaPoints

      Number of MCS_TA points.

    - #### blockNo

          public short blockNo

      Number of the block in the file. Valid only when in 0..0x7ffe range, otherwise use lblock_no field obsolete now, lblock_no contains full block no information.

    - #### dataOffs

          public int dataOffs

      Offset of the data block from the beginning of the file.

    - #### nextBlockOffs

          public int nextBlockOffs

      Offset to the data block header of the next data block.

    - #### allBlockOffsets

          public long[] allBlockOffsets

    - #### allBlockLengths

          public long[] allBlockLengths

    - #### blockType

          public int blockType

      See blockType defines below.

    - #### measDescBlockNo

          public short measDescBlockNo

      Number of the measurement description block corresponding to this data block.

    - #### lblockNo

          public long lblockNo

      Long blockNo - see remarks below.

    - #### blockLength

          public long blockLength

      reserved2 now contains block (set) length.

  - ### Constructor Detail

    - #### SDTInfo

          public SDTInfo(loci.common.RandomAccessInputStream in,
                         java.util.Hashtable meta)
                  throws java.io.IOException

      Constructs a new SDT header by reading values from the given input source, populating the given metadata table.
      Throws:
        `java.io.IOException`

  - ### Method Detail

    - #### readUnsignedLong

          private long readUnsignedLong(loci.common.RandomAccessInputStream in)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

Copyright © 2026 Open Microscopy Environment