public override void SetValueType(Type t) { if (t == typeof(byte)) { Mode = EMDataType.Byte; } else if (t == typeof(float)) { Mode = EMDataType.Single; } else if (t == typeof(double)) { Mode = EMDataType.Double; } else if (t == typeof(short)) { Mode = EMDataType.Short; } else if (t == typeof(int)) { Mode = EMDataType.Long; } else { throw new Exception("Unknown data type."); } }
public HeaderEM(BinaryReader reader) { MachineCoding = reader.ReadByte(); OS9 = reader.ReadByte(); Invalid = reader.ReadByte(); Mode = (EMDataType)reader.ReadByte(); Dimensions = new int3(reader.ReadBytes(3 * sizeof(int))); Comment = reader.ReadBytes(80); Voltage = reader.ReadInt32(); Cs = (float)reader.ReadInt32() / 1000f; Aperture = reader.ReadInt32(); Magnification = reader.ReadInt32(); CCDMagnification = (float)reader.ReadInt32() / 1000f; ExposureTime = (float)reader.ReadInt32() / 1000f; PixelSize = (float)reader.ReadInt32() / 1000f; EMCode = reader.ReadInt32(); CCDPixelsize = (float)reader.ReadInt32() / 1000f; CCDArea = (float)reader.ReadInt32() / 1000f; Defocus = reader.ReadInt32(); Astigmatism = reader.ReadInt32(); AstigmatismAngle = (float)reader.ReadInt32() / 1000f; FocusIncrement = (float)reader.ReadInt32() / 1000f; DQE = (float)reader.ReadInt32() / 1000f; C2Intensity = (float)reader.ReadInt32() / 1000f; SlitWidth = reader.ReadInt32(); EnergyOffset = reader.ReadInt32(); TiltAngle = (float)reader.ReadInt32() / 1000f; TiltAxis = (float)reader.ReadInt32() / 1000f; NoName1 = reader.ReadInt32(); NoName2 = reader.ReadInt32(); NoName3 = reader.ReadInt32(); MarkerPosition = new int2(reader.ReadBytes(2 * sizeof(int))); Resolution = reader.ReadInt32(); Density = reader.ReadInt32(); Contrast = reader.ReadInt32(); NoName4 = reader.ReadInt32(); CenterOfMass = new int3(reader.ReadBytes(3 * sizeof(int))); Height = reader.ReadInt32(); NoName5 = reader.ReadInt32(); DreiStrahlBereich = reader.ReadInt32(); AchromaticRing = reader.ReadInt32(); Lambda = reader.ReadInt32(); DeltaTheta = reader.ReadInt32(); NoName6 = reader.ReadInt32(); NoName7 = reader.ReadInt32(); UserData = reader.ReadBytes(256); }
public override void SetValueType(Type t) { if (t == typeof(byte)) Mode = EMDataType.Byte; else if (t == typeof(float)) Mode = EMDataType.Single; else if (t == typeof(double)) Mode = EMDataType.Double; else if (t == typeof(short)) Mode = EMDataType.Short; else if (t == typeof(int)) Mode = EMDataType.Long; else throw new Exception("Unknown data type."); }