private void AutoManualChanged() { if (_defaultColorPalette == null) { _defaultColorPalette = loadColorPalette(Application.StartupPath + "\\default.cp"); } if (clusteringMethodSelector.SelectedMethod != Method.KMEANSMANUAL) { manualClusterSelectControl1.Hide(); imgWindow.Hide(); labelColorPalettes.Visible = true; cmbColorPalettes.Visible = true; } else { _colorPalette = loadColorPalette(Application.StartupPath + "\\manualClustering.cp"); labelColorPalettes.Visible = false; cmbColorPalettes.Visible = false; manualClusterSelectControl1.Show(); GeoImageTools gImgTools = new GeoImageTools(_gImgData); byte[] firstBand = gImgTools.getOneBandBytes(0); imgWindow.DrawImage(_gImgData, firstBand, _defaultColorPalette); imgWindow.Show(); } }
protected override void SetValuesFromLoadedBands <T>(T values, Action <T, byte[], int> setAtBand) { GeoImageTools gImgTools = new GeoImageTools(_gImgData); for (int bandInd = 0; bandInd < BandCount; bandInd++) { int currentBand = _includedBands[bandInd]; byte[] loadedBand = gImgTools.getOneBandBytes(currentBand); setAtBand(values, loadedBand, bandInd); } }
public MultiBandOperation(GeoImageData imageData, int[] bands) { this.imageData = imageData; this.imageTools = new GeoImageTools(imageData); this.inputBands = new List <byte[]>(); foreach (int band in bands) { this.inputBands.Add(imageTools.getOneBandBytes(band)); } }
protected override void SetPointsFromLoadedBands(ImagePoint[] points) { GeoImageTools gImgTools = new GeoImageTools(_gImgData); for (int curDim = 0; curDim < PointDim; curDim++) { int bandInd = _includedBands[curDim]; byte[] loadedBand = gImgTools.getOneBandBytes(bandInd); SetPointsAtDim(points, loadedBand, curDim); } }
void SaveResult(GeoImageData gimda, byte[] byout, int iband) { GeoImageTools gt = new GeoImageTools(gimda); string dirname = Path.GetDirectoryName(gimda.FileName); string fname = Path.GetFileNameWithoutExtension(gimda.FileName); string extension = Path.GetExtension(gimda.FileName); string fileName = dirname + "\\" + fname + tbResultAppendix.Text + extension; if (iband == 0) { gt.saveHeader2Giwer(fileName); } gt.saveGivenBand2GiwerFormat(dirname + "\\" + fname + tbResultAppendix.Text, byout, iband, ""); //gt.saveOneBandResultAsGiwerFormat(fileName, byout, ""); }
public void InitImage(byte[] byIn, Int32 imWidth, Int32 imHeight, Int32[] colp) // loads an image { GeoImageTools gimt = new GeoImageTools(); bmp = gimt.convertOneBandBytesto8bitBitmap(byIn, imWidth, imHeight, colp); //bmp = gimt.convertOneBandBytesto24bitBitmap(byIn, imWidth, imHeight); posX = 0; posY = 0; zoomLevel = 1F; zl = 1F; if (displayImageSize == "true") { tslbl.Text = "Image size:(" + bmp.Width + "," + bmp.Height + ")"; } zoomFull(); }
public SingleBandOperation(GeoImageData imgData, int band, List <string> par) { this.imageData = imgData; this.imageTools = new GeoImageTools(imgData); this.inputBand = imageTools.getOneBandBytes(band); }
void RunWorkflow(Project proj) { //Assembly assem = typeof(WorkflowBuilder).Assembly; //Type tt = assem.GetType("Giwer.workflowBuilder.Operations.HighPassFilter"); //MethodInfo method = tt.GetMethod("Execute", BindingFlags.Public | BindingFlags.Instance); //method.Invoke(tt, null); //GeoImageData imgData=new GeoImageData(); //int band = 0; //SingleBandOperation op = (SingleBandOperation)Activator.CreateInstance(tt, new object[] { imgData, band }); //// propertyket beállítani //op.Execute(); if (!checkParameters()) { return; } if (MessageBox.Show("The process can take a long time (even hours)", "Long last process notice", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel) { return; } this.Cursor = Cursors.WaitCursor; progressWorkflow.Maximum = proj.FileNames.Count; progressWorkflow.Value = 0; progressWorkflow.Visible = true; foreach (string fileItem in proj.FileNames) { progressWorkflow.PerformStep(); GeoImageData imgData = new GeoImageData(); imgData.FileName = fileItem; byte[] byin = new byte[imgData.Nrows * imgData.Ncols]; byte[] byout = new byte[imgData.Nrows * imgData.Ncols]; for (int band = 0; band < imgData.Nbands; band++) { int k = 0; for (int i = 0; i < currentWorkflow.Methods.Count; i++) { Assembly assem = typeof(WorkflowBuilder).Assembly; Type opt = assem.GetType("Giwer.workflowBuilder.Operations." + currentWorkflow.Methods[i].Split(' ')[0]); if (opt.BaseType.Name == "SingleBandOperation") { if (k == 0) { GeoImageTools gt = new GeoImageTools(imgData); byin = gt.getOneBandBytes(band); SingleBandOperation op = (SingleBandOperation)Activator.CreateInstance(opt, new object[] { imgData, band, currentWorkflow.Pars[i] }); op.Execute(); byin = op.Output; byout = op.Output; k = 1; } else { SingleBandOperation op = (SingleBandOperation)Activator.CreateInstance(opt, new object[] { byin, imgData, currentWorkflow.Pars[i] }); op.Execute(); byin = op.Output; byout = op.Output; } } if (opt.BaseType.Name == "MultiBandOperation") { } } if (chkSave.Checked) { SaveResult(imgData, byout, band); } } } this.Cursor = Cursors.Default; progressWorkflow.Visible = false; MessageBox.Show("Save process has completed", "Save completed", MessageBoxButtons.OK, MessageBoxIcon.Information); }