public ImageViewer(PicesRaster _raster, PicesDataBaseImage _image, PicesClassList _classes ) { runLog = new PicesRunLog(); raster = _raster; classes = _classes; dbConn = PicesDataBase.GetGlobalDatabaseManagerNewInstance(runLog); image = _image; sizeCoordinates = image.SizeCoordinates; if (raster == null) { raster = PicesRaster.GetOrigSipperImage(image.SipperFileName, image.ByteOffset, image.TopLeftRow, image.TopLeftCol, image.Height, image.Width, image.ConnectedPixelDist, runLog ); } if (raster == null) { MessageBox.Show("Could not locate source image or SipperFile[" + image.SipperFileName + "]"); return; } { uint scanLine = image.TopLeftRow; scanLine = 4096 * (uint)(scanLine / 4096); instrumentData = dbConn.InstrumentDataGetByScanLine(image.SipperFileName, image.TopLeftRow); sipperFile = dbConn.SipperFileRecLoad(image.SipperFileName); } double pixelsPerScanLine = pixelsPerScanLineDefault; if (instrumentData != null) { if (instrumentData.ActiveColumns > 0) { pixelsPerScanLine = instrumentData.ActiveColumns; } if (instrumentData.FlowRate1 > 0.0) { flowRate1 = instrumentData.FlowRate1; } } if (sipperFile != null) { if (sipperFile.ScanRate > 0.0) { scanRate = sipperFile.ScanRate; } deployment = dbConn.SipperDeploymentLoad(sipperFile.CruiseName, sipperFile.StationName, sipperFile.DeploymentNum); if (deployment != null) { chamberWidth = deployment.ChamberWidth; } } if ((dataFieldAssignments == null) || (DataLabels == null)) { ConfigurationLoad(); } InitializeComponent(); if (image != null) { extractionLogEntry = dbConn.LogEntriesSelect(image.ExtractionLogEntryId); classLogEntry = dbConn.LogEntriesSelect(image.ClassLogEntryId); } mmPerPixelAccrossChamber = chamberWidth * mmPerMeter / pixelsPerScanLine; mmPerPixelWithFlow = mmPerMeter * flowRate1 / scanRate; DataLabels = new Label[4]; DataLabels[0] = DataLabel0; DataLabels[1] = DataLabel1; DataLabels[2] = DataLabel2; DataLabels[3] = DataLabel3; displayDataFields = new TextBox[4]; displayDataFields[0] = DataField0; displayDataFields[1] = DataField1; displayDataFields[2] = DataField2; displayDataFields[3] = DataField3; UpdateDataFields(); ImageFileName.Text = image.ImageFileName; }