Structure of an IDE datafile: PPPPPPPPPPPHHIIIIIIIIIIHHIIIIIHHIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHIIHHI.... P File Header (Acquisition Parameters) H Image Header (Image Parameters) I SIMS Image Data (moderately run-length encoded)
+-------+-------+-------------------------------+---------+ | Bytes | Type | Name | Comment | +-------+-------+-------------------------------+---------+ | 2 | int | iPrimaryIonsUsed | | | 2 | int | iPrimaryIonPolarity | | | 2 | int | iSecondaryIonPolarity | | | 2 | int | iPrimaryBeamCurrent | | | 2 | int | iAccelerationVoltage | 1) | | 2 | int | iPrimaryAccelVoltage | 1) | | 2 | int | iRasterSize | 1) | | 2 | int | iTransferOpticsSetting | | | 2 | int | iEnergySlitSetting | | | 2 | int | iEnergySlitTranslation | | | 4 | float | fEntranceSlitSetting | | | 4 | float | fExitSlitSetting | | | 2 | int | iFieldAperture | | | 2 | int | iContrastAperture | 1) | | 2 | int | iRasterPotSetting | | | 2 | int | iXDimension | | | 2 | int | iYDimension | | | 2 | int | iNImages | | | 2 | int | iDate | 2) | | 50 | char*)| szInstrument | | | 40 | char*)| szFeatureName | | | 4 | float | fXCoordinate | | | 4 | float | fXCoordinateError | | | 4 | float | fYCoordinate | | | 4 | float | fYCoordinateError | | | 1 | char | cBay | | | 1 | N/A | FILLBYTE | | | 2 | int | iRow | | | 240 | char*)| szAnnotations | | | 2 | word | wDetectorID | | | 2 | word | wFeatureNum | | | 5 | char*)| szFeatureTypeCode | | | 50 | char*)| szDetectorTypeDesc | | | 50 | char*)| szFeatureTypeDesc | | | 5 | char*)| szFeatureOriginCode | | | 50 | char*)| szFeatureOriginDesc | | | 15 | char*)| szJSCCode | | | 1 | N/A | FILLBYTE | | | 2 | word | wCentralCraterDiameterX | | | 2 | word | wCentralCraterDiameterY | | | 2 | word | wDisChargeDiameterX | | | 2 | word | wDisChargeDiameterY | | | 2 | word | wCentralCraterFusedX | | | 2 | word | wCentralCraterFusedY | | | 2 | word | wInnerSpall | | | 2 | word | wOuterSpall | | | 2 | word | wPhotoCode | | | 2 | word | wAnalysesCode | 3) | | 4 | dword | dwMosaicXRefCode | 3) | | 100 | char*)| szEDSFileName | 4) | | 100 | char*)| szAESFileName | 4) | | 100 | char*)| szPROFileName | 4) | | 100 | char*)| szBRGFileName | 4) | | 100 | char*)| szRATFileName | 4) | | 10 | char*)| szExperimentName | | | 285 | N/A | bReserved | | | 1 | N/A | FILLBYTE | | +-------+-------+-------------------------------+---------+ *) zero-byte delimited C string 1) actually never used the value but used a constant 2) same format as DOS file time 3) internal use, may or may not contain valid data 4) dropped, contains usually not a useful value
+-------+-------+-------------------------------+---------+ | Bytes | Type | Name | Comment | +-------+-------+-------------------------------+---------+ | 4 | float | fCpGain | | | 2 | int | iNFrames | | | 2 | int | iMass | | | 2 | int | iImageNumber | | | 4 | dword | dwCompressedImageSize | 1) | | 4 | dword | dwTotalCount | | | 2 | word | wMaxCount | | | 2 | int | iXShift | | | 2 | int | iYShift | | | 20 | char*)| szElementName | | | 2 | int | iElementID | 2) | | 2 | int | fRSF | | | 2 | int | iQualityElementClassification | | | 2 | int | iUsedMass | | | 2 | int | iOfNumMasses | | | 2 | int | iObsolete3 | 3) | | 2 | int | iObsolete4 | 3) | +-------+-------+-------------------------------+---------+ *) zero-byte delimited C string 1) multiply this value by 2 (pixel data size) for image size in bytes 2) internal use, may or may not contain valid data 3) dropped
Example:
Image: +----+----+----+----+----+ | 498| 92| 105| 21| 71| +----+----+----+----+----+ | 1| 0| 0| 0| 2| +----+----+----+----+----+ | 5| 0| 0| 0| 0| +----+----+----+----+----+ | 0| 0| 0| 0| 0| +----+----+----+----+----+ | 0| 8| 2| 0| 5| +----+----+----+----+----+ Data File: +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | 498| 92| 105| 21| 71| 1| 0| 3| 2| 5| 0| 10| 8| 2| 0| 1| 5| +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+A sequence of zero words is replaced by a single zero word (which now serves as an escape code) and the count of zero words (as in row 2 which is stored as 0 3, and rows 3 through 5, stored as 0 10).
Please direct any questions or problems to the author.