diff --git a/obsolete/niDAC/DACTimingHanger.java b/obsolete/niDAC/DACTimingHanger.java index a16ae51212241dbab3c975b021f9d4ddcad9adc3..197542a69b81c494b1d2b956e5d8e70abf90f386 100644 --- a/obsolete/niDAC/DACTimingHanger.java +++ b/obsolete/niDAC/DACTimingHanger.java @@ -18,6 +18,10 @@ import imageProc.core.ImgSink; import imageProc.core.MetaDataMap; import imageProc.core.Triggerable; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; import otherSupport.bufferControl.DirectBufferControl; @@ -259,8 +263,8 @@ public class DACTimingHanger extends ImgPipe implements ImgSink, Triggerable, Ra /* String comediDev = SettingsManager.defaultGlobal().getProperty("comedi.device", "/dev/comedi0"); - int subdevDIO = OneLiners.mustParseInt(SettingsManager.defaultGlobal().getProperty("comedi.subdevice.dio", "2")); - int subdevCLK = OneLiners.mustParseInt(SettingsManager.defaultGlobal().getProperty("comedi.subdevice.clock", "11")); + int subdevDIO = Algorithms.mustParseInt(SettingsManager.defaultGlobal().getProperty("comedi.subdevice.dio", "2")); + int subdevCLK = Algorithms.mustParseInt(SettingsManager.defaultGlobal().getProperty("comedi.subdevice.clock", "11")); comediWriter = new ComediAsyncWriter(comediDev + "_subd" + subdevDIO, subdevDIO, comediDev +"_subd" + subdevCLK, subdevCLK, @@ -269,9 +273,9 @@ public class DACTimingHanger extends ImgPipe implements ImgSink, Triggerable, Ra //*/ String comediDev = SettingsManager.defaultGlobal().getProperty("comedi.device", "/dev/comedi0"); - int subdevDIO = OneLiners.mustParseInt(SettingsManager.defaultGlobal().getProperty("comedi.subdevice.dio", "2")); - int subdevCLK = OneLiners.mustParseInt(SettingsManager.defaultGlobal().getProperty("comedi.subdevice.clock", "11")); - int subdevPFI = OneLiners.mustParseInt(SettingsManager.defaultGlobal().getProperty("comedi.subdevice.pfi", "7")); + int subdevDIO = Algorithms.mustParseInt(SettingsManager.defaultGlobal().getProperty("comedi.subdevice.dio", "2")); + int subdevCLK = Algorithms.mustParseInt(SettingsManager.defaultGlobal().getProperty("comedi.subdevice.clock", "11")); + int subdevPFI = Algorithms.mustParseInt(SettingsManager.defaultGlobal().getProperty("comedi.subdevice.pfi", "7")); comediWriter = new ComediAsyncWriter(comediDev, subdevDIO, subdevCLK, subdevPFI, rawStore, null, 0, diff --git a/obsolete/niDAC/OfflineDACDrive.java b/obsolete/niDAC/OfflineDACDrive.java index 802065b4820baa9341f1d9dbde74b5a00fdef015..20c8ea211fc57c4999461823442ed146bd004e0a 100644 --- a/obsolete/niDAC/OfflineDACDrive.java +++ b/obsolete/niDAC/OfflineDACDrive.java @@ -6,6 +6,10 @@ import comediJNI.Comedi; import comediJNI.ComediDef; import comediJNI.ComediJNIException; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; /** Direct driving of the controllers via DIO through Comedi @@ -78,7 +82,7 @@ public class OfflineDACDrive implements Runnable { public void run() { String comediDev = SettingsManager.defaultGlobal().getProperty("comedi.device", "/dev/comedi0"); - int subdev = OneLiners.mustParseInt(SettingsManager.defaultGlobal().getProperty("comedi.subdevice.dio", "2")); + int subdev = Algorithms.mustParseInt(SettingsManager.defaultGlobal().getProperty("comedi.subdevice.dio", "2")); long dev = Comedi.open(comediDev + "_subd" + subdev); if(dev == 0) @@ -139,7 +143,7 @@ public class OfflineDACDrive implements Runnable { public static final void setFLC(boolean high){ String comediDev = SettingsManager.defaultGlobal().getProperty("comedi.device", "/dev/comedi0"); - int subdev = OneLiners.mustParseInt(SettingsManager.defaultGlobal().getProperty("comedi.subdevice.dio", "2")); + int subdev = Algorithms.mustParseInt(SettingsManager.defaultGlobal().getProperty("comedi.subdevice.dio", "2")); long dev = Comedi.open(comediDev + "_subd" + subdev); if(dev == 0) @@ -156,7 +160,7 @@ public class OfflineDACDrive implements Runnable { public static final void cameraTrig(int periodMS){ String comediDev = SettingsManager.defaultGlobal().getProperty("comedi.device", "/dev/comedi0"); - int subdev = OneLiners.mustParseInt(SettingsManager.defaultGlobal().getProperty("comedi.subdevice.dio", "2")); + int subdev = Algorithms.mustParseInt(SettingsManager.defaultGlobal().getProperty("comedi.subdevice.dio", "2")); long dev = Comedi.open(comediDev + "_subd" + subdev); if(dev == 0) diff --git a/pom.xml b/pom.xml index d41cc04e054d2c05fb796d2f017353c2b682d696..3789df783365bd19ab7fbdada0431eb69049cd04 100644 --- a/pom.xml +++ b/pom.xml @@ -57,12 +57,12 @@ <dependency> <groupId>algorithmrepository</groupId> <artifactId>AlgorithmRepository</artifactId> - <version>1.2.2</version> + <version>1.4.23</version> </dependency> <dependency> <groupId>javaOneLineUtils</groupId> <artifactId>JavaOneLineUtils</artifactId> - <version>1.5.17</version> + <version>1.5.31</version> </dependency> <dependency> <groupId>jfree</groupId> diff --git a/src/imageProc/app/ImageProc_Profile.java b/src/imageProc/app/ImageProc_Profile.java index dd45809c9bdc77cf009c8c8c625a08d5907abfde..d261f9fd899664f924a398851d25e2e9e986cd2e 100644 --- a/src/imageProc/app/ImageProc_Profile.java +++ b/src/imageProc/app/ImageProc_Profile.java @@ -15,6 +15,8 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import org.eclipse.swt.widgets.Display; + +import algorithmrepository.Algorithms; import imageProc.core.ConfigurableByID; import imageProc.core.ImagePipeController; import imageProc.core.ImageProcUtil; @@ -23,6 +25,10 @@ import imageProc.core.ImgSource; import imageProc.core.swt.ImageWindow; import imageProc.database.json.JSONFileSettingsControl; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; /** The ImageProc GUI App to tie all the SWT modules together @@ -195,7 +201,7 @@ public class ImageProc_Profile { SettingsManager profile = new SettingsManager(fileName, true, global); //overlay on the minerva-settings if(profile.propertyDefined("imageProc.profile.assertHost") - && OneLiners.mustParseBoolean(profile.getProperty("imageProc.profile.assertHost"))){ + && Algorithms.mustParseBoolean(profile.getProperty("imageProc.profile.assertHost"))){ String assertHost = profile.getProperty("imageProc.profile.host"); @@ -261,7 +267,7 @@ public class ImageProc_Profile { ImageProcUtil.addImgPipeClass(sinkCls); - boolean init = OneLiners.mustParseBoolean(profile.getProperty(basePath + ".sink"+sinkID+".init", "false")); + boolean init = Algorithms.mustParseBoolean(profile.getProperty(basePath + ".sink"+sinkID+".init", "false")); if(init){ ImgSink sink; try{ diff --git a/src/imageProc/control/arduinoComm/ArduinoCommHanger.java b/src/imageProc/control/arduinoComm/ArduinoCommHanger.java index 7b419fb9f97ada7ca077147c2771171913639e48..1146bd62930e944824aadd5ac1dd210d29d5665a 100644 --- a/src/imageProc/control/arduinoComm/ArduinoCommHanger.java +++ b/src/imageProc/control/arduinoComm/ArduinoCommHanger.java @@ -5,6 +5,7 @@ import org.eclipse.swt.widgets.Composite; import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import algorithmrepository.Algorithms; import imageProc.control.arduinoComm.LoggedComm.LogUser; import imageProc.control.arduinoComm.swt.ArduinoCommSWTControl; import imageProc.core.ConfigurableByID; @@ -13,6 +14,10 @@ import imageProc.core.ImagePipeController; import imageProc.core.ImgPipe; import imageProc.core.ImgSink; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; /** Communications with the Arduino in-hall controller code IMSEArduinoCtrl */ @@ -36,7 +41,7 @@ public class ArduinoCommHanger extends ImgPipe implements ImgSink, EventReciever public ArduinoCommHanger(boolean presetIsOutsideHall) { String id = "General"; config.portName = SettingsManager.defaultGlobal().getProperty("imageProc.arduinoComm."+id+".portName", "/dev/ttyACM0"); - config.baudRate = OneLiners.mustParseInt(SettingsManager.defaultGlobal().getProperty("imageProc.arduinoComm."+id+".baudRate", "115200")); + config.baudRate = Algorithms.mustParseInt(SettingsManager.defaultGlobal().getProperty("imageProc.arduinoComm."+id+".baudRate", "115200")); serialComm = new LoggedComm(this); dataAqCtrl = new DataAqCtrl(this); @@ -215,7 +220,7 @@ public class ArduinoCommHanger extends ImgPipe implements ImgSink, EventReciever String json = gson.toJson(config); - OneLiners.TextToFile(fileName, json); + OneLiners.textToFile(fileName, json); } @Override diff --git a/src/imageProc/control/arduinoComm/DataAqCtrl.java b/src/imageProc/control/arduinoComm/DataAqCtrl.java index 2df9cb272eadb5ee8772ddfd73901af78520b204..df7b069b2cb5fc6090b0dbe7ca6a2a5c77af6001 100644 --- a/src/imageProc/control/arduinoComm/DataAqCtrl.java +++ b/src/imageProc/control/arduinoComm/DataAqCtrl.java @@ -5,6 +5,7 @@ import java.nio.ByteOrder; import java.nio.ShortBuffer; import java.util.Arrays; +import algorithmrepository.Mat; import binaryMatrixFile.BinaryMatrixFile; import binaryMatrixFile.DataConvertPureJava; import edu.emory.mathcs.jtransforms.fft.FloatFFT_1D; @@ -141,16 +142,16 @@ public class DataAqCtrl { FloatFFT_1D fft = new FloatFFT_1D(nSamples); if(debug){ - BinaryMatrixFile.mustWrite("/tmp/d0.bin", (double[])DataConvertPureJava.convert1DArray(dch0, new double[dch0.length])); - BinaryMatrixFile.mustWrite("/tmp/d1.bin", (double[])DataConvertPureJava.convert1DArray(dch1, new double[dch1.length])); + Mat.mustWriteBinary("/tmp/d0.bin", (double[])Mat.convert1DArray(dch0, new double[dch0.length])); + Mat.mustWriteBinary("/tmp/d1.bin", (double[])Mat.convert1DArray(dch1, new double[dch1.length])); } //fft both fft.realForwardFull(dch1); fft.realForwardFull(dch0); if(debug){ - BinaryMatrixFile.mustWrite("/tmp/df0.bin", (double[])DataConvertPureJava.convert1DArray(dch0, new double[dch0.length])); - BinaryMatrixFile.mustWrite("/tmp/df1.bin", (double[])DataConvertPureJava.convert1DArray(dch1, new double[dch1.length])); + Mat.mustWriteBinary("/tmp/df0.bin", (double[])Mat.convert1DArray(dch0, new double[dch0.length])); + Mat.mustWriteBinary("/tmp/df1.bin", (double[])Mat.convert1DArray(dch1, new double[dch1.length])); } int maxPos = -1; @@ -188,8 +189,8 @@ public class DataAqCtrl { } if(debug){ - BinaryMatrixFile.mustWrite("/tmp/df0b.bin", (double[])DataConvertPureJava.convert1DArray(dch0, new double[dch0.length])); - BinaryMatrixFile.mustWrite("/tmp/df1b.bin", (double[])DataConvertPureJava.convert1DArray(dch1, new double[dch0.length])); + Mat.mustWriteBinary("/tmp/df0b.bin", (double[])DataConvertPureJava.convert1DArray(dch0, new double[dch0.length])); + Mat.mustWriteBinary("/tmp/df1b.bin", (double[])DataConvertPureJava.convert1DArray(dch1, new double[dch0.length])); } //and back into real space @@ -197,8 +198,8 @@ public class DataAqCtrl { fft.complexInverse(dch1, false); if(debug){ - BinaryMatrixFile.mustWrite("/tmp/d0b.bin", (double[])DataConvertPureJava.convert1DArray(dch0, new double[dch0.length])); - BinaryMatrixFile.mustWrite("/tmp/d1b.bin", (double[])DataConvertPureJava.convert1DArray(dch1, new double[dch0.length])); + Mat.mustWriteBinary("/tmp/d0b.bin", (double[])DataConvertPureJava.convert1DArray(dch0, new double[dch0.length])); + Mat.mustWriteBinary("/tmp/d1b.bin", (double[])DataConvertPureJava.convert1DArray(dch1, new double[dch0.length])); } //we now have mg~exp(+i(wt + phi_m)) and dg~exp(+i(wt + phi_d)); so we can get the difference: @@ -222,7 +223,7 @@ public class DataAqCtrl { amp1Sig[i] = FastMath.sqrt(d1Re*d1Re + d1Im*d1Im); } - //BinaryMatrixFile.mustWrite("/tmp/phasediff.bin", phaseDiff); + //Mat.mustWriteBinary("/tmp/phasediff.bin", phaseDiff); double thres = 130*Math.PI/180; for(int i=1; i < nSamples; i++){ if(phaseDiff[i-1] > thres && phaseDiff[i] < -thres){ @@ -241,7 +242,7 @@ public class DataAqCtrl { } } - //BinaryMatrixFile.mustWrite("/tmp/phasediff-uw.bin", phaseDiff); + //Mat.mustWriteBinary("/tmp/phasediff-uw.bin", phaseDiff); double measAng = 0, amp0 = 0, amp1 = 0; int i0 = (int)(0.2*nSamples); @@ -287,7 +288,7 @@ public class DataAqCtrl { } public static void main(String[] args) { - double data[][] = BinaryMatrixFile.mustLoad("/tmp/pd.bin", true); + double data[][] = Mat.mustLoadBinary("/tmp/pd.bin", true); double a[] = new double[1000]; for(int j=0; j < 1000; j++){ short d0[] = new short[1024]; @@ -300,7 +301,7 @@ public class DataAqCtrl { a[j] = (new DataAqCtrl(null)).procSpinningPolAngle(0, d0, d1)[0]; System.out.println(j + "\t" + a[j]); } - BinaryMatrixFile.mustWrite("/tmp/a.bin", a); + Mat.mustWriteBinary("/tmp/a.bin", a); } public short[][] getLastData() { diff --git a/src/imageProc/control/arduinoComm/LoggedComm.java b/src/imageProc/control/arduinoComm/LoggedComm.java index e82cac9e81ed63da4531a8763a984a76fdb0cf76..c87610805b3269178a7c528c8dd22cb3d282f806 100644 --- a/src/imageProc/control/arduinoComm/LoggedComm.java +++ b/src/imageProc/control/arduinoComm/LoggedComm.java @@ -10,8 +10,13 @@ import java.util.Enumeration; import com.fazecast.jSerialComm.SerialPort; +import algorithmrepository.Algorithms; import imageProc.core.ImageProcUtil; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; public class LoggedComm implements Runnable { @@ -82,7 +87,7 @@ public class LoggedComm implements Runnable { serialLog.append('\n'); String lineStr = lineBuild.toString(); if(lineStr.startsWith("BINDUMP")){ - int size = OneLiners.mustParseInt(lineStr.substring(7).trim()); + int size = Algorithms.mustParseInt(lineStr.substring(7).trim()); lastBinaryDump = new byte[size]; binaryDumpPos = 0; if(serialPort != null) diff --git a/src/imageProc/control/arduinoComm/MotorControl.java b/src/imageProc/control/arduinoComm/MotorControl.java index a99193c9f8ccf12ae4e0a251223da0d87c4f9a90..585b6383a08e75c440ee3708501c2146b6dcdaba 100644 --- a/src/imageProc/control/arduinoComm/MotorControl.java +++ b/src/imageProc/control/arduinoComm/MotorControl.java @@ -1,7 +1,12 @@ package imageProc.control.arduinoComm; +import algorithmrepository.Algorithms; import imageProc.core.ImgSource; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class MotorControl { public static final int nMotors = 3; @@ -36,17 +41,17 @@ public class MotorControl { motorPos[motorID] = 0; }else if(command.startsWith("POS")){ - motorPos[motorID] = OneLiners.mustParseInt(line.substring(7).trim()); + motorPos[motorID] = Algorithms.mustParseInt(line.substring(7).trim()); proc.setSeriesMetaData("ArduinoComm/motor/"+motorID+"/lastRecievedPos", motorPos[motorID], false); }else if(command.startsWith("ENBL")){ - motorEnabled[motorID] = (OneLiners.mustParseInt(line.substring(8).trim()) != 0); + motorEnabled[motorID] = (Algorithms.mustParseInt(line.substring(8).trim()) != 0); }else if(command.startsWith("SWT")){ - motorCfg[motorID].switchPolarity = (OneLiners.mustParseInt(line.substring(7).trim()) != 0); + motorCfg[motorID].switchPolarity = (Algorithms.mustParseInt(line.substring(7).trim()) != 0); }else if(command.startsWith("RDIR")){ - motorCfg[motorID].dir = (OneLiners.mustParseInt(line.substring(8).trim()) != 0); + motorCfg[motorID].dir = (Algorithms.mustParseInt(line.substring(8).trim()) != 0); } diff --git a/src/imageProc/control/arduinoComm/SequenceCtrl.java b/src/imageProc/control/arduinoComm/SequenceCtrl.java index e76a16b0fe86752a3e34488428ef5ef560b3fd26..6c59a98cf5aad02e292ae59233fa28bd4a21739b 100644 --- a/src/imageProc/control/arduinoComm/SequenceCtrl.java +++ b/src/imageProc/control/arduinoComm/SequenceCtrl.java @@ -5,6 +5,10 @@ import java.nio.ByteBuffer; import java.nio.ByteOrder; import imageProc.core.ImgSource; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; import otherSupport.bufferControl.DirectBufferControl; diff --git a/src/imageProc/control/arduinoComm/SimpleIOCtrl.java b/src/imageProc/control/arduinoComm/SimpleIOCtrl.java index b59b740a25b5c561dfae3e6e6a509a9a2f0e65ec..9ea0307005630ee016c4aa5b3d01673f000eeb73 100644 --- a/src/imageProc/control/arduinoComm/SimpleIOCtrl.java +++ b/src/imageProc/control/arduinoComm/SimpleIOCtrl.java @@ -1,7 +1,12 @@ package imageProc.control.arduinoComm; +import algorithmrepository.Algorithms; import imageProc.core.ImgSource; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class SimpleIOCtrl { @@ -42,8 +47,8 @@ public class SimpleIOCtrl { if(command.startsWith("GET")){ boolean analog = (command.charAt(3) == 'A'); String parts[] = command.substring(4).split(","); - int pinNum = OneLiners.mustParseInt(parts[0].trim()); - int val = OneLiners.mustParseInt(parts[1].trim()); + int pinNum = Algorithms.mustParseInt(parts[0].trim()); + int val = Algorithms.mustParseInt(parts[1].trim()); if(analog){ analogValues[pinNum] = val; diff --git a/src/imageProc/control/arduinoComm/swt/DataAqSWTGroup.java b/src/imageProc/control/arduinoComm/swt/DataAqSWTGroup.java index bdc10f90fb8a90bceb2d0b6eaf42a1a6b9915bff..ee0dfcf97250c6be73f39d8885b4149d8b39a0ad 100644 --- a/src/imageProc/control/arduinoComm/swt/DataAqSWTGroup.java +++ b/src/imageProc/control/arduinoComm/swt/DataAqSWTGroup.java @@ -11,11 +11,17 @@ import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Listener; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import imageProc.control.arduinoComm.ArduinoCommHanger; import imageProc.core.ImageProcUtil; import imageProc.graph.JFreeChartGraph; import imageProc.graph.Series; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class DataAqSWTGroup { private ArduinoCommHanger proc; @@ -107,7 +113,7 @@ public class DataAqSWTGroup { double d2[] = proc.dataAqCtrl().getMeasAng(); if(d2 != null && d2.length >= 2){ ArrayList<Series> seriesList2 = new ArrayList<Series>(s.length); - double x2[] = OneLiners.linSpace(0, d2.length-1, d2.length); + double x2[] = Mat.linspace(0, d2.length-1, d2.length); seriesList2.add(new Series("measAngh", x2, d2)); graph2.setData(seriesList2); } diff --git a/src/imageProc/control/arduinoComm/swt/MotorSWTGroup.java b/src/imageProc/control/arduinoComm/swt/MotorSWTGroup.java index 2a375e4908836186fa601992aa8c5bd7817de5c8..64c75885267b1f6b471b2d9235a035bf446f2bfb 100644 --- a/src/imageProc/control/arduinoComm/swt/MotorSWTGroup.java +++ b/src/imageProc/control/arduinoComm/swt/MotorSWTGroup.java @@ -30,6 +30,10 @@ import imageProc.core.swt.EditableTable.TableModifyListener; import imageProc.proc.softwareBinning.SoftwareROIsConfig; import imageProc.proc.softwareBinning.SoftwareROIsConfig.SoftwareROI; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class MotorSWTGroup implements MotorPresetsHandler { diff --git a/src/imageProc/control/arduinoComm/swt/SerialSWTGroup.java b/src/imageProc/control/arduinoComm/swt/SerialSWTGroup.java index d1275abd3a4e22acb26420d09a3b17ef20ab603c..ba08537cb46795debb9c15bb8bbc6f224db7796a 100644 --- a/src/imageProc/control/arduinoComm/swt/SerialSWTGroup.java +++ b/src/imageProc/control/arduinoComm/swt/SerialSWTGroup.java @@ -13,10 +13,15 @@ import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Spinner; import org.eclipse.swt.widgets.Text; +import algorithmrepository.Algorithms; import imageProc.control.arduinoComm.ArduinoCommConfig; import imageProc.control.arduinoComm.ArduinoCommHanger; import imageProc.core.ImageProcUtil; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class SerialSWTGroup { public static final long KEEPALIVE_TIME_MS = 60000; @@ -117,7 +122,7 @@ public class SerialSWTGroup { protected void settingsChangedEvent(Event event) { ArduinoCommConfig config = proc.getConfig(); config.portName = portDeviceTextbox.getText(); - config.baudRate = OneLiners.mustParseInt(baudRateTextbox.getText()); + config.baudRate = Algorithms.mustParseInt(baudRateTextbox.getText()); } @@ -125,7 +130,7 @@ public class SerialSWTGroup { private void connectButtonEvent(Event event) { ArduinoCommConfig config = proc.getConfig(); config.portName = portDeviceTextbox.getText(); - config.baudRate = OneLiners.mustParseInt(baudRateTextbox.getText()); + config.baudRate = Algorithms.mustParseInt(baudRateTextbox.getText()); proc.serialComm().connectSerial(config.portName, config.baudRate); } diff --git a/src/imageProc/control/grbl/GRBLControl.java b/src/imageProc/control/grbl/GRBLControl.java index 94e2e5ad89186957613d7c1a15cc5fa95516fe84..9974f4ca4ee61ca8eda46a1c4c64807bce7eb228 100644 --- a/src/imageProc/control/grbl/GRBLControl.java +++ b/src/imageProc/control/grbl/GRBLControl.java @@ -20,6 +20,10 @@ import imageProc.core.ImgPipe; import imageProc.core.ImgSink; import imageProc.core.EventReciever.Event; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; /** Example module for controlling a thing by Serial */ @@ -45,7 +49,7 @@ public class GRBLControl extends ImgPipe implements ImgSink, ConfigurableByID, public GRBLControl() { config.portName = SettingsManager.defaultGlobal().getProperty("imageProc.thing.portName", "/dev/ttyS0"); - config.baudRate = OneLiners.mustParseInt(SettingsManager.defaultGlobal().getProperty("imageProc.thing.baudRate", "115200")); + config.baudRate = Algorithms.mustParseInt(SettingsManager.defaultGlobal().getProperty("imageProc.thing.baudRate", "115200")); serialComm = new LoggedComm(this); serialComm.setCarriageReturn(false); } @@ -87,7 +91,7 @@ public class GRBLControl extends ImgPipe implements ImgSink, ConfigurableByID, String json = gson.toJson(config); - OneLiners.TextToFile(fileName, json); + OneLiners.textToFile(fileName, json); } @Override diff --git a/src/imageProc/control/grbl/swt/AxisGroupSWTControl.java b/src/imageProc/control/grbl/swt/AxisGroupSWTControl.java index 522a7c40dab3d15dd2b53e0da37be517e50c5eb9..872553c03fd671bb30eab85e4e96d3ab6e0e11d6 100644 --- a/src/imageProc/control/grbl/swt/AxisGroupSWTControl.java +++ b/src/imageProc/control/grbl/swt/AxisGroupSWTControl.java @@ -24,6 +24,10 @@ import imageProc.control.grbl.GRBLControl; import imageProc.core.ImageProcUtil; import imageProc.core.swt.EditableTable; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class AxisGroupSWTControl implements MotorPresetsHandler { @@ -143,7 +147,7 @@ public class AxisGroupSWTControl implements MotorPresetsHandler { GRBLConfig config = proc.getConfig(); config.axes[axisID].name = nameTextBox.getText(); - config.axes[axisID].pos = OneLiners.mustParseDouble(posTextBox.getText()); + config.axes[axisID].pos = Algorithms.mustParseDouble(posTextBox.getText()); config.axes[axisID].target = (double)targetTextBox.getSelection()/1000; config.axes[axisID].resolution = (double)resolutionTextBox.getSelection()/1000; config.axes[axisID].speed = (double)speedTextBox.getSelection()/1000; diff --git a/src/imageProc/control/grbl/swt/SerialSWTGroup.java b/src/imageProc/control/grbl/swt/SerialSWTGroup.java index aa14d7d5202855acb32c36be527b9901337f99d2..46903a7ea76d1dafeb6bebff0be41342067f64ce 100644 --- a/src/imageProc/control/grbl/swt/SerialSWTGroup.java +++ b/src/imageProc/control/grbl/swt/SerialSWTGroup.java @@ -18,6 +18,10 @@ import imageProc.control.grbl.GRBLConfig; import imageProc.control.grbl.GRBLControl; import imageProc.core.ImageProcUtil; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class SerialSWTGroup { public static final long KEEPALIVE_TIME_MS = 60000; @@ -144,22 +148,22 @@ public class SerialSWTGroup { protected void updateChangedEvent(Event event) { proc.setUpdatePeriod(updateCheckbox.getSelection(), - OneLiners.mustParseInt(updatePeriodTextbox.getText())); + Algorithms.mustParseInt(updatePeriodTextbox.getText())); } protected void settingsChangedEvent(Event event) { GRBLConfig config = proc.getConfig(); - config.homePullOff = OneLiners.mustParseInt(homePullOffTextbox.getText()); - config.homeFeedRate = OneLiners.mustParseInt(homeFeedRateTextbox.getText()); - config.homeSeekRate = OneLiners.mustParseInt(homeSeekRateTextbox.getText()); - config.noiseWindow = OneLiners.mustParseInt(noiseWindowTextbox.getText()); + config.homePullOff = Algorithms.mustParseInt(homePullOffTextbox.getText()); + config.homeFeedRate = Algorithms.mustParseInt(homeFeedRateTextbox.getText()); + config.homeSeekRate = Algorithms.mustParseInt(homeSeekRateTextbox.getText()); + config.noiseWindow = Algorithms.mustParseInt(noiseWindowTextbox.getText()); } private void connectButtonEvent(Event event) { GRBLConfig config = proc.getConfig(); config.portName = portDeviceTextbox.getText(); - config.baudRate = OneLiners.mustParseInt(baudRateTextbox.getText()); + config.baudRate = Algorithms.mustParseInt(baudRateTextbox.getText()); proc.serialComm().connectSerial(config.portName, config.baudRate); } diff --git a/src/imageProc/control/power/raritan/RaritanPowerControl.java b/src/imageProc/control/power/raritan/RaritanPowerControl.java index 7e7f564691c977e26e50601f2906593d8007ffdd..e48442b2ef5afb6a52e950a087fe16d64ccfaafa 100644 --- a/src/imageProc/control/power/raritan/RaritanPowerControl.java +++ b/src/imageProc/control/power/raritan/RaritanPowerControl.java @@ -19,6 +19,10 @@ import imageProc.core.ImgPipe; import imageProc.core.ImgSink; import imageProc.core.PowerControl; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; /** Example module for controlling a RaritanPower by Serial */ @@ -57,7 +61,7 @@ public class RaritanPowerControl extends ImgPipe implements ImgSink, Configurabl String json = gson.toJson(config); - OneLiners.TextToFile(fileName, json); + OneLiners.textToFile(fileName, json); } @Override diff --git a/src/imageProc/control/standa/ximc/XIMCControl.java b/src/imageProc/control/standa/ximc/XIMCControl.java index 0c24ee64676ba77fd180dfc9fd3a8fb3cac0b824..e6a64a2e8372fb6190ce7a6d1594da5f430818e5 100644 --- a/src/imageProc/control/standa/ximc/XIMCControl.java +++ b/src/imageProc/control/standa/ximc/XIMCControl.java @@ -17,6 +17,10 @@ import imageProc.core.ImgPipe; import imageProc.core.ImgSink; import imageProc.core.EventReciever.Event; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; import ru.ximc.libximc.JXimc; import ru.ximc.libximc.JXimc.engine_settings_t; @@ -76,7 +80,7 @@ public class XIMCControl extends ImgPipe implements ImgSink, ConfigurableByID, E String json = gson.toJson(config); - OneLiners.TextToFile(fileName, json); + OneLiners.textToFile(fileName, json); } @Override diff --git a/src/imageProc/control/thing/ThingControl.java b/src/imageProc/control/thing/ThingControl.java index dfcb9e893dc7de2dd266134283b791b0195a9333..04f54b9cdf9154095eba0c4b16ed58dd5f88d3a7 100644 --- a/src/imageProc/control/thing/ThingControl.java +++ b/src/imageProc/control/thing/ThingControl.java @@ -15,6 +15,10 @@ import imageProc.core.ImgPipe; import imageProc.core.ImgSink; import imageProc.core.EventReciever.Event; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; /** Example module for controlling a thing by Serial */ @@ -33,7 +37,7 @@ public class ThingControl extends ImgPipe implements ImgSink, ConfigurableByID, public ThingControl() { config.portName = SettingsManager.defaultGlobal().getProperty("imageProc.thing.portName", "/dev/ttyS0"); - config.baudRate = OneLiners.mustParseInt(SettingsManager.defaultGlobal().getProperty("imageProc.thing.baudRate", "115200")); + config.baudRate = Algorithms.mustParseInt(SettingsManager.defaultGlobal().getProperty("imageProc.thing.baudRate", "115200")); serialComm = new LoggedComm(this); } @@ -67,7 +71,7 @@ public class ThingControl extends ImgPipe implements ImgSink, ConfigurableByID, String json = gson.toJson(config); - OneLiners.TextToFile(fileName, json); + OneLiners.textToFile(fileName, json); } @Override diff --git a/src/imageProc/control/thing/swt/SerialSWTGroup.java b/src/imageProc/control/thing/swt/SerialSWTGroup.java index 986222c785d46cd11330e4390dc037aa790326d7..105842bdff67451cdf388e571fab13351299509a 100644 --- a/src/imageProc/control/thing/swt/SerialSWTGroup.java +++ b/src/imageProc/control/thing/swt/SerialSWTGroup.java @@ -17,6 +17,10 @@ import imageProc.control.arduinoComm.ArduinoCommConfig; import imageProc.control.thing.ThingConfig; import imageProc.control.thing.ThingControl; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class SerialSWTGroup { public static final long KEEPALIVE_TIME_MS = 60000; @@ -91,7 +95,7 @@ public class SerialSWTGroup { private void connectButtonEvent(Event event) { ThingConfig config = proc.getConfig(); config.portName = portDeviceTextbox.getText(); - config.baudRate = OneLiners.mustParseInt(baudRateTextbox.getText()); + config.baudRate = Algorithms.mustParseInt(baudRateTextbox.getText()); proc.serialComm().connectSerial(config.portName, config.baudRate); } diff --git a/src/imageProc/core/BulkImageAllocation.java b/src/imageProc/core/BulkImageAllocation.java index 381488761f5ce09dffd4098a9ec59525438d7822..dfa2b4d23ef7b498fd6b0faee00661d4daf5d26f 100644 --- a/src/imageProc/core/BulkImageAllocation.java +++ b/src/imageProc/core/BulkImageAllocation.java @@ -12,6 +12,10 @@ import java.util.logging.Level; import java.util.logging.Logger; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; import otherSupport.bufferControl.DirectBufferControl; diff --git a/src/imageProc/core/ImageProcUtil.java b/src/imageProc/core/ImageProcUtil.java index affeac7f402f1baef3bae56df4616f707074c565..485ac8eb18b21b8d94f8037686551a249f1e6388 100644 --- a/src/imageProc/core/ImageProcUtil.java +++ b/src/imageProc/core/ImageProcUtil.java @@ -522,7 +522,7 @@ public abstract class ImageProcUtil { Gson g = new Gson(); String s = g.toJson(o); Object o2 = g.fromJson(s, desiredType); - //Object o2 = OneLiners.fixWeirdContainers(o, true); + //Object o2 = Mat.fixWeirdContainers(o, true); return (T)o2; }else{ //non arrays diff --git a/src/imageProc/core/ImgProcPipeMultithread.java b/src/imageProc/core/ImgProcPipeMultithread.java index 4efeed2d7c4cbd23548aeec254f5b62bf6a749fc..d636ae6a661b77c46b7403472ec38af399b3b267 100644 --- a/src/imageProc/core/ImgProcPipeMultithread.java +++ b/src/imageProc/core/ImgProcPipeMultithread.java @@ -7,6 +7,10 @@ import java.util.concurrent.ThreadPoolExecutor; import java.util.logging.Logger; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.RandomManager; import otherSupport.SettingsManager; diff --git a/src/imageProc/core/swt/DispPropsPanel.java b/src/imageProc/core/swt/DispPropsPanel.java index 3046376375b04c8515444e303de0041e4fba255d..eb21f8e453d606c29d6174ab88e62cf7974c6878 100644 --- a/src/imageProc/core/swt/DispPropsPanel.java +++ b/src/imageProc/core/swt/DispPropsPanel.java @@ -14,6 +14,10 @@ import org.eclipse.swt.widgets.Scale; import org.eclipse.swt.widgets.Spinner; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; public class DispPropsPanel { @@ -64,7 +68,7 @@ public class DispPropsPanel { swtColorLogScale.setMinimum(0); swtColorLogScale.setMaximum(200); swtColorLogScale.setIncrement(1); - swtColorLogScale.setSelection((int)(OneLiners.mustParseDouble(SettingsManager.defaultGlobal().getProperty("imageProc.gui.colorLogScale", "1.0")) / 0.02)); + swtColorLogScale.setSelection((int)(Algorithms.mustParseDouble(SettingsManager.defaultGlobal().getProperty("imageProc.gui.colorLogScale", "1.0")) / 0.02)); swtColorLogScale.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false, 1, 1)); swtColorLogScale.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { colorScaleEvent(event, false); } }); diff --git a/src/imageProc/core/swt/EditableTable.java b/src/imageProc/core/swt/EditableTable.java index 0134347b7097313b17dbe4fc519da050765b446e..eee59084a48d2f6a30c7eab5bb7fd80b20b6963f 100644 --- a/src/imageProc/core/swt/EditableTable.java +++ b/src/imageProc/core/swt/EditableTable.java @@ -17,6 +17,10 @@ import org.eclipse.swt.widgets.Text; import imageProc.proc.softwareBinning.SoftwareROIsConfig.SoftwareROI; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class EditableTable extends Table { diff --git a/src/imageProc/core/swt/ImageWindow.java b/src/imageProc/core/swt/ImageWindow.java index 33b23dcc2e6e08176b9910116d8fc501908387ca..35d317e19ad3341fb2e03eeef61da114930a4859 100644 --- a/src/imageProc/core/swt/ImageWindow.java +++ b/src/imageProc/core/swt/ImageWindow.java @@ -54,7 +54,11 @@ import imageProc.database.gmds.GMDSUtil; import imageProc.proc.fft.FFTProcessor; import net.jafama.FastMath; import oneLiners.OneLiners; -import otherSupport.ColorMaps; +import algorithmrepository.Algorithms; +import algorithmrepository.ColorMaps; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.RandomManager; import otherSupport.SettingsManager; @@ -142,8 +146,8 @@ public class ImageWindow extends ImgPipe implements ImgSink { } public ImageWindow(Display swtDisplay, ImgSource source, int imageIndex) { - scaleX = OneLiners.mustParseDouble(SettingsManager.defaultGlobal().getProperty("imageProc.gui.scaleX", "1.0")); - scaleY = OneLiners.mustParseDouble(SettingsManager.defaultGlobal().getProperty("imageProc.gui.scaleY", "1.0")); + scaleX = Algorithms.mustParseDouble(SettingsManager.defaultGlobal().getProperty("imageProc.gui.scaleX", "1.0")); + scaleY = Algorithms.mustParseDouble(SettingsManager.defaultGlobal().getProperty("imageProc.gui.scaleY", "1.0")); breakAspect = (scaleX != scaleY); //this.connectedSource = source; //removed this , otherwise setSource() doesn't know the source has changed @@ -176,7 +180,7 @@ public class ImageWindow extends ImgPipe implements ImgSink { } private void createWindow(Display display){ - cMapType = OneLiners.mustParseInt(SettingsManager.defaultGlobal().getProperty("imageProc.gui.colorMap", "0")); + cMapType = Algorithms.mustParseInt(SettingsManager.defaultGlobal().getProperty("imageProc.gui.colorMap", "0")); swtShell = new Shell(display, SWT.RESIZE | SWT.DIALOG_TRIM | SWT.MIN | SWT.MAX); swtShell.setText("Image [init]"); @@ -322,8 +326,8 @@ public class ImageWindow extends ImgPipe implements ImgSink { swtShell.pack(); swtShell.open(); swtShell.setSize( - OneLiners.mustParseInt(SettingsManager.defaultGlobal().getProperty("imageProc.gui.windowWidth", "1200")), - OneLiners.mustParseInt(SettingsManager.defaultGlobal().getProperty("imageProc.gui.windowHeight", "800"))); + Algorithms.mustParseInt(SettingsManager.defaultGlobal().getProperty("imageProc.gui.windowWidth", "1200")), + Algorithms.mustParseInt(SettingsManager.defaultGlobal().getProperty("imageProc.gui.windowHeight", "800"))); swtShell.setMaximized(Boolean.parseBoolean(SettingsManager.defaultGlobal().getProperty("imageProc.gui.maximized", "false"))); @@ -1070,9 +1074,9 @@ public class ImageWindow extends ImgPipe implements ImgSink { if(iMap >= cmapData.length) throw new IllegalArgumentException("Unknown color map: " + colorMap); int nD = cmapData[iMap][0].length; - Interpolation1D interpR = new Interpolation1D(OneLiners.linSpace(0, 1, nD), cmapData[iMap][0]); - Interpolation1D interpG = new Interpolation1D(OneLiners.linSpace(0, 1, nD), cmapData[iMap][1]); - Interpolation1D interpB = new Interpolation1D(OneLiners.linSpace(0, 1, nD), cmapData[iMap][2]); + Interpolation1D interpR = new Interpolation1D(Mat.linspace(0, 1, nD), cmapData[iMap][0]); + Interpolation1D interpG = new Interpolation1D(Mat.linspace(0, 1, nD), cmapData[iMap][1]); + Interpolation1D interpB = new Interpolation1D(Mat.linspace(0, 1, nD), cmapData[iMap][2]); cMap = new byte[nCols*3]; for(int i=0; i < nCols; i++){ @@ -1159,7 +1163,7 @@ public class ImageWindow extends ImgPipe implements ImgSink { //*/ /* This turns out to be slower... meh - int c2 = OneLiners.getNearestIndex(vMap, f); + int c2 = Mat.getNearestIndex(vMap, f); /*if(c2 != c){ System.out.println(f + "\t" + c + "\t" + c2); }//*/ diff --git a/src/imageProc/core/swt/InfoPanel.java b/src/imageProc/core/swt/InfoPanel.java index eebd4af2d5bb747f8ddb809298328cceb5b84915..3c7e909ff391cf2a858cbfa8d47c745a50a29abd 100644 --- a/src/imageProc/core/swt/InfoPanel.java +++ b/src/imageProc/core/swt/InfoPanel.java @@ -34,6 +34,10 @@ import imageProc.core.ImgPipe; import imageProc.core.ImgSink; import imageProc.core.ImgSource; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; import otherSupport.bufferControl.DirectBufferControl; diff --git a/src/imageProc/database/gmds/GMDSPipe.java b/src/imageProc/database/gmds/GMDSPipe.java index ef08fd5fabe754edd68457bbdaaa2393125bd372..c947c0cef600d3f73f75c3b1f7061f3eed53012d 100644 --- a/src/imageProc/database/gmds/GMDSPipe.java +++ b/src/imageProc/database/gmds/GMDSPipe.java @@ -20,6 +20,10 @@ import mds.AugShotfileFetcher; import mds.GMDSFetcher; import mds.MdsPlusException; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; import signals.Signal; import signals.aug.AUGSignal; diff --git a/src/imageProc/database/gmds/GMDSSettingsControl.java b/src/imageProc/database/gmds/GMDSSettingsControl.java index 78e6ac7d0da41c44b86762aaffc95467aee36fb1..6affa25617d91c575fc16c0977fc3a1103f55d5d 100644 --- a/src/imageProc/database/gmds/GMDSSettingsControl.java +++ b/src/imageProc/database/gmds/GMDSSettingsControl.java @@ -15,6 +15,10 @@ import org.eclipse.swt.widgets.Spinner; import imageProc.core.ConfigurableByID; import imageProc.core.swt.SWTSettingsControl; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; /** Insert for saving/load settings to/from GMDS database */ public class GMDSSettingsControl implements SWTSettingsControl { @@ -74,7 +78,7 @@ public class GMDSSettingsControl implements SWTSettingsControl { String parts[] = config.strip().split("/"); if(parts[0].equals("gmds")) { loadExpCombo.setText(parts.length >= 2 ? parts[1] : ""); - loadPulseSpiner.setSelection(parts.length >= 3 ? OneLiners.mustParseInt(parts[1]) : 0); + loadPulseSpiner.setSelection(parts.length >= 3 ? Algorithms.mustParseInt(parts[1]) : 0); } } } diff --git a/src/imageProc/database/gmds/GMDSSink.java b/src/imageProc/database/gmds/GMDSSink.java index e448d925ae26308289846764e0ad879a937640a3..d2460102f7a0746a2dbc538218516a5ac025c58d 100644 --- a/src/imageProc/database/gmds/GMDSSink.java +++ b/src/imageProc/database/gmds/GMDSSink.java @@ -22,6 +22,10 @@ import imageProc.core.MetaDataMap; import imageProc.core.MetaDataMap.MetaData; import mds.GMDSFetcher; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; import signals.gmds.GMDSSignal; @@ -227,7 +231,7 @@ public class GMDSSink extends GMDSPipe implements ImgSink, DatabaseSink { try{ if(img instanceof DoubleFlatArrayImage){ imgSig = new GMDSSignal(imgDesc, - OneLiners.unflatten( + Mat.unflatten( ((DoubleFlatArrayImage) img).getFlatArray(), img.getHeight(), img.getWidth())); diff --git a/src/imageProc/database/gmds/GMDSSource.java b/src/imageProc/database/gmds/GMDSSource.java index bdd4885e79adfb485bd192ebdd3d1f8cd927c314..7d311256e454cd6cb353dd1de95104f3687950d0 100644 --- a/src/imageProc/database/gmds/GMDSSource.java +++ b/src/imageProc/database/gmds/GMDSSource.java @@ -28,6 +28,10 @@ import imageProc.core.ImgSource; import mds.GMDSFetcher; import mds.MdsPlusException; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; import signals.Signal; import signals.gmds.GMDSSignal; @@ -112,7 +116,7 @@ public class GMDSSource extends GMDSPipe implements ImgSource { int maxImgNo = 0; for (String sigName : sigs) { if (sigName != null && sigName.matches("[/]*" + path + "[/]*/IMAGE_[0-9]*.*")) { - int imgNo = OneLiners.mustParseInt(sigName .replaceFirst("[/]*" + path + "[/]*IMAGE_([0-9]*).*", "$1")); + int imgNo = Algorithms.mustParseInt(sigName .replaceFirst("[/]*" + path + "[/]*IMAGE_([0-9]*).*", "$1")); if (imgNo > maxImgNo) maxImgNo = imgNo; } diff --git a/src/imageProc/database/json/JSONFileSettingsControl.java b/src/imageProc/database/json/JSONFileSettingsControl.java index ef5a152953d762cd7510fdd25d5078a115ed4349..e3f343d38acd9979151ca9a5a73eecf23e81f24c 100644 --- a/src/imageProc/database/json/JSONFileSettingsControl.java +++ b/src/imageProc/database/json/JSONFileSettingsControl.java @@ -24,6 +24,10 @@ import descriptors.SignalDesc; import imageProc.core.ConfigurableByID; import imageProc.core.swt.SWTSettingsControl; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; /** Insert for saving/load settings to/from a json file on disk diff --git a/src/imageProc/graph/GraphUtilProcessor.java b/src/imageProc/graph/GraphUtilProcessor.java index 21d2861e90687ee2fea25c87a7b16d9cf50b2587..c60bfbbbe8911592008b18f188c98f972ca9ff01 100644 --- a/src/imageProc/graph/GraphUtilProcessor.java +++ b/src/imageProc/graph/GraphUtilProcessor.java @@ -19,6 +19,7 @@ import algorithmrepository.ExtrapolationMode; import algorithmrepository.Interpolation1D; import algorithmrepository.InterpolationMode; import algorithmrepository.LinearInterpolation1D; +import algorithmrepository.Mat; import binaryMatrixFile.AsciiMatrixFile; import imageProc.core.ImageProcUtil; import imageProc.core.ImagePipeController; @@ -632,7 +633,7 @@ public class GraphUtilProcessor extends ImgPipe implements ImgSink { int i=0; for(Series series : seriesList){ - AsciiMatrixFile.mustWrite(System.getProperty("java.io.tmpdir") + "/graphData/"+ ((series.name() != null) ? series.name() : i) + ".txt", + Mat.mustWriteAscii(System.getProperty("java.io.tmpdir") + "/graphData/"+ ((series.name() != null) ? series.name() : i) + ".txt", new double[][]{ series.x, series.data }, true); i++; } diff --git a/src/imageProc/graph/MetaDataPlotter.java b/src/imageProc/graph/MetaDataPlotter.java index e25485e5729529bf72ff4ad60f5396c158337e5f..e6fbcbddf41569fddd6f464072d5cb21dc00d720 100644 --- a/src/imageProc/graph/MetaDataPlotter.java +++ b/src/imageProc/graph/MetaDataPlotter.java @@ -4,6 +4,8 @@ import imageProc.core.Img; import imageProc.core.MetaDataMap; import imageProc.core.MetaDataMap.MetaData; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; import java.lang.reflect.Array; @@ -71,7 +73,7 @@ public class MetaDataPlotter { int nT = proc.getConnectedSource().getNumImages(); int posX = proc.getPosX(), posY = proc.getPosY(), posT = proc.getSelectedSourceIndex(); - seriesMetaData = OneLiners.fixWeirdContainers(seriesMetaData, true); + seriesMetaData = Mat.fixWeirdContainers(seriesMetaData, true); if(seriesMetaData instanceof double[][][]){ double arr[][][] = ((double[][][]) seriesMetaData); diff --git a/src/imageProc/graph/SimpleGraph.java b/src/imageProc/graph/SimpleGraph.java index b47fd293f6e7df20ee272a9c25460aeae7896418..0bd629b031216d7fb511f9042e0d6947f350e1e5 100644 --- a/src/imageProc/graph/SimpleGraph.java +++ b/src/imageProc/graph/SimpleGraph.java @@ -8,6 +8,10 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Group; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class SimpleGraph extends Composite { @@ -41,14 +45,14 @@ public class SimpleGraph extends Composite { private void calcXRanges(){ xValFullRange = new double[xVals.length][]; for(int i=0; i < xVals.length; i++){ - xValFullRange[i] = OneLiners.getRange(xVals[i]); + xValFullRange[i] = Mat.getRange(xVals[i]); } } private void calcDataRanges(){ dataFullRange = new double[data.length][]; for(int i=0; i < data.length; i++){ - dataFullRange[i] = OneLiners.getRange(data[i]); + dataFullRange[i] = Mat.getRange(data[i]); } } @@ -60,7 +64,7 @@ public class SimpleGraph extends Composite { dataDispRange = new double[data.length][]; for(int i=0; i < data.length; i++){ - dataFullRange[i] = OneLiners.getRange(data[i]); + dataFullRange[i] = Mat.getRange(data[i]); } } diff --git a/src/imageProc/graph/shapeFit/CalFitScanner.java b/src/imageProc/graph/shapeFit/CalFitScanner.java index 00f063e8a86c909326358da9daf76fa7eb36d358..4ebd9e58e8c7d8605ff861e4c23c3af583682e9b 100644 --- a/src/imageProc/graph/shapeFit/CalFitScanner.java +++ b/src/imageProc/graph/shapeFit/CalFitScanner.java @@ -10,6 +10,10 @@ import imageProc.database.gmds.GMDSUtil; import imageProc.graph.GraphUtilProcessor; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.StatusOutput; import signals.gmds.GMDSSignal; @@ -52,8 +56,8 @@ public class CalFitScanner { double dx = (double)w / nX; double dy = (double)h / nY; - double meanX[] = OneLiners.linSpace(dx/2, w-(dx/2), nX); - double meanY[] = OneLiners.linSpace(dy/2, h-(dy/2), nY); + double meanX[] = Mat.linspace(dx/2, w-(dx/2), nX); + double meanY[] = Mat.linspace(dy/2, h-(dy/2), nY); int nP = proc.getFitter().getInitParams().length; int nT = proc.getConnectedSource().getNumImages(); diff --git a/src/imageProc/graph/shapeFit/FuncFitter.java b/src/imageProc/graph/shapeFit/FuncFitter.java index 2678609ed1a88d309cb635eb26bb6cbf5e8d612f..216ac1a3dcdb45dcfbdadabf3f4649aa073b7bb3 100644 --- a/src/imageProc/graph/shapeFit/FuncFitter.java +++ b/src/imageProc/graph/shapeFit/FuncFitter.java @@ -14,6 +14,10 @@ import imageProc.graph.GraphUtilProcessor; import imageProc.graph.Series; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.ScientificNumberFormat; import seed.optimization.HookeAndJeeves; @@ -79,8 +83,8 @@ public class FuncFitter { seriesList.clear(); - double rangeX[] = OneLiners.getRange(data); - double rangeD[] = OneLiners.getRange(data); + double rangeX[] = Mat.getRange(data); + double rangeD[] = Mat.getRange(data); //double initP[] = (estimateInitP || this.initP == null) ? null : this.initP.clone(); if(estimateInitP) @@ -367,7 +371,7 @@ public class FuncFitter { } //rescale abs for graph double maxAbs = abs[maxIdx]; - double range[] = OneLiners.getRange(data); + double range[] = Mat.getRange(data); for(int i=0; i < n/2; i++){ abs[i] *= range[1] / maxAbs; } @@ -520,7 +524,7 @@ public class FuncFitter { System.out.println("Cost: init = " + costF.evalAllParams(initP) + "\tFinal = " + costF.evalAllParams(pAll)); - //BinaryMatrixFile.mustWrite("/tmp/blah.bin", new double[][]{ x, data, costF.func(initP), costF.func(p) }, true); + //Mat.mustWriteBinary("/tmp/blah.bin", new double[][]{ x, data, costF.func(initP), costF.func(p) }, true); //add these at start, shifting others down seriesList.add(0, new Series("init", x, costF.func(initP))); @@ -590,7 +594,7 @@ public class FuncFitter { return; } - double maxX = Algorithms.max(x); + double maxX = Mat.max(x); int i=-1; ScientificNumberFormat fmt = new ScientificNumberFormat("#.###","#.##E0",6); do{ diff --git a/src/imageProc/graph/shapeFit/FuncFitterSWTControl.java b/src/imageProc/graph/shapeFit/FuncFitterSWTControl.java index 3bed1f270ab4a3643cbcf780d20cc07731e2aaf1..7f4f6700d38f6814ed455a5468ca47d24fb64f94 100644 --- a/src/imageProc/graph/shapeFit/FuncFitterSWTControl.java +++ b/src/imageProc/graph/shapeFit/FuncFitterSWTControl.java @@ -25,6 +25,10 @@ import imageProc.core.ImageProcUtil; import imageProc.database.gmds.GMDSUtil; import imageProc.graph.GraphUtilProcessor; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import signals.gmds.GMDSSignal; public class FuncFitterSWTControl { @@ -217,8 +221,8 @@ public class FuncFitterSWTControl { data[0][0] = shapeCombo.getSelectionIndex(); for(int i=0; i < nP; i++){ TableItem item = paramsTable.getItem(i); - data[i+1][0] = OneLiners.mustParseDouble(item.getText(1)); - data[i+1][1] = OneLiners.mustParseDouble(item.getText(2)); + data[i+1][0] = Algorithms.mustParseDouble(item.getText(1)); + data[i+1][1] = Algorithms.mustParseDouble(item.getText(2)); data[i+1][2] = item.getText(3).startsWith("Y") ? 1 : 0; } @@ -286,7 +290,7 @@ public class FuncFitterSWTControl { boolean enable[] = new boolean[nP]; for(int i=0; i < nP; i++){ TableItem item = paramsTable.getItem(i); - initP[i] = OneLiners.mustParseDouble(item.getText(1)); + initP[i] = Algorithms.mustParseDouble(item.getText(1)); enable[i] = item.getText(3).startsWith("Y"); } proc.getFitter().setInitParams(initP); @@ -358,7 +362,7 @@ public class FuncFitterSWTControl { private void setTableEntry(int column, TableItem item, String str){ if(column == 1 || column == 2){ - item.setText(column, Double.toString(OneLiners.mustParseDouble(str))); + item.setText(column, Double.toString(Algorithms.mustParseDouble(str))); }else if(column == 3){ item.setText(column, (str.startsWith("Y") || str.startsWith("y")) ? "Yes" : "No"); } diff --git a/src/imageProc/metaview/MetaDataManager.java b/src/imageProc/metaview/MetaDataManager.java index 1fb5dcf0ac406df31c9e6ae21399934a8fbf0769..750cb74d87d3ce22399fd2197cecd6c44e79f21f 100644 --- a/src/imageProc/metaview/MetaDataManager.java +++ b/src/imageProc/metaview/MetaDataManager.java @@ -11,6 +11,10 @@ import imageProc.core.MetaDataMap; import imageProc.core.MetaDataMap.MetaData; import imageProc.core.EventReciever.Event; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import org.eclipse.swt.widgets.Composite; @@ -195,7 +199,7 @@ public class MetaDataManager extends ImgPipe implements ImgSink, ConfigurableByI String json = gson.toJson(persistentMetadata); - OneLiners.TextToFile(fileName, json); + OneLiners.textToFile(fileName, json); lastLoadedConfig = id; } } diff --git a/src/imageProc/metaview/MetaDataManagerSWTController.java b/src/imageProc/metaview/MetaDataManagerSWTController.java index 25659609241487f95c08cff6bae65ea0a0154831..3dd3b7b03fe6b8820630b43737e47fcc84543974 100644 --- a/src/imageProc/metaview/MetaDataManagerSWTController.java +++ b/src/imageProc/metaview/MetaDataManagerSWTController.java @@ -56,6 +56,10 @@ import imageProc.database.json.JSONFileSettingsControl; import imageProc.graph.JFreeChartGraph; import imageProc.graph.Series; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class MetaDataManagerSWTController implements ImagePipeController { public static final String colNames[] = { "ID", "Persistent?", "Time Series", "Datatype", "Level" }; diff --git a/src/imageProc/proc/demod/CalibrationFit.java b/src/imageProc/proc/demod/CalibrationFit.java index 63cf5583a01ef546efd4f39ea5a841dc2c1dcf46..35fa465a2e3951b73f5a84595d68c0ba360b58a8 100644 --- a/src/imageProc/proc/demod/CalibrationFit.java +++ b/src/imageProc/proc/demod/CalibrationFit.java @@ -39,8 +39,8 @@ public class CalibrationFit { for(int j=0; j < muData[i].length; j++) muData[i][j] = FastMath.abs(muData[i][j]); - //offset = new CubicInterpolation2D(x, y, OneLiners.transpose(offData)); - //mu = new CubicInterpolation2D(x, y, OneLiners.transpose(muData)); + //offset = new CubicInterpolation2D(x, y, Mat.transpose(offData)); + //mu = new CubicInterpolation2D(x, y, Mat.transpose(muData)); offset = new CubicInterpolation2D(x, y, offData); mu = new CubicInterpolation2D(x, y, muData); effEllip = new CubicInterpolation2D(x, y, ellipData); diff --git a/src/imageProc/proc/demod/ComponentsFinder.java b/src/imageProc/proc/demod/ComponentsFinder.java index 3d62aafdf7f73ebe7f3f7a9249952995463a3779..5be421e2e07ac6053111f85ee7fb19bf8f4e46e7 100644 --- a/src/imageProc/proc/demod/ComponentsFinder.java +++ b/src/imageProc/proc/demod/ComponentsFinder.java @@ -6,6 +6,7 @@ import java.util.Comparator; import java.util.LinkedList; import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock; +import algorithmrepository.Mat; import binaryMatrixFile.BinaryMatrixFile; import imageProc.core.ComplexImage; import net.jafama.FastMath; @@ -84,7 +85,7 @@ public class ComponentsFinder { } } } - BinaryMatrixFile.mustWrite("/tmp/a", smoothed, false); + Mat.mustWriteBinary("/tmp/a", smoothed, false); Collections.sort(peakList); ArrayList <Peak> topPeaks = new ArrayList<Peak>(); diff --git a/src/imageProc/proc/demod/DSHDemod.java b/src/imageProc/proc/demod/DSHDemod.java index d38888d5e65e5cee3cb19fc5df20469387fb0fa5..6ec45744f3a17408aee91af9d26b4e650b49a452 100644 --- a/src/imageProc/proc/demod/DSHDemod.java +++ b/src/imageProc/proc/demod/DSHDemod.java @@ -33,6 +33,10 @@ import imageProc.core.ImgSource; import imageProc.database.gmds.GMDSUtil; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import signals.Signal; import signals.gmds.GMDSSignal; @@ -823,7 +827,7 @@ public class DSHDemod extends ImgProcPipe implements ConfigurableByID { if (id.startsWith("gmds")) { String parts[] = id.split("/"); - loadConfigGMDS(parts[1].length() > 0 ? parts[1] : null, OneLiners.mustParseInt(parts[2])); + loadConfigGMDS(parts[1].length() > 0 ? parts[1] : null, Algorithms.mustParseInt(parts[2])); } else if (id.startsWith("jsonfile:")) { loadConfigJSON(id.substring(9)); }else { @@ -896,7 +900,7 @@ public class DSHDemod extends ImgProcPipe implements ConfigurableByID { public void saveConfig(String id) { if (id.startsWith("gmds")) { String parts[] = id.split("/"); - saveConfigGMDS(parts[1].length() > 0 ? parts[1] : null, OneLiners.mustParseInt(parts[2])); + saveConfigGMDS(parts[1].length() > 0 ? parts[1] : null, Algorithms.mustParseInt(parts[2])); lastLoadedConfig = id; } else if (id.startsWith("jsonfile:")) { saveConfigJSON(id.substring(9)); @@ -928,7 +932,7 @@ public class DSHDemod extends ImgProcPipe implements ConfigurableByID { jobj.add("calibImgIdx", new JsonPrimitive(calibImgIdx)); jobj.add("calibImgAng", new JsonPrimitive(calibImgAng)); - OneLiners.TextToFile(fileName, jobj.toString()); + OneLiners.textToFile(fileName, jobj.toString()); } public void saveConfigGMDS(String experiment, int pulse) { @@ -997,7 +1001,7 @@ public class DSHDemod extends ImgProcPipe implements ConfigurableByID { } else if (calibImgPath.matches(".*@[0-9.]*")) { // give image is the // given angle - this.calibImgAng = OneLiners.mustParseDouble(calibImgPath.replaceFirst(".*@([0-9.]*)", "$1")) * Math.PI + this.calibImgAng = Algorithms.mustParseDouble(calibImgPath.replaceFirst(".*@([0-9.]*)", "$1")) * Math.PI / 180; path = calibImgPath.replaceFirst("(.*)@[0-9.]*", "$1"); @@ -1025,7 +1029,7 @@ public class DSHDemod extends ImgProcPipe implements ConfigurableByID { if (calibData == null) { // binary matrix file? try { - calibData = BinaryMatrixFile.mustLoad(path, false); + calibData = Mat.mustLoadBinary(path, false); } catch (Exception e) { } } diff --git a/src/imageProc/proc/fastSpec/FastSpecEntry.java b/src/imageProc/proc/fastSpec/FastSpecEntry.java index 5f16a4c436c8dcd743b3cbb875fe6de8b81dc833..ba9469642f3a0f861a26d2694d77195c36db7103 100644 --- a/src/imageProc/proc/fastSpec/FastSpecEntry.java +++ b/src/imageProc/proc/fastSpec/FastSpecEntry.java @@ -5,6 +5,10 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; /** Configuration for simple fast spectroscopy line fitting */ public class FastSpecEntry { @@ -166,8 +170,8 @@ public class FastSpecEntry { atomicNumber = OneLiners.findBestMatchingString(periodicTable, matcher.group(1)); ionisationState = fromRoman(matcher.group(2))-1; - upperState = OneLiners.mustParseInt(matcher.group(3)); - lowerState = OneLiners.mustParseInt(matcher.group(4)); + upperState = Algorithms.mustParseInt(matcher.group(3)); + lowerState = Algorithms.mustParseInt(matcher.group(4)); } public HashMap<String, Object> toMap() { diff --git a/src/imageProc/proc/fastSpec/FastSpecProcessor.java b/src/imageProc/proc/fastSpec/FastSpecProcessor.java index a1053dabe1112b54dae917db5982c564bf94a7e3..e6e728b0f0a3d8a6583860c56a0c640be69378af 100644 --- a/src/imageProc/proc/fastSpec/FastSpecProcessor.java +++ b/src/imageProc/proc/fastSpec/FastSpecProcessor.java @@ -35,12 +35,14 @@ import imageProc.proc.fastSpec.FastSpecConfig.InitMode; import imageProc.proc.fastSpec.swt.FastSpecSWTController; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; import otherSupport.SettingsManager; import seed.digeom.FunctionND; import seed.digeom.IDomain; import seed.digeom.RectangularDomain; import seed.matrix.DenseMatrix; -import seed.matrix.Mat; import seed.matrix.Matrix; import seed.optimization.BracketingByParameterSpace; import seed.optimization.CoordinateDescentDirection; @@ -211,19 +213,19 @@ public class FastSpecProcessor extends ImgPipe implements ImgSink, ConfigurableB if(fitSingleEntry == null && !singleFrame){ for (FastSpecEntry specEntry : config.specEntries) { - specEntry.fitAmplitude = OneLiners.fillArray(Double.NaN, nF); - specEntry.fitUncertaintyAmpltiude = OneLiners.fillArray(Double.NaN, nF); - specEntry.fitX0 = OneLiners.fillArray(Double.NaN, nF); - specEntry.fitUncertaintyX0 = OneLiners.fillArray(Double.NaN, nF); - specEntry.fitSlope = OneLiners.fillArray(Double.NaN, nF); - //specEntry.fitUncertaintySlope = OneLiners.fillArray(Double.NaN, nF); - specEntry.fitY0 = OneLiners.fillArray(Double.NaN, nF); - specEntry.fitUncertaintyY0 = OneLiners.fillArray(Double.NaN, nF); - specEntry.fitSigma = OneLiners.fillArray(Double.NaN, nF); - specEntry.fitUncertaintySigma = OneLiners.fillArray(Double.NaN, nF); - specEntry.fitPower = OneLiners.fillArray(Double.NaN, nF); - specEntry.fitUncertaintyPower = OneLiners.fillArray(Double.NaN, nF); - specEntry.fitRMSError = OneLiners.fillArray(Double.NaN, nF); + specEntry.fitAmplitude = Mat.fillArray(Double.NaN, nF); + specEntry.fitUncertaintyAmpltiude = Mat.fillArray(Double.NaN, nF); + specEntry.fitX0 = Mat.fillArray(Double.NaN, nF); + specEntry.fitUncertaintyX0 = Mat.fillArray(Double.NaN, nF); + specEntry.fitSlope = Mat.fillArray(Double.NaN, nF); + //specEntry.fitUncertaintySlope = Mat.fillArray(Double.NaN, nF); + specEntry.fitY0 = Mat.fillArray(Double.NaN, nF); + specEntry.fitUncertaintyY0 = Mat.fillArray(Double.NaN, nF); + specEntry.fitSigma = Mat.fillArray(Double.NaN, nF); + specEntry.fitUncertaintySigma = Mat.fillArray(Double.NaN, nF); + specEntry.fitPower = Mat.fillArray(Double.NaN, nF); + specEntry.fitUncertaintyPower = Mat.fillArray(Double.NaN, nF); + specEntry.fitRMSError = Mat.fillArray(Double.NaN, nF); specEntry.inferredQuantities = new HashMap<String, double[]>(); } @@ -583,7 +585,7 @@ public class FastSpecProcessor extends ImgPipe implements ImgSink, ConfigurableB int nL = (img == null) ? -1 : (config.wavelenIsY ? img.getHeight() : img.getWidth()); int nCh = (img == null) ? -1 : (config.wavelenIsY ? img.getWidth() : img.getHeight()); if (o != null) - o = OneLiners.fixWeirdContainers(o, true); + o = Mat.fixWeirdContainers(o, true); if (o == null || !o.getClass().isArray() || (nL > 0 && Array.getLength(o) != nL && Array.getLength(o) != nCh)) { @@ -592,7 +594,7 @@ public class FastSpecProcessor extends ImgPipe implements ImgSink, ConfigurableB } // wavelength metadata which is wavelength at each pixel - o = OneLiners.fixWeirdContainers(o, true); + o = Mat.fixWeirdContainers(o, true); if (o instanceof float[]) { o = DataConvertPureJava.convert1DArray(o, new double[((float[]) o).length]); } @@ -1415,19 +1417,19 @@ public class FastSpecProcessor extends ImgPipe implements ImgSink, ConfigurableB throw new RuntimeException("Aborted in matrix inverse lock wait"); } - double det = Mat.det(hessMat); + double det = seed.matrix.Mat.det(hessMat); if(!Double.isFinite(det)){ Logger.getLogger(this.getClass().getName()).fine("Non finite determinant in uncertainty matrix"); return null; } if(config.minInvCovarianceEigenvalue > 0) - hessMat = (DenseMatrix)Mat.makeSPD(hessMat, config.minInvCovarianceEigenvalue); + hessMat = (DenseMatrix)seed.matrix.Mat.makeSPD(hessMat, config.minInvCovarianceEigenvalue); - Matrix covMat = Mat.inv(hessMat); + Matrix covMat = seed.matrix.Mat.inv(hessMat); //covMat = (DenseMatrix)Mat.makeSPD(covMat, 1e-5); - if(Double.isFinite(Mat.det(covMat))) + if(Double.isFinite(seed.matrix.Mat.det(covMat))) return covMat.toArray(); Logger.getLogger(this.getClass().getName()).warning("Failed to invert covariance matrix for frame "+iF+" of " + entry0.id + ". Using conditional uncertainty"); @@ -1695,7 +1697,7 @@ public class FastSpecProcessor extends ImgPipe implements ImgSink, ConfigurableB double baselineNoiseSigma = FastMath .sqrt(sumY2 / (2 * nBaseLineAvg) - FastMath.pow2(sumY / (2 * nBaseLineAvg))); //baselineNoiseSigma = 100; - frameD.error = OneLiners.fillArray(baselineNoiseSigma, nP); + frameD.error = Mat.fillArray(baselineNoiseSigma, nP); for(int i=0; i < frameD.data.length; i++){ if(frameD.data[i] > config.saturationLevel) @@ -2111,7 +2113,7 @@ public class FastSpecProcessor extends ImgPipe implements ImgSink, ConfigurableB // make vaguely readable json = json.replaceAll("},", "},\n"); - OneLiners.TextToFile(fileName, json); + OneLiners.textToFile(fileName, json); lastLoadedConfig = id; } } diff --git a/src/imageProc/proc/fastSpec/swt/FastSpecGraphSWTPanel.java b/src/imageProc/proc/fastSpec/swt/FastSpecGraphSWTPanel.java index 166c1ca0390709c03ce7a565c255a739d88a9889..621aac514467bd4123ad2bf89ad74d3f56aba0f1 100644 --- a/src/imageProc/proc/fastSpec/swt/FastSpecGraphSWTPanel.java +++ b/src/imageProc/proc/fastSpec/swt/FastSpecGraphSWTPanel.java @@ -34,6 +34,10 @@ import imageProc.proc.fastSpec.FastSpecProcessor; import imageProc.proc.fastSpec.FastSpecProcessor.FrameData; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class FastSpecGraphSWTPanel { private static String[] basicPlotTypes = new String[] { "Single Frame Fit", "Intensity vs time", "Sigma vs time", "Power vs time" , "x0 vs time", "y0 vs time", "slope vs time", "RMS error vs time" }; @@ -186,10 +190,10 @@ public class FastSpecGraphSWTPanel { Series series = seriesList.get(i); if(binary) { - BinaryMatrixFile.mustWrite(System.getProperty("java.io.tmpdir") + "/FastSpecProcessor/"+ ((series.name() != null) ? series.name() : i) + ".bin", + Mat.mustWriteBinary(System.getProperty("java.io.tmpdir") + "/FastSpecProcessor/"+ ((series.name() != null) ? series.name() : i) + ".bin", new double[][]{ series.x, series.data }, true); }else { - AsciiMatrixFile.mustWrite(System.getProperty("java.io.tmpdir") + "/FastSpecProcessor/"+ ((series.name() != null) ? series.name() : i) + ".txt", + Mat.mustWriteAscii(System.getProperty("java.io.tmpdir") + "/FastSpecProcessor/"+ ((series.name() != null) ? series.name() : i) + ".txt", new double[][]{ series.x, series.data }, true); } @@ -385,7 +389,7 @@ public class FastSpecGraphSWTPanel { if(d == null) return; - double x[] = (xAxis != null) ? xAxis : OneLiners.linSpace(0,d.y.length - 1, 1.0); + double x[] = (xAxis != null) ? xAxis : Mat.linspace(0,d.y.length - 1, 1.0); //strip NaNs int n=0; @@ -413,22 +417,22 @@ public class FastSpecGraphSWTPanel { seriesList.add(s); if(Double.isFinite(d.yMin)) - seriesList.add(new Series("min", x2, OneLiners.fillArray(d.yMin, n))); + seriesList.add(new Series("min", x2, Mat.fillArray(d.yMin, n))); if(Double.isFinite(d.yMax)) - seriesList.add(new Series("max", x2, OneLiners.fillArray(d.yMax, n))); + seriesList.add(new Series("max", x2, Mat.fillArray(d.yMax, n))); if(Double.isFinite(d.yInit)) - seriesList.add(new Series("init", x2, OneLiners.fillArray(d.yInit, n))); + seriesList.add(new Series("init", x2, Mat.fillArray(d.yInit, n))); if(Double.isFinite(d.yInit)) - seriesList.add(new Series("prior-1sig", x2, OneLiners.fillArray(d.yPriorMean - d.yPriorSigma*2.35/2, n))); + seriesList.add(new Series("prior-1sig", x2, Mat.fillArray(d.yPriorMean - d.yPriorSigma*2.35/2, n))); if(Double.isFinite(d.yInit)) - seriesList.add(new Series("prior0", x2, OneLiners.fillArray(d.yInit, n))); + seriesList.add(new Series("prior0", x2, Mat.fillArray(d.yInit, n))); if(Double.isFinite(d.yInit)) - seriesList.add(new Series("prior+1sig", x2, OneLiners.fillArray(d.yPriorMean + d.yPriorSigma*2.35/2, n))); + seriesList.add(new Series("prior+1sig", x2, Mat.fillArray(d.yPriorMean + d.yPriorSigma*2.35/2, n))); } graph.setData(seriesList); diff --git a/src/imageProc/proc/fastSpec/swt/FastSpecSWTController.java b/src/imageProc/proc/fastSpec/swt/FastSpecSWTController.java index 879076719569562b5f4823e40a64e0b9d17ee4b9..fba37586da00e0e39753fdfff451ef7b167a2f97 100644 --- a/src/imageProc/proc/fastSpec/swt/FastSpecSWTController.java +++ b/src/imageProc/proc/fastSpec/swt/FastSpecSWTController.java @@ -70,6 +70,10 @@ import imageProc.proc.fastSpec.FastSpecConfig.Optimiser; import imageProc.proc.fastSpec.FastSpecProcessor.FrameData; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class FastSpecSWTController implements SWTControllerInfoDraw, ImagePipeControllerROISettable { @@ -835,9 +839,9 @@ public class FastSpecSWTController implements SWTControllerInfoDraw, ImagePipeCo f = FastSpecEntry.class.getDeclaredField(colName); if(f.getType() == int.class){ - f.set(point, OneLiners.mustParseInt(text)); + f.set(point, Algorithms.mustParseInt(text)); }else if(f.getType() == double.class){ - f.set(point, OneLiners.mustParseDouble(text)); + f.set(point, Algorithms.mustParseDouble(text)); }else if(f.getType() == String.class){ if(text != null && (text.length() == 0 || text.equals("null") || text.equals("(null)"))) text = null; diff --git a/src/imageProc/proc/fastSpec/swt/FastSpecSettingsSWTPanel.java b/src/imageProc/proc/fastSpec/swt/FastSpecSettingsSWTPanel.java index 13367194572e8c51934f990cc10ee72d5bd52718..110c1a4982d304c8d339928df52c810576cdd4a0 100644 --- a/src/imageProc/proc/fastSpec/swt/FastSpecSettingsSWTPanel.java +++ b/src/imageProc/proc/fastSpec/swt/FastSpecSettingsSWTPanel.java @@ -29,6 +29,10 @@ import imageProc.proc.fastSpec.FastSpecConfig; import imageProc.proc.fastSpec.FastSpecEntry; import imageProc.proc.fastSpec.FastSpecProcessor; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import imageProc.proc.fastSpec.FastSpecConfig.AmpFitMode; import imageProc.proc.fastSpec.FastSpecConfig.InitMode; import imageProc.proc.fastSpec.FastSpecConfig.Optimiser; @@ -111,14 +115,14 @@ public class FastSpecSettingsSWTPanel { Label lIT = new Label(settingsTabComp, SWT.NONE); lIT.setText("Init: "); initModeCombo = new Combo(settingsTabComp, SWT.DROP_DOWN | SWT.READ_ONLY); initModeCombo.setToolTipText("How to set initial values"); - initModeCombo.setItems(OneLiners.toStringArray(InitMode.values())); + initModeCombo.setItems(Mat.toStringArray(InitMode.values())); initModeCombo.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, true, false, 1, 1)); initModeCombo.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { settingsChangedEvent(event); } }); Label lAM = new Label(settingsTabComp, SWT.NONE); lAM.setText("Amp: "); amplitudeModeCombo = new Combo(settingsTabComp, SWT.DROP_DOWN | SWT.READ_ONLY); amplitudeModeCombo.setToolTipText("Only fit amplitudes (first, or at all), use fixed intial values of all other parameters."); - amplitudeModeCombo.setItems(OneLiners.toStringArray(AmpFitMode.values())); + amplitudeModeCombo.setItems(Mat.toStringArray(AmpFitMode.values())); amplitudeModeCombo.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false, 3, 1)); amplitudeModeCombo.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { settingsChangedEvent(event); } }); diff --git a/src/imageProc/proc/fft/FFTProcessor.java b/src/imageProc/proc/fft/FFTProcessor.java index 97d370ad938deb89fd4e5e62c9c7fae1aa5379c5..f7417615519230ef42368cae2ef3f749600ff276 100644 --- a/src/imageProc/proc/fft/FFTProcessor.java +++ b/src/imageProc/proc/fft/FFTProcessor.java @@ -25,6 +25,10 @@ import imageProc.core.MetaDataMap; import imageProc.database.gmds.GMDSUtil; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import signals.gmds.GMDSSignal; /** FFT Processor @@ -142,7 +146,7 @@ public class FFTProcessor extends ImgProcPipeMultithread implements Configurable if(id.startsWith("gmds")){ String parts[] = id.split("/"); - loadConfigGMDS(parts[1].length() > 0 ? parts[1] : null, OneLiners.mustParseInt(parts[2])); + loadConfigGMDS(parts[1].length() > 0 ? parts[1] : null, Algorithms.mustParseInt(parts[2])); }else if(id.startsWith("jsonfile:")){ loadConfigJSON(id.substring(9)); }else { @@ -188,7 +192,7 @@ public class FFTProcessor extends ImgProcPipeMultithread implements Configurable public void saveConfig(String id){ if(id.startsWith("gmds")){ String parts[] = id.split("/"); - saveConfigGMDS(parts[1].length() > 0 ? parts[1] : null, OneLiners.mustParseInt(parts[2])); + saveConfigGMDS(parts[1].length() > 0 ? parts[1] : null, Algorithms.mustParseInt(parts[2])); lastLoadedConfig = id; }else if(id.startsWith("jsonfile:")){ saveConfigJSON(id.substring(9)); @@ -203,7 +207,7 @@ public class FFTProcessor extends ImgProcPipeMultithread implements Configurable jobj.add("cropY", new JsonPrimitive(cropY)); jobj.add("autoCalc", new JsonPrimitive(autoCalc)); - OneLiners.TextToFile(fileName, jobj.toString()); + OneLiners.textToFile(fileName, jobj.toString()); } public void saveConfigGMDS(String experiment, int pulse){ diff --git a/src/imageProc/proc/imgFit/CubicMaskedImageFitter.java b/src/imageProc/proc/imgFit/CubicMaskedImageFitter.java index 1b47bc1da1b4b24cf186695100c29e6296b30515..3abf67e55e1fb794b06103d04a3a4c28048998c0 100644 --- a/src/imageProc/proc/imgFit/CubicMaskedImageFitter.java +++ b/src/imageProc/proc/imgFit/CubicMaskedImageFitter.java @@ -6,6 +6,10 @@ import algorithmrepository.CubicInterpolation2D; import imageProc.core.Img; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import seed.digeom.FunctionND; import seed.digeom.IDomain; import seed.digeom.RectangularDomain; @@ -29,10 +33,10 @@ public class CubicMaskedImageFitter extends FunctionND { if(nPX != this.nPX || nPY != this.nPY){ this.nPX = nPX; this.nPY = nPY; - double x[] = OneLiners.linSpace(0, 1, nPX); - double y[] = OneLiners.linSpace(0, 1, nPY); + double x[] = Mat.linspace(0, 1, nPX); + double y[] = Mat.linspace(0, 1, nPY); interp = new CubicInterpolation2D(x, y, new double[nPX][nPY]); - setP(OneLiners.fillArray(1.0, nPX*nPY)); + setP(Mat.fillArray(1.0, nPX*nPY)); } } @@ -81,7 +85,7 @@ public class CubicMaskedImageFitter extends FunctionND { } if(n == 0){ System.err.println("CubicMaskedImageFit: Entire input image is NaN"); - return OneLiners.fillArray(Double.NaN, nPX * nPY); + return Mat.fillArray(Double.NaN, nPX * nPY); } fullAvg /= n; @@ -118,7 +122,7 @@ public class CubicMaskedImageFitter extends FunctionND { } } - return noData ? OneLiners.fillArray(Double.NaN, p.length) : p; + return noData ? Mat.fillArray(Double.NaN, p.length) : p; } private double[] doFit(double initP[]){ @@ -163,7 +167,7 @@ public class CubicMaskedImageFitter extends FunctionND { public void setMask(boolean[][] mask) { this.mask = mask; } @Override - public IDomain getDomain() { return new RectangularDomain(OneLiners.fillArray(minP, nPX*nPY), OneLiners.fillArray(maxP, nPX*nPY)); } + public IDomain getDomain() { return new RectangularDomain(Mat.fillArray(minP, nPX*nPY), Mat.fillArray(maxP, nPX*nPY)); } public double evalFittedImage(int iX, int iY) { return interp.eval((double)iX / imgWidth, (double)iY / imgHeight); diff --git a/src/imageProc/proc/seriesAvg/SeriesProcessor.java b/src/imageProc/proc/seriesAvg/SeriesProcessor.java index 5b42fff13102eaf32a0a43999c9d815ae997ef9c..52315b10a6eccd166b3d9ac5f4ccb1f662744aec 100644 --- a/src/imageProc/proc/seriesAvg/SeriesProcessor.java +++ b/src/imageProc/proc/seriesAvg/SeriesProcessor.java @@ -50,6 +50,10 @@ import imageProc.proc.seriesAvg.SeriesProcessorConfig.SmearCorrectionMode; import net.jafama.FastMath; import mds.AugShotfileFetcher; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import signals.aug.AUGSignal; import signals.gmds.GMDSSignal; @@ -249,7 +253,7 @@ public class SeriesProcessor extends ImgProcPipeMultithread implements Configura String backgroundScaleFilename = (String)getSeriesMetaData("SeriesProc/backgroundScale/fileName"); if(backgroundScaleFilename != null) { //"/home/specgui/backgroundScale.txt"; - double d[][] = OneLiners.transpose(AsciiMatrixFile.mustLoad(backgroundScaleFilename)); + double d[][] = Mat.transpose(Mat.mustLoadAscii(backgroundScaleFilename)); setSeriesMetaData("SeriesProc/backgroundScale/timetrace", d, false); setSeriesMetaData("SeriesProc/backgroundScale/factor", 0.04, false); }else { @@ -310,7 +314,7 @@ public class SeriesProcessor extends ImgProcPipeMultithread implements Configura double backgroundScale[][] = (double[][])getSeriesMetaData("SeriesProc/backgroundScale/timetrace"); Double backgroundScaleFactor = (Double)getSeriesMetaData("SeriesProc/backgroundScale/factor"); Interpolation1D backgroundScaleInterp = null; - double timeFromT1[] = (double[])OneLiners.fixWeirdContainers(getSeriesMetaData("/inshot/timeFromT1"), true); + double timeFromT1[] = (double[])Mat.fixWeirdContainers(getSeriesMetaData("/inshot/timeFromT1"), true); if(backgroundScale != null) { backgroundScaleInterp = new algorithmrepository.Interpolation1D(backgroundScale[0], backgroundScale[1], InterpolationMode.LINEAR, ExtrapolationMode.CONSTANT_END); } @@ -749,7 +753,7 @@ public class SeriesProcessor extends ImgProcPipeMultithread implements Configura public void saveConfig(String id){ String parts[] = id.split("/"); if(parts[0].equals("gmds")){ - saveConfigGMDS(parts[1].length() > 0 ? parts[1] : null, OneLiners.mustParseInt(parts[2])); + saveConfigGMDS(parts[1].length() > 0 ? parts[1] : null, Algorithms.mustParseInt(parts[2])); lastLoadedConfig = id; }else if(id.startsWith("jsonfile:")){ saveConfigJSON(id.substring(9)); @@ -770,7 +774,7 @@ public class SeriesProcessor extends ImgProcPipeMultithread implements Configura ((JsonObject) jobj).add("nThreads", new JsonPrimitive(getNumThreads())); ((JsonObject) jobj).add("autoCalc", new JsonPrimitive(autoCalc)); - OneLiners.TextToFile(fileName, jobj.toString()); + OneLiners.textToFile(fileName, jobj.toString()); } public void saveConfigGMDS(String experiment, int pulse){ @@ -814,7 +818,7 @@ public class SeriesProcessor extends ImgProcPipeMultithread implements Configura public void loadConfig(String id){ String parts[] = id.split("/"); if(parts[0].equals("gmds")){ - loadConfigGMDS(parts[1].length() > 0 ? parts[1] : null, OneLiners.mustParseInt(parts[2])); + loadConfigGMDS(parts[1].length() > 0 ? parts[1] : null, Algorithms.mustParseInt(parts[2])); }else if(id.startsWith("jsonfile:")){ loadConfigJSON(id.substring(9)); }else { @@ -1007,9 +1011,9 @@ public class SeriesProcessor extends ImgProcPipeMultithread implements Configura //generate frame by frame exposure time where SeriesProc was summing frames Object o = this.getSeriesMetaData("/SeriesProc/numInputImagesUsed"); if(o != null && camInfo != null){ - boolean isSum[] = (boolean[])OneLiners.fixWeirdContainers(this.getSeriesMetaData("/SeriesProc/isIntegrated"), true); + boolean isSum[] = (boolean[])Mat.fixWeirdContainers(this.getSeriesMetaData("/SeriesProc/isIntegrated"), true); - int nImgs[] = (int[])OneLiners.fixWeirdContainers(o, true); + int nImgs[] = (int[])Mat.fixWeirdContainers(o, true); double[] expTime = new double[nImgs.length]; for(int i=0; i < nImgs.length; i++) expTime[i] = camInfo.exposureTime * (isSum[i] ? nImgs[i] : 1); diff --git a/src/imageProc/proc/seriesAvg/SeriesSWTController.java b/src/imageProc/proc/seriesAvg/SeriesSWTController.java index e0a60a259a4c1b3056c410186ce0f5a911f913db..7a495e8daf9e594de4ead9b044465a6f0e336402 100644 --- a/src/imageProc/proc/seriesAvg/SeriesSWTController.java +++ b/src/imageProc/proc/seriesAvg/SeriesSWTController.java @@ -37,6 +37,10 @@ import imageProc.core.swt.SWTControllerInfoDraw; import imageProc.core.swt.SWTSettingsControl; import imageProc.proc.seriesAvg.SeriesProcessorConfig.SmearCorrectionMode; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.RandomManager; /** The table directly relfects the config data in the processor's map @@ -124,7 +128,7 @@ public class SeriesSWTController extends ImgProcPipeSWTController implements SWT smearCorrectionInterpolationRowsTextbox.addListener(SWT.FocusOut, new Listener() { @Override public void handleEvent(Event event) { otherSettingsEvent(event); } }); smearCorrectionModeCombo = new Combo(swtGroup, SWT.DROP_DOWN | SWT.READ_ONLY); - smearCorrectionModeCombo.setItems(OneLiners.toStringArray(SmearCorrectionMode.values())); + smearCorrectionModeCombo.setItems(Mat.toStringArray(SmearCorrectionMode.values())); smearCorrectionModeCombo.setToolTipText("Smear correction mode."); smearCorrectionModeCombo.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false, 2, 0)); smearCorrectionModeCombo.addListener(SWT.FocusOut, new Listener() { @Override public void handleEvent(Event event) { otherSettingsEvent(event); } }); @@ -169,9 +173,9 @@ public class SeriesSWTController extends ImgProcPipeSWTController implements SWT private void otherSettingsEvent(Event e){ SeriesProcessorConfig config = proc.getConfig(); - config.timebaseOffset = OneLiners.mustParseDouble(timebaseOffset.getText()); + config.timebaseOffset = Algorithms.mustParseDouble(timebaseOffset.getText()); config.createBackgroundFields = createBackgroundFieldsCheckbox.getSelection(); - config.smearCoeff = OneLiners.mustParseDouble(smearCorrectionCoefficientTextbox.getText()); + config.smearCoeff = Algorithms.mustParseDouble(smearCorrectionCoefficientTextbox.getText()); config.smearMode = SmearCorrectionMode.valueOf(smearCorrectionModeCombo.getText()); config.smearInterpolationRows = (new Gson()).fromJson(smearCorrectionInterpolationRowsTextbox.getText(), int[].class); } @@ -367,7 +371,7 @@ public class SeriesSWTController extends ImgProcPipeSWTController implements SWT break; case COL_IN0: - cfg.inIdx0 = OneLiners.mustParseInt(text); + cfg.inIdx0 = Algorithms.mustParseInt(text); item.setText(column, Integer.toString(cfg.inIdx0)); break; @@ -382,24 +386,24 @@ public class SeriesSWTController extends ImgProcPipeSWTController implements SWT break; case COL_IN1: - cfg.inIdx1 = OneLiners.mustParseInt(text); + cfg.inIdx1 = Algorithms.mustParseInt(text); item.setText(column, Integer.toString(cfg.inIdx1)); break; case COL_STEP: - cfg.inIdxStep = OneLiners.mustParseInt(text); + cfg.inIdxStep = Algorithms.mustParseInt(text); if(cfg.inIdxStep < 1) cfg.inIdxStep = 1; item.setText(column, Integer.toString(cfg.inIdxStep)); break; case COL_SIGMA: - cfg.timeSmoothSigma = OneLiners.mustParseDouble(text); + cfg.timeSmoothSigma = Algorithms.mustParseDouble(text); item.setText(column, fmt.format(cfg.timeSmoothSigma)); break; case COL_INTERLACE: - cfg.interlaced = OneLiners.mustParseBoolean(text); + cfg.interlaced = Algorithms.mustParseBoolean(text); item.setText(column, Boolean.toString(cfg.interlaced)); break; case COL_RAD_REMOVAL: @@ -407,7 +411,7 @@ public class SeriesSWTController extends ImgProcPipeSWTController implements SWT item.setText(column, (cfg.radRemoval >= 0 && cfg.radRemoval < ConfigEntry.radModes.length) ? ConfigEntry.radModes[cfg.radRemoval] : "??"); break; case COL_THRESHOLD: - cfg.spikeThreshold = OneLiners.mustParseDouble(text); + cfg.spikeThreshold = Algorithms.mustParseDouble(text); item.setText(column, fmt.format(cfg.timeSmoothSigma)); break; case COL_OUT0: diff --git a/src/imageProc/proc/softwareBinning/SoftwareROIsProcessor.java b/src/imageProc/proc/softwareBinning/SoftwareROIsProcessor.java index 07aee2071842a70a117dcc8ce29e084603133800..2da8d3ea068cf0fdb73777948ccf3337e8c42e8b 100644 --- a/src/imageProc/proc/softwareBinning/SoftwareROIsProcessor.java +++ b/src/imageProc/proc/softwareBinning/SoftwareROIsProcessor.java @@ -41,6 +41,10 @@ import imageProc.sources.capture.andorV2.AndorV2Config; import net.jafama.FastMath; import mds.AugShotfileFetcher; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import signals.aug.AUGSignal; import signals.gmds.GMDSSignal; @@ -317,7 +321,7 @@ public class SoftwareROIsProcessor extends ImgProcPipeMultithread implements Con String json = gson.toJson(config); - OneLiners.TextToFile(fileName, json); + OneLiners.textToFile(fileName, json); } @Override diff --git a/src/imageProc/proc/softwareBinning/SoftwareROIsSWTController.java b/src/imageProc/proc/softwareBinning/SoftwareROIsSWTController.java index 46b3049c501c00bef25c2cbaa0fe6ec6e8065589..1d3f836670218e38263d5e7838e2b408bf7132b2 100644 --- a/src/imageProc/proc/softwareBinning/SoftwareROIsSWTController.java +++ b/src/imageProc/proc/softwareBinning/SoftwareROIsSWTController.java @@ -54,6 +54,10 @@ import imageProc.database.json.JSONFileSettingsControl; import imageProc.proc.softwareBinning.SoftwareROIsConfig.SoftwareROI; import imageProc.sources.capture.picam.PicamConfig; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import picamJNI.PICamROIs.PICamROI; /** The table directly relfects the config data in the processor's map @@ -230,16 +234,16 @@ public class SoftwareROIsSWTController extends ImgProcPipeSWTController implemen item.setText(column, text); break; - case 2: roi.enabled = !OneLiners.mustParseBoolean(text); item.setText(2, roi.enabled ? "Y" : ""); break; + case 2: roi.enabled = !Algorithms.mustParseBoolean(text); item.setText(2, roi.enabled ? "Y" : ""); break; - case 3: roi.x = OneLiners.mustParseInt(text); item.setText(3, Integer.toString(roi.x)); break; - case 4: roi.width = OneLiners.mustParseInt(text); item.setText(4, Integer.toString(roi.width)); break; - case 5: roi.x_binning = OneLiners.mustParseInt(text); item.setText(5, Integer.toString(roi.x_binning)); break; + case 3: roi.x = Algorithms.mustParseInt(text); item.setText(3, Integer.toString(roi.x)); break; + case 4: roi.width = Algorithms.mustParseInt(text); item.setText(4, Integer.toString(roi.width)); break; + case 5: roi.x_binning = Algorithms.mustParseInt(text); item.setText(5, Integer.toString(roi.x_binning)); break; - case 6: roi.y = OneLiners.mustParseInt(text); item.setText(6, Integer.toString(roi.y)); break; - case 7: roi.height = OneLiners.mustParseInt(text); item.setText(7, Integer.toString(roi.height)); break; - case 8: roi.y_binning = OneLiners.mustParseInt(text); item.setText(8, Integer.toString(roi.y_binning)); break; - case 9: roi.tilt = OneLiners.mustParseDouble(text); item.setText(9, Double.toString(roi.tilt)); break; + case 6: roi.y = Algorithms.mustParseInt(text); item.setText(6, Integer.toString(roi.y)); break; + case 7: roi.height = Algorithms.mustParseInt(text); item.setText(7, Integer.toString(roi.height)); break; + case 8: roi.y_binning = Algorithms.mustParseInt(text); item.setText(8, Integer.toString(roi.y_binning)); break; + case 9: roi.tilt = Algorithms.mustParseDouble(text); item.setText(9, Double.toString(roi.tilt)); break; case 10: Gson gson = new Gson(); int[] cols = gson.fromJson(text, int[].class); diff --git a/src/imageProc/proc/specCal2D/SpecCalFitCubic.java b/src/imageProc/proc/specCal2D/SpecCalFitCubic.java index e2ee2fbfe3c42b56d99bfe181bfbe742c1827243..da09bf38b62e66c0ef609cf89ebf8ec58c8c1e3f 100644 --- a/src/imageProc/proc/specCal2D/SpecCalFitCubic.java +++ b/src/imageProc/proc/specCal2D/SpecCalFitCubic.java @@ -6,9 +6,10 @@ import java.util.Map; import descriptors.gmds.GMDSSignalDesc; import fusionDefs.transform.PhysicalROIGeometry; import oneLiners.OneLiners; -import net.jafama.FastMath; +import algorithmrepository.Mat; import algorithmrepository.Algorithms; import algorithmrepository.CubicInterpolation2D; +import net.jafama.FastMath; import seed.digeom.Function; import seed.digeom.FunctionND; import seed.digeom.IDomain; @@ -59,7 +60,7 @@ public class SpecCalFitCubic extends SpecCalFit { GMDSSignal sig = (GMDSSignal)gmds.getSig(sigDesc); linXYtoLS = (double[][])sig.getData(); - linLStoXY = Algorithms.inv3x3(linXYtoLS); + linLStoXY = Mat.inv3x3(linXYtoLS); } public void loadKnots(GMDSFetcher gmds, String experiment, int pulse){ @@ -87,7 +88,7 @@ public class SpecCalFitCubic extends SpecCalFit { public void loadLinear(Map<String, Object> metaData){ linXYtoLS = (double[][])metaData.get("/SpecCal/linearXYtoLL"); - linLStoXY = Algorithms.inv3x3(linXYtoLS); + linLStoXY = Mat.inv3x3(linXYtoLS); } public void loadKnots(Map<String, Object> metaData){ @@ -176,8 +177,8 @@ public class SpecCalFitCubic extends SpecCalFit { public void initCubic(int nWavelen, int nSpatial) { if(pWavelen == null || nWavelen != pWavelen.length || nSpatial != pSpatial.length){ - pWavelen = OneLiners.linSpace(minWavelen, maxWavelen, nWavelen); - pSpatial = OneLiners.linSpace(minSpatial, maxSpatial, nSpatial); + pWavelen = Mat.linspace(minWavelen, maxWavelen, nWavelen); + pSpatial = Mat.linspace(minSpatial, maxSpatial, nSpatial); interpX = new CubicInterpolation2D(pWavelen, pSpatial, new double[nWavelen][nSpatial]); interpY = new CubicInterpolation2D(pWavelen, pSpatial, new double[nWavelen][nSpatial]); } @@ -237,9 +238,9 @@ public class SpecCalFitCubic extends SpecCalFit { } // calc initial linear trasnform - double invX[][] = Algorithms.inv3x3(linPointsXY); - linXYtoLS = Algorithms.mul3x3(linPointsLL, invX); - linLStoXY = Algorithms.inv3x3(linXYtoLS); + double invX[][] = Mat.inv3x3(linPointsXY); + linXYtoLS = Mat.mul3x3(linPointsLL, invX); + linLStoXY = Mat.inv3x3(linXYtoLS); } diff --git a/src/imageProc/proc/specCal2D/SpecCalFitter.java b/src/imageProc/proc/specCal2D/SpecCalFitter.java index 1a03be62c3fa8443f81a0cead9e433ef9a151f10..13e93a59ea79324de13735ceda5bd44c23e93155 100644 --- a/src/imageProc/proc/specCal2D/SpecCalFitter.java +++ b/src/imageProc/proc/specCal2D/SpecCalFitter.java @@ -7,6 +7,10 @@ import algorithmrepository.Algorithms; import binaryMatrixFile.BinaryMatrixFile; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import seed.digeom.FunctionND; import seed.digeom.IDomain; import seed.digeom.RectangularDomain; @@ -57,21 +61,21 @@ public class SpecCalFitter extends FunctionND { double minB = specCal.getMinSpatial(); double maxB = specCal.getMaxSpatial(); - double mg[][][] = Algorithms.meshgrid(OneLiners.linSpace(minA, maxA, 500), OneLiners.linSpace(minB, maxB, 500)); - double aaL[] = OneLiners.flatten(mg[0]); - double bbL[] = OneLiners.flatten(mg[1]); + double mg[][][] = Mat.meshgrid(Mat.linspace(minA, maxA, 500), Mat.linspace(minB, maxB, 500)); + double aaL[] = Mat.flatten(mg[0]); + double bbL[] = Mat.flatten(mg[1]); double linXY[][] = specCal.lsToXYLinear(aaL, bbL); - BinaryMatrixFile.mustWrite("/tmp/Xl.bin", OneLiners.unflatten(linXY[0],500,500), false); - BinaryMatrixFile.mustWrite("/tmp/Yl.bin", OneLiners.unflatten(linXY[1],500,500), false); + Mat.mustWriteBinary("/tmp/Xl.bin", Mat.unflatten(linXY[0],500,500), false); + Mat.mustWriteBinary("/tmp/Yl.bin", Mat.unflatten(linXY[1],500,500), false); if(specCal.isCubicValid()){ double xyL[][] = specCal.lsToXY(aaL, bbL); - BinaryMatrixFile.mustWrite("/tmp/X.bin", OneLiners.unflatten(xyL[0],500,500), false); - BinaryMatrixFile.mustWrite("/tmp/Y.bin", OneLiners.unflatten(xyL[1],500,500), false); - BinaryMatrixFile.mustWrite("/tmp/Xk.bin", specCal.getKnotValsX(), false); - BinaryMatrixFile.mustWrite("/tmp/Yk.bin", specCal.getKnotValsY(), false); + Mat.mustWriteBinary("/tmp/X.bin", Mat.unflatten(xyL[0],500,500), false); + Mat.mustWriteBinary("/tmp/Y.bin", Mat.unflatten(xyL[1],500,500), false); + Mat.mustWriteBinary("/tmp/Xk.bin", specCal.getKnotValsX(), false); + Mat.mustWriteBinary("/tmp/Yk.bin", specCal.getKnotValsY(), false); } } @@ -115,7 +119,7 @@ public class SpecCalFitter extends FunctionND { } @Override - public IDomain getDomain() { return new RectangularDomain(OneLiners.fillArray(minP, nWavelen*nSpatial*2), OneLiners.fillArray(maxP, nWavelen*nSpatial*2)); } + public IDomain getDomain() { return new RectangularDomain(Mat.fillArray(minP, nWavelen*nSpatial*2), Mat.fillArray(maxP, nWavelen*nSpatial*2)); } private double[] getP(){ double gPX[][] = specCal.getKnotValsX(); diff --git a/src/imageProc/proc/specCal2D/SpecCalProcessor.java b/src/imageProc/proc/specCal2D/SpecCalProcessor.java index 00301a71201fa172367a6fe0c2813ac64ab5c32b..ba6ba9540e3af58b111ce9e16497a7c4657274e7 100644 --- a/src/imageProc/proc/specCal2D/SpecCalProcessor.java +++ b/src/imageProc/proc/specCal2D/SpecCalProcessor.java @@ -25,6 +25,10 @@ import imageProc.database.gmds.GMDSUtil; import imageProc.graph.GraphUtilProcessor; import imageProc.graph.shapeFit.FuncFitter; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import signals.gmds.GMDSSignal; /** SpecCal processor. @@ -290,8 +294,8 @@ public class SpecCalProcessor extends ImgProcPipeMultithread implements Configur //ConversionGrid: // these will be out grid to the outputImageCCD{X/Y} interpolators // they are fractional position in the transformed image space (oX,oY) - double cgX[] = OneLiners.linSpace(0.0, 1.0, outputImageCCDConversionGridSizeX); - double cgY[] = OneLiners.linSpace(0.0, 1.0, outputImageCCDConversionGridSizeY); + double cgX[] = Mat.linspace(0.0, 1.0, outputImageCCDConversionGridSizeX); + double cgY[] = Mat.linspace(0.0, 1.0, outputImageCCDConversionGridSizeY); //linear output coords on conversion grid double cgA[] = new double[cgX.length]; @@ -493,7 +497,7 @@ public class SpecCalProcessor extends ImgProcPipeMultithread implements Configur public void saveConfig(String id){ String parts[] = id.split("/"); if(parts[0].equals("gmds")) { - saveConfig(parts[1].length() > 0 ? parts[1] : null, OneLiners.mustParseInt(parts[2])); + saveConfig(parts[1].length() > 0 ? parts[1] : null, Algorithms.mustParseInt(parts[2])); lastLoadedConfig = id; } } @@ -531,7 +535,7 @@ public class SpecCalProcessor extends ImgProcPipeMultithread implements Configur public void loadConfig(String id){ String parts[] = id.split("/"); if(parts[0].equals("gmds")) - loadConfig(parts[1].length() > 0 ? parts[1] : null, OneLiners.mustParseInt(parts[2])); + loadConfig(parts[1].length() > 0 ? parts[1] : null, Algorithms.mustParseInt(parts[2])); else throw new RuntimeException("Unknown config type " + id); lastLoadedConfig = id; diff --git a/src/imageProc/proc/specCal2D/SpecCalSWTController.java b/src/imageProc/proc/specCal2D/SpecCalSWTController.java index 301c625fd0ef79881681e20fbb34c77e3e082847..91c9b568e35779ec4528dc7e78887e0b9bc6c556 100644 --- a/src/imageProc/proc/specCal2D/SpecCalSWTController.java +++ b/src/imageProc/proc/specCal2D/SpecCalSWTController.java @@ -37,6 +37,10 @@ import imageProc.core.swt.ImgProcPipeSWTController; import imageProc.core.swt.SWTControllerInfoDraw; import imageProc.database.gmds.GMDSPipe; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class SpecCalSWTController extends ImgProcPipeSWTController implements SWTControllerInfoDraw, ImagePipeControllerROISettable { @@ -201,10 +205,10 @@ public class SpecCalSWTController extends ImgProcPipeSWTController implements SW cubicNumYSpinner.getSelection()); SpecCalFit specCal = proc.getSpecCalFit(); specCal.channelsAreRows = channelsAreRowsCheckbox.getSelection(); - specCal.minWavelen = OneLiners.mustParseDouble(minWavelengthTextbox.getText()); - specCal.maxWavelen = OneLiners.mustParseDouble(maxChannelTextbox.getText()); - specCal.minSpatial = OneLiners.mustParseDouble(minChannelTextbox.getText()); - specCal.maxSpatial = OneLiners.mustParseDouble(maxChannelTextbox.getText()); + specCal.minWavelen = Algorithms.mustParseDouble(minWavelengthTextbox.getText()); + specCal.maxWavelen = Algorithms.mustParseDouble(maxChannelTextbox.getText()); + specCal.minSpatial = Algorithms.mustParseDouble(minChannelTextbox.getText()); + specCal.maxSpatial = Algorithms.mustParseDouble(maxChannelTextbox.getText()); } @@ -565,7 +569,7 @@ public class SpecCalSWTController extends ImgProcPipeSWTController implements SW if(bestMatchIdx > 0){ point.mode = bestMatchIdx; }else{//otherwise, fall back to interpreting as a number - point.mode = OneLiners.mustParseInt(text); + point.mode = Algorithms.mustParseInt(text); } @@ -578,7 +582,7 @@ public class SpecCalSWTController extends ImgProcPipeSWTController implements SW }else{ if(pointName.length() > 0 && point != null){ //can only edit values for existing points - double val = OneLiners.mustParseDouble(text); + double val = Algorithms.mustParseDouble(text); if(column >= 3 && column <= 4){ val /= 1000; diff --git a/src/imageProc/proc/transform/TransformFitter.java b/src/imageProc/proc/transform/TransformFitter.java index 5bd8eef0a9deb4efdc3e4a16e44dc28df39da0a7..6f40aa6bcf3d8eeb308aa70da48eacba40e5ed56 100644 --- a/src/imageProc/proc/transform/TransformFitter.java +++ b/src/imageProc/proc/transform/TransformFitter.java @@ -11,6 +11,10 @@ import algorithmrepository.Algorithms; import binaryMatrixFile.BinaryMatrixFile; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import seed.digeom.FunctionND; import seed.digeom.IDomain; import seed.digeom.RectangularDomain; @@ -61,21 +65,21 @@ public class TransformFitter extends FunctionND { double minB = xform.getMinLat(); double maxB = xform.getMaxLat(); - double mg[][][] = Algorithms.meshgrid(OneLiners.linSpace(minA, maxA, 500), OneLiners.linSpace(minB, maxB, 500)); - double aaL[] = OneLiners.flatten(mg[0]); - double bbL[] = OneLiners.flatten(mg[1]); + double mg[][][] = Mat.meshgrid(Mat.linspace(minA, maxA, 500), Mat.linspace(minB, maxB, 500)); + double aaL[] = Mat.flatten(mg[0]); + double bbL[] = Mat.flatten(mg[1]); double linXY[][] = xform.latlonToXYLinear(aaL, bbL); - BinaryMatrixFile.mustWrite("/tmp/Xl.bin", OneLiners.unflatten(linXY[0],500,500), false); - BinaryMatrixFile.mustWrite("/tmp/Yl.bin", OneLiners.unflatten(linXY[1],500,500), false); + Mat.mustWriteBinary("/tmp/Xl.bin", Mat.unflatten(linXY[0],500,500), false); + Mat.mustWriteBinary("/tmp/Yl.bin", Mat.unflatten(linXY[1],500,500), false); if(xform.isCubicValid()){ double xyL[][] = xform.latlonToXY(aaL, bbL); - BinaryMatrixFile.mustWrite("/tmp/X.bin", OneLiners.unflatten(xyL[0],500,500), false); - BinaryMatrixFile.mustWrite("/tmp/Y.bin", OneLiners.unflatten(xyL[1],500,500), false); - BinaryMatrixFile.mustWrite("/tmp/Xk.bin", xform.getKnotValsX(), false); - BinaryMatrixFile.mustWrite("/tmp/Yk.bin", xform.getKnotValsY(), false); + Mat.mustWriteBinary("/tmp/X.bin", Mat.unflatten(xyL[0],500,500), false); + Mat.mustWriteBinary("/tmp/Y.bin", Mat.unflatten(xyL[1],500,500), false); + Mat.mustWriteBinary("/tmp/Xk.bin", xform.getKnotValsX(), false); + Mat.mustWriteBinary("/tmp/Yk.bin", xform.getKnotValsY(), false); } } @@ -119,7 +123,7 @@ public class TransformFitter extends FunctionND { } @Override - public IDomain getDomain() { return new RectangularDomain(OneLiners.fillArray(minP, nLon*nLat*2), OneLiners.fillArray(maxP, nLon*nLat*2)); } + public IDomain getDomain() { return new RectangularDomain(Mat.fillArray(minP, nLon*nLat*2), Mat.fillArray(maxP, nLon*nLat*2)); } private double[] getP(){ double gPX[][] = xform.getKnotValsX(); diff --git a/src/imageProc/proc/transform/TransformProcessor.java b/src/imageProc/proc/transform/TransformProcessor.java index f9cb7faeaa47d43265959d1d9d5d3da90a713245..64018dad5c5744d7999da80a809ed7ba7d9f4d64 100644 --- a/src/imageProc/proc/transform/TransformProcessor.java +++ b/src/imageProc/proc/transform/TransformProcessor.java @@ -42,6 +42,10 @@ import fusionOptics.Util; import net.jafama.FastMath; import mds.AugShotfileFetcher; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import signals.aug.AUGSignal; import signals.gmds.GMDSSignal; @@ -360,14 +364,14 @@ public class TransformProcessor extends ImgProcPipeMultithread implements Config FastMath.sin(ll2[0]) * FastMath.cos(ll2[1]), FastMath.sin(ll2[1]), }; - double posOnLineM[] = OneLiners.plus(viewPos, OneLiners.mul(u, l)); + double posOnLineM[] = Mat.add(viewPos, Mat.mul(u, l)); System.out.println("\tPosition at "+l+"m from viewPos (Image) = { " + posOnLineM[0] + ", " +posOnLineM[1] + ", " +posOnLineM[2] + "}"); u = new double[]{ FastMath.cos(p.lon) * FastMath.cos(p.lat), FastMath.sin(p.lon) * FastMath.cos(p.lat), FastMath.sin(p.lat), }; - double posOnLineC[] = OneLiners.plus(viewPos, OneLiners.mul(u, l)); + double posOnLineC[] = Mat.add(viewPos, Mat.mul(u, l)); System.out.println("\tPosition at "+l+"m from viewPos (CAD) = { " + posOnLineC[0] + ", " +posOnLineC[1] + ", " +posOnLineC[2] + "}"); double diff[] = Util.minus(posOnLineM, posOnLineC); @@ -447,8 +451,8 @@ public class TransformProcessor extends ImgProcPipeMultithread implements Config //ConversionGrid: // these will be out grid to the outputImageCCD{X/Y} interpolators // they are fractional position in the transformed image space (oX,oY) - double cgX[] = OneLiners.linSpace(0.0, 1.0, outputImageCCDConversionGridSizeX); - double cgY[] = OneLiners.linSpace(0.0, 1.0, outputImageCCDConversionGridSizeY); + double cgX[] = Mat.linspace(0.0, 1.0, outputImageCCDConversionGridSizeX); + double cgY[] = Mat.linspace(0.0, 1.0, outputImageCCDConversionGridSizeY); //linear output coords on conversion grid double cgA[] = new double[cgX.length]; @@ -521,7 +525,7 @@ public class TransformProcessor extends ImgProcPipeMultithread implements Config //find point along beam closest to central view chord double s = Algorithms.pointOnLineNearestAnotherLine(beamGeom.start(iB), beamGeom.uVec(iB), viewPos, avgLosVec); - double pos[] = OneLiners.plus(beamGeom.start(iB), OneLiners.mul(beamGeom.uVec(iB), s)); // beamStart + s * beamVec + double pos[] = Mat.add(beamGeom.start(iB), Mat.mul(beamGeom.uVec(iB), s)); // beamStart + s * beamVec //toroidal angle of that point double phi0 = FastMath.atan2(pos[1], pos[0]); @@ -543,7 +547,7 @@ public class TransformProcessor extends ImgProcPipeMultithread implements Config double phi = findPhiAtBeam(iB, R, Z, phi0); pos = new double[]{ R * FastMath.cos(phi), R * FastMath.sin(phi), Z }; - double obsVec[] = OneLiners.reNorm(OneLiners.minus(pos, viewPos)); + double obsVec[] = Mat.normaliseVector(Mat.subtract(pos, viewPos)); double lon = FastMath.atan2(obsVec[1], obsVec[0]); double lat = FastMath.asin(obsVec[2]); @@ -608,11 +612,11 @@ public class TransformProcessor extends ImgProcPipeMultithread implements Config Z }; - double u[] = OneLiners.reNorm(OneLiners.minus(curPos, viewPos)); + double u[] = Mat.normaliseVector(Mat.subtract(curPos, viewPos)); double s = Algorithms.pointOnLineNearestAnotherLine(viewPos, u, beamGeom.start(iB), beamGeom.uVec(iB)); - double pos[] = OneLiners.plus(viewPos, OneLiners.mul(u, s)); + double pos[] = Mat.add(viewPos, Mat.mul(u, s)); double r = FastMath.sqrt(pos[0]*pos[0] + pos[1]*pos[1]); phi = FastMath.atan2(pos[1], pos[0]); @@ -636,13 +640,13 @@ public class TransformProcessor extends ImgProcPipeMultithread implements Config public static double[] calcAFactors(double virtMeasPlane[][], double viewPos[], double obsPos[], SimpleBeamGeometry beamGeom, int beamIndex){ - double l[] = OneLiners.reNorm(OneLiners.minus(obsPos, viewPos)); //line of sight - double v[] = OneLiners.reNorm(beamGeom.uVec(beamIndex)); //beam + double l[] = Mat.normaliseVector(Mat.subtract(obsPos, viewPos)); //line of sight + double v[] = Mat.normaliseVector(beamGeom.uVec(beamIndex)); //beam // cylindrical unit vectors - double R[] = OneLiners.reNorm(new double[]{ obsPos[0], obsPos[1], 0 }); //Radial - double phi[] = OneLiners.reNorm(new double[]{ -obsPos[1], obsPos[0], 0 }); //Radial - double Z[] = OneLiners.reNorm(new double[]{ 0, 0, 1 }); //vertical + double R[] = Mat.normaliseVector(new double[]{ obsPos[0], obsPos[1], 0 }); //Radial + double phi[] = Mat.normaliseVector(new double[]{ -obsPos[1], obsPos[0], 0 }); //Radial + double Z[] = Mat.normaliseVector(new double[]{ 0, 0, 1 }); //vertical //the measurement plane double n[] = virtMeasPlane[0]; @@ -650,9 +654,9 @@ public class TransformProcessor extends ImgProcPipeMultithread implements Config double u[] = virtMeasPlane[2]; //get polarisation projected components - double cVxR[] = vectorCoefficients(l, n, u, r, OneLiners.cross(v, R)); // for BR - double cVxP[] = vectorCoefficients(l, n, u, r, OneLiners.cross(v, phi)); // for Bphi - double cVxZ[] = vectorCoefficients(l, n, u, r, OneLiners.cross(v, Z)); // for BZ + double cVxR[] = vectorCoefficients(l, n, u, r, Mat.cross3d(v, R)); // for BR + double cVxP[] = vectorCoefficients(l, n, u, r, Mat.cross3d(v, phi)); // for Bphi + double cVxZ[] = vectorCoefficients(l, n, u, r, Mat.cross3d(v, Z)); // for BZ double cR[] = vectorCoefficients(l, n, u, r, R); // for ER double cZ[] = vectorCoefficients(l, n, u, r, Z); // for EZ // added minus signs in front of the first 5 A factors because I couldn't figure out how to do @@ -675,22 +679,22 @@ public class TransformProcessor extends ImgProcPipeMultithread implements Config //polarision vector on ray is the original, minus the part parallel to the ray //...but we're going to take dot products with s and p anyway, so this bit doesnt matter - //double b[] = OneLiners.reNorm(OneLiners.minus(a, OneLiners.mul(l, OneLiners.dot(a, l)))); // b = a - (a.l)l - //double b[] = OneLiners.reNorm(a); - //double b[] = OneLiners.minus(a, OneLiners.mul(l, OneLiners.dot(a, l))); + //double b[] = Mat.normaliseVector(Mat.subtract(a, Mat.mul(l, Mat.dot(a, l)))); // b = a - (a.l)l + //double b[] = Mat.normaliseVector(a); + //double b[] = Mat.subtract(a, Mat.mul(l, Mat.dot(a, l))); //calculate the s dir and p dirs on plane and ray - double s[] = OneLiners.reNorm(OneLiners.cross(l, n)); - double pPlane[] = OneLiners.reNorm(OneLiners.cross(n, s)); - double pRay[] = OneLiners.reNorm(OneLiners.cross(l, s)); + double s[] = Mat.normaliseVector(Mat.cross3d(l, n)); + double pPlane[] = Mat.normaliseVector(Mat.cross3d(n, s)); + double pRay[] = Mat.normaliseVector(Mat.cross3d(l, s)); //amplitude of (s,p) components on ray = (b.s), (b.pRay) - double As = OneLiners.dot(a, s); - double Ap = OneLiners.dot(a, pRay); + double As = Mat.dot(a, s); + double Ap = Mat.dot(a, pRay); //rebuild into vector using s and p in Plane - double Au = As*OneLiners.dot(s, u) + Ap*OneLiners.dot(pPlane, u); - double Ar = As*OneLiners.dot(s, r) + Ap*OneLiners.dot(pPlane, r); + double Au = As*Mat.dot(s, u) + Ap*Mat.dot(pPlane, u); + double Ar = As*Mat.dot(s, r) + Ap*Mat.dot(pPlane, r); return new double[]{ Ar, Au }; } @@ -751,7 +755,7 @@ public class TransformProcessor extends ImgProcPipeMultithread implements Config RZ[1] }; - u = OneLiners.reNorm(OneLiners.minus(curPos, cameraPos)); + u = Mat.normaliseVector(Mat.subtract(curPos, cameraPos)); double s = Algorithms.pointOnLineNearestAnotherLine(cameraPos, u, B, v); @@ -1001,7 +1005,7 @@ public class TransformProcessor extends ImgProcPipeMultithread implements Config public void saveConfig(String id){ if(id.startsWith("gmds")){ String parts[] = id.split("/"); - saveConfigGMDS(parts[1].length() > 0 ? parts[1] : null, OneLiners.mustParseInt(parts[2])); + saveConfigGMDS(parts[1].length() > 0 ? parts[1] : null, Algorithms.mustParseInt(parts[2])); lastLoadedConfig = id; }else if(id.startsWith("jsonfile:")){ saveConfigJSON(id.substring(9)); @@ -1019,7 +1023,7 @@ public class TransformProcessor extends ImgProcPipeMultithread implements Config String jsonText = gson.toJson(xform); - OneLiners.TextToFile(fileName, jsonText); + OneLiners.textToFile(fileName, jsonText); } public void saveConfigGMDS(String experiment, int pulse){ @@ -1056,7 +1060,7 @@ public class TransformProcessor extends ImgProcPipeMultithread implements Config if(id.startsWith("gmds")){ String parts[] = id.split("/"); - loadConfigGMDS(parts[1].length() > 0 ? parts[1] : null, OneLiners.mustParseInt(parts[2])); + loadConfigGMDS(parts[1].length() > 0 ? parts[1] : null, Algorithms.mustParseInt(parts[2])); }else if(id.startsWith("jsonfile:")){ loadConfigJSON(id.substring(9)); }else @@ -1343,10 +1347,10 @@ public class TransformProcessor extends ImgProcPipeMultithread implements Config } } - status = "Writing uX.txt..."; updateAllControllers(); AsciiMatrixFile.mustWrite(outPath + "/uX.txt", uX); - status = "Writing uY.txt..."; updateAllControllers(); AsciiMatrixFile.mustWrite(outPath + "/uY.txt", uY); - status = "Writing uZ.txt..."; updateAllControllers(); AsciiMatrixFile.mustWrite(outPath + "/uZ.txt", uZ); - AsciiMatrixFile.mustWrite(outPath + "/cameraPos.txt", xform.getViewPosition()); + status = "Writing uX.txt..."; updateAllControllers(); Mat.mustWriteAscii(outPath + "/uX.txt", uX); + status = "Writing uY.txt..."; updateAllControllers(); Mat.mustWriteAscii(outPath + "/uY.txt", uY); + status = "Writing uZ.txt..."; updateAllControllers(); Mat.mustWriteAscii(outPath + "/uZ.txt", uZ); + Mat.mustWriteAscii(outPath + "/cameraPos.txt", xform.getViewPosition()); status = "Completed writing LOS vectors to " + outPath; updateAllControllers(); diff --git a/src/imageProc/proc/transform/TransformSWTController.java b/src/imageProc/proc/transform/TransformSWTController.java index 6dcc1ae63d4fd8414f13e908ce6d44b81400c444..2af6a7df7b3adc1f89cb28f66f5d58693d22ddc4 100644 --- a/src/imageProc/proc/transform/TransformSWTController.java +++ b/src/imageProc/proc/transform/TransformSWTController.java @@ -42,6 +42,10 @@ import fusionDefs.transform.PhysicalROIGeometry; import fusionDefs.transform.TransformPoint; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; /** The table directly relfects the config data in the processor's map * Edits are made into that cfg immediately. @@ -640,7 +644,7 @@ public class TransformSWTController extends ImgProcPipeSWTController implements if(bestMatchIdx > 0){ point.mode = bestMatchIdx; }else{//otherwise, fall back to interpreting as a number - point.mode = OneLiners.mustParseInt(text); + point.mode = Algorithms.mustParseInt(text); } @@ -649,7 +653,7 @@ public class TransformSWTController extends ImgProcPipeSWTController implements } }else{ if(pointName.length() > 0 && point != null){ //can only edit values for existing points - double val = OneLiners.mustParseDouble(text); + double val = Algorithms.mustParseDouble(text); //special handling of AUG vs stupid coordinates if(column == 4 || column == 5){ //AUG X/Y coords diff --git a/src/imageProc/sources/capture/andorCam/AndorCamCapture.java b/src/imageProc/sources/capture/andorCam/AndorCamCapture.java index ab9f8d426984efc3bfb626a1c4eb45f6224048f1..4084bb0cd126a29debceb75677d084f54ccc7d36 100644 --- a/src/imageProc/sources/capture/andorCam/AndorCamCapture.java +++ b/src/imageProc/sources/capture/andorCam/AndorCamCapture.java @@ -641,7 +641,7 @@ public class AndorCamCapture extends Capture implements Runnable { ByteBuffer buff = ByteBuffer.wrap(ticksData[i]); buff.order(ByteOrder.LITTLE_ENDIAN); - //OneLiners.dumpArray(ticksData); + //Mat.dumpArray(ticksData); ticksLong[i] = buff.getLong(0); if(ticksLong[i] < 0) diff --git a/src/imageProc/sources/capture/andorCam/AndorCamConfig.java b/src/imageProc/sources/capture/andorCam/AndorCamConfig.java index 799946592e2f0fb90b57031e5b4659297987c2f3..a07a5e452fdcbdd73016df5b2fc60bc0c76da375 100644 --- a/src/imageProc/sources/capture/andorCam/AndorCamConfig.java +++ b/src/imageProc/sources/capture/andorCam/AndorCamConfig.java @@ -11,6 +11,10 @@ import java.util.TreeMap; import imageProc.sources.capture.andorCam.AndorCamConfig.AndorFeature.FeatureType; import imageProc.sources.capture.base.CaptureConfig; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class AndorCamConfig extends CaptureConfig { @@ -159,8 +163,8 @@ public class AndorCamConfig extends CaptureConfig { return; switch(type){ case BOOL: this.value = (Boolean)(value.equalsIgnoreCase("Y") || value.equalsIgnoreCase("T") || value.equalsIgnoreCase("TRUE")); break; - case INT: this.value = (Long)OneLiners.mustParseLong(value); break; - case FLOAT: this.value = (Double)OneLiners.mustParseDouble(value); break; + case INT: this.value = (Long)Algorithms.mustParseLong(value); break; + case FLOAT: this.value = (Double)Algorithms.mustParseDouble(value); break; case STRING: this.value = value; case ENUM: this.value = value; default: // !? diff --git a/src/imageProc/sources/capture/andorCam/AndorCamSource.java b/src/imageProc/sources/capture/andorCam/AndorCamSource.java index c55e4f43cfb1e03e573a8ddbb04ef28002907351..05891267bb2b54375b0b949bf34afcf46116f6d7 100644 --- a/src/imageProc/sources/capture/andorCam/AndorCamSource.java +++ b/src/imageProc/sources/capture/andorCam/AndorCamSource.java @@ -32,6 +32,10 @@ import imageProc.sources.capture.picam.PicamConfig; import imageProc.sources.capture.picam.PicamConfig.Parameter; import mds.GMDSFetcher; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import picamJNI.PICamDefs; import picamJNI.PICamROIs; import picamJNI.PICamROIs.PICamROI; @@ -343,7 +347,7 @@ public class AndorCamSource extends CaptureSource { .create(); String json = gson.toJson(config); - OneLiners.TextToFile(fileName, json); + OneLiners.textToFile(fileName, json); } diff --git a/src/imageProc/sources/capture/andorCam/swt/SimpleSettingsPanel.java b/src/imageProc/sources/capture/andorCam/swt/SimpleSettingsPanel.java index 5971cce38a1205899ee57f1122f1687548e5294d..2d7d86b18b48ff5382ad3748c1282d11b6e89774 100644 --- a/src/imageProc/sources/capture/andorCam/swt/SimpleSettingsPanel.java +++ b/src/imageProc/sources/capture/andorCam/swt/SimpleSettingsPanel.java @@ -21,6 +21,10 @@ import imageProc.sources.capture.andorCam.AndorCamSource; import imageProc.sources.capture.andorCam.AndorCamConfig.AndorFeature; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class SimpleSettingsPanel { public static final double log2 = FastMath.log(2); @@ -264,12 +268,12 @@ public class SimpleSettingsPanel { config.setFeature("ElectronicShutteringMode", shutterModeCombo.getText()); config.setFeature("SimplePreAmpGainControl", gainModeCombo.getText()); config.setFeature("TriggerMode", triggerModeCombo.getText()); - double expTime = OneLiners.mustParseDouble(exposureLengthTextbox.getText()); + double expTime = Algorithms.mustParseDouble(exposureLengthTextbox.getText()); config.setFeature("ExposureTime", 1e-6 * expTime); exposureLengthTextbox.setText(Double.toString(expTime)); config.setFeature("Overlap", overlappedModeCheckbox.getSelection()); - double frameTime = OneLiners.mustParseDouble(frameTimeTextbox.getText()); + double frameTime = Algorithms.mustParseDouble(frameTimeTextbox.getText()); config.setFeature("FrameRate", (Double)(1e6 / frameTime)); frameTimeTextbox.setText(Double.toString(frameTime)); diff --git a/src/imageProc/sources/capture/andorV2/AndorV2Source.java b/src/imageProc/sources/capture/andorV2/AndorV2Source.java index b091e6c4539d3f1bdba7251f19c9d1a1433bd1f4..a8cc449fac8296103866aebe434ee130149a2b01 100644 --- a/src/imageProc/sources/capture/andorV2/AndorV2Source.java +++ b/src/imageProc/sources/capture/andorV2/AndorV2Source.java @@ -29,6 +29,10 @@ import imageProc.sources.capture.base.CaptureSource; import imageProc.sources.capture.flir.FLIRCamConfig; import mds.GMDSFetcher; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import signals.gmds.GMDSSignal; /** Sensicam Image Source. diff --git a/src/imageProc/sources/capture/andorV2/swt/AndorV2SWTControl.java b/src/imageProc/sources/capture/andorV2/swt/AndorV2SWTControl.java index 6ebb6ea7d4f83cd2e449cb1498fae7add7b2f436..db1e41dd0a450ce0066369e1fa815e6b71c04e30 100644 --- a/src/imageProc/sources/capture/andorV2/swt/AndorV2SWTControl.java +++ b/src/imageProc/sources/capture/andorV2/swt/AndorV2SWTControl.java @@ -31,6 +31,10 @@ import imageProc.sources.capture.andorV2.AndorV2Config; import imageProc.sources.capture.andorV2.AndorV2Source; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class AndorV2SWTControl implements ImagePipeControllerROISettable, SWTControllerInfoDraw { public static final double log2 = FastMath.log(2); @@ -240,7 +244,7 @@ public class AndorV2SWTControl implements ImagePipeControllerROISettable, SWTCon config.selectSerialNumber = -1; }else{ String parts[] = cameraSel.split(":"); - config.selectSerialNumber = (parts.length > 1) ? OneLiners.mustParseInt(parts[1]) : -1; + config.selectSerialNumber = (parts.length > 1) ? Algorithms.mustParseInt(parts[1]) : -1; } try{ config.singleUSBBus = Integer.parseInt(singleBusTextbox.getText().strip()); }catch(NumberFormatException err) { config.singleUSBBus = -1; } diff --git a/src/imageProc/sources/capture/andorV2/swt/ROIConfigPanel.java b/src/imageProc/sources/capture/andorV2/swt/ROIConfigPanel.java index 4526b8fdb0faa3feb3116da90a741760f51c771c..d012d97c63f1f1f4334e482b29fcb728e8bd83a3 100644 --- a/src/imageProc/sources/capture/andorV2/swt/ROIConfigPanel.java +++ b/src/imageProc/sources/capture/andorV2/swt/ROIConfigPanel.java @@ -29,6 +29,10 @@ import imageProc.core.ImgSource; import imageProc.sources.capture.andorV2.AndorV2Config; import imageProc.sources.capture.andorV2.AndorV2Source; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class ROIConfigPanel { @@ -236,13 +240,13 @@ public class ROIConfigPanel { break; - case 3: roi.x = OneLiners.mustParseInt(text); item.setText(3, Integer.toString(roi.x)); break; - case 4: roi.width = OneLiners.mustParseInt(text); item.setText(4, Integer.toString(roi.width)); break; - case 5: roi.x_binning = OneLiners.mustParseInt(text); item.setText(5, Integer.toString(roi.x_binning)); break; + case 3: roi.x = Algorithms.mustParseInt(text); item.setText(3, Integer.toString(roi.x)); break; + case 4: roi.width = Algorithms.mustParseInt(text); item.setText(4, Integer.toString(roi.width)); break; + case 5: roi.x_binning = Algorithms.mustParseInt(text); item.setText(5, Integer.toString(roi.x_binning)); break; - case 6: roi.y = OneLiners.mustParseInt(text); item.setText(6, Integer.toString(roi.y)); break; - case 7: roi.height = OneLiners.mustParseInt(text); item.setText(7, Integer.toString(roi.height)); break; - case 8: roi.y_binning = OneLiners.mustParseInt(text); item.setText(8, Integer.toString(roi.y_binning)); break; + case 6: roi.y = Algorithms.mustParseInt(text); item.setText(6, Integer.toString(roi.y)); break; + case 7: roi.height = Algorithms.mustParseInt(text); item.setText(7, Integer.toString(roi.height)); break; + case 8: roi.y_binning = Algorithms.mustParseInt(text); item.setText(8, Integer.toString(roi.y_binning)); break; } diff --git a/src/imageProc/sources/capture/andorV2/swt/SimpleSettingsPanel.java b/src/imageProc/sources/capture/andorV2/swt/SimpleSettingsPanel.java index a308a08edd3e687037a2b597645d46549cd189d9..2c0b85cf81aba7c491c180a1dd0e06d30228b913 100644 --- a/src/imageProc/sources/capture/andorV2/swt/SimpleSettingsPanel.java +++ b/src/imageProc/sources/capture/andorV2/swt/SimpleSettingsPanel.java @@ -20,6 +20,10 @@ import imageProc.sources.capture.andorV2.AndorV2Config; import imageProc.sources.capture.andorV2.AndorV2Source; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class SimpleSettingsPanel { public static final double log2 = FastMath.log(2); @@ -301,16 +305,16 @@ public class SimpleSettingsPanel { config.triggerMode = triggerModeCombo.getSelectionIndex(); config.preAmpGainIndex = preAmpGainCombo.getSelectionIndex(); config.emccdGainMode = emccdGainModeCombo.getSelectionIndex(); - config.emccdGain = OneLiners.mustParseInt(emccdGainTextbox.getText()); + config.emccdGain = Algorithms.mustParseInt(emccdGainTextbox.getText()); config.horizShiftSpeedIndex = hsSpeedCombo.getSelectionIndex(); config.vertShiftSpeedIndex = vsSpeedCombo.getSelectionIndex(); config.vertShiftAmplitudeIndex = vsSpeedAmplitudeCombo.getSelectionIndex(); - config.exposureTimeSecs = (float)(OneLiners.mustParseDouble(exposureLengthTextbox.getText()) / 1000.0); - config.kineticCycleTimeSecs = (float)(OneLiners.mustParseDouble(kineticCycleTimeTextbox.getText()) / 1000.0); + config.exposureTimeSecs = (float)(Algorithms.mustParseDouble(exposureLengthTextbox.getText()) / 1000.0); + config.kineticCycleTimeSecs = (float)(Algorithms.mustParseDouble(kineticCycleTimeTextbox.getText()) / 1000.0); config.nAccumulations = numAccumulationsSpinner.getSelection(); - config.accumulationCycleTimeSecs = (float)(OneLiners.mustParseDouble(accumulateCycleTimeTextbox.getText()) / 1000.0); + config.accumulationCycleTimeSecs = (float)(Algorithms.mustParseDouble(accumulateCycleTimeTextbox.getText()) / 1000.0); config.coolerOn = coolingCheckbox.getSelection(); config.targetTemp = coolingSetTempSpinner.getSelection(); diff --git a/src/imageProc/sources/capture/as5216/AvantesAS5216Source.java b/src/imageProc/sources/capture/as5216/AvantesAS5216Source.java index abce35fbc537fe495476ed369b9daabe43002952..70c18214c1c318da96fbc0729939f779d8244f9a 100644 --- a/src/imageProc/sources/capture/as5216/AvantesAS5216Source.java +++ b/src/imageProc/sources/capture/as5216/AvantesAS5216Source.java @@ -25,6 +25,10 @@ import imageProc.sources.capture.base.CaptureConfig; import imageProc.sources.capture.base.CaptureSource; import imageProc.sources.capture.oceanOptics.swt.OmniDriverSWTControl; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class AvantesAS5216Source extends CaptureSource implements ImgSource, ConfigurableByID { private ByteBufferImage images[]; @@ -229,7 +233,7 @@ public class AvantesAS5216Source extends CaptureSource implements ImgSource, Con @Override public boolean setConfigParameter(String param, String value) { if(param.equals("runLength")){ - double runLengthSecs = OneLiners.mustParseDouble(value); + double runLengthSecs = Algorithms.mustParseDouble(value); config.nImagesToAllocate = (int)(runLengthSecs / 00000000 + 0.5); return true; } diff --git a/src/imageProc/sources/capture/avaspec/AvaspecSource.java b/src/imageProc/sources/capture/avaspec/AvaspecSource.java index 097767f1cae8641a4ad7ce452d4b457d2be90cac..189798865c613757262adb332ffc2a3811d70d52 100644 --- a/src/imageProc/sources/capture/avaspec/AvaspecSource.java +++ b/src/imageProc/sources/capture/avaspec/AvaspecSource.java @@ -28,6 +28,10 @@ import imageProc.sources.capture.base.CaptureSource; import imageProc.sources.capture.picam.PicamConfig; import imageProc.sources.capture.picam.PicamConfig.Parameter; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.SettingsManager; import picamJNI.PICamDefs; import picamJNI.PICamROIs; @@ -176,14 +180,14 @@ public class AvaspecSource extends CaptureSource implements ConfigurableByID { float wavelengths[][] = capture.getWavelengths(); setSeriesMetaData("Avaspec/wavelengths", wavelengths, false); setSeriesMetaData("wavelength", wavelengths[0], false); - double time[] = OneLiners.fillArray(Double.NaN, config.nFrames); + double time[] = Mat.fillArray(Double.NaN, config.nFrames); setSeriesMetaData("time", time, true); long nanoTime[] = new long[config.nFrames]; setSeriesMetaData("Avaspec/nanoTime", nanoTime, true); setSeriesMetaData("Avaspec/exposureTimeMS", config.expTimeMS, false); setSeriesMetaData("Avaspec/extTrigger", config.extTrigger, false); if(config.readDigitalIO){ - int digitalInState[] = OneLiners.fillIntArray(-2, config.nFrames); + int digitalInState[] = Mat.fillIntArray(-2, config.nFrames); capture.setDigitalInStateArray(digitalInState); setSeriesMetaData("Avaspec/DigitalInState", digitalInState, true); } diff --git a/src/imageProc/sources/capture/base/CaptureSource.java b/src/imageProc/sources/capture/base/CaptureSource.java index dce3349974abb0f0bc81e4d629fbc47893e6ae6c..1b1ba57321f37b91472032a1db420cfaee8ba883 100644 --- a/src/imageProc/sources/capture/base/CaptureSource.java +++ b/src/imageProc/sources/capture/base/CaptureSource.java @@ -15,6 +15,10 @@ import imageProc.core.ImgSource; import imageProc.core.EventReciever.Event; import imageProc.sources.capture.flir.FLIRCamConfig; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; /** Base class of sources for acqusition devices */ public abstract class CaptureSource extends ImgPipe implements ImgSource, AcquisitionDevice, EventReciever, ConfigurableByID { @@ -83,7 +87,7 @@ public abstract class CaptureSource extends ImgPipe implements ImgSource, Acquis String parts[] = id.split("/"); if(parts[0].equals("gmds")) { //specifically for loading configurations from metadata saved in GMDS - loadConfigGMDS(parts[1].length() > 0 ? parts[1] : null, OneLiners.mustParseInt(parts[2])); + loadConfigGMDS(parts[1].length() > 0 ? parts[1] : null, Algorithms.mustParseInt(parts[2])); }else if(id.startsWith("jsonfile:")) loadConfigJSON(id.substring(9)); else @@ -127,7 +131,7 @@ public abstract class CaptureSource extends ImgPipe implements ImgSource, Acquis .create(); String json = gson.toJson(getConfig()); - OneLiners.TextToFile(fileName, json); + OneLiners.textToFile(fileName, json); } @Override diff --git a/src/imageProc/sources/capture/flir/FLIRCamSource.java b/src/imageProc/sources/capture/flir/FLIRCamSource.java index ce42309f91ea4cc5ca51fa7f4caf5bd90027b3e6..fed477f1de232d49a1b1a1ffec5360a551e796e6 100644 --- a/src/imageProc/sources/capture/flir/FLIRCamSource.java +++ b/src/imageProc/sources/capture/flir/FLIRCamSource.java @@ -24,6 +24,10 @@ import imageProc.sources.capture.base.CaptureSource; import imageProc.sources.capture.flir.swt.FLIRCamSWTControl; import mds.GMDSFetcher; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import signals.gmds.GMDSSignal; /** @@ -306,7 +310,7 @@ public class FLIRCamSource extends CaptureSource { @Override public boolean setConfigParameter(String param, String value) { if (param.equals("runLength")) { - double runLengthSecs = OneLiners.mustParseDouble(value); + double runLengthSecs = Algorithms.mustParseDouble(value); config.nImagesToAllocate = (int) (runLengthSecs * 1000.0 / config.frameTimeMS() + 0.5); return true; } diff --git a/src/imageProc/sources/capture/flir/swt/MultiConfigPanel.java b/src/imageProc/sources/capture/flir/swt/MultiConfigPanel.java index 408510e0d31e62b062fa53c44c1107055f8268f0..37564f0c1b6d41e775ab18a38d7633c680dc508c 100644 --- a/src/imageProc/sources/capture/flir/swt/MultiConfigPanel.java +++ b/src/imageProc/sources/capture/flir/swt/MultiConfigPanel.java @@ -22,6 +22,10 @@ import imageProc.sources.capture.flir.FLIRCamConfig; import imageProc.sources.capture.flir.FLIRCamSource; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class MultiConfigPanel { public static final double log2 = FastMath.log(2); @@ -165,9 +169,9 @@ public class MultiConfigPanel { int totalImages = 0; for (int i = 0; i < mcNumImagesSpinner.length; i++) { config.multiConfigNumImgs[i] = mcNumImagesSpinner[i].getSelection(); - config.multiConfigExposureTime[i] = (float) OneLiners.mustParseDouble(mcExposureTimeTextbox[i].getText()); - config.multiConfigFramerate[i] = (float) OneLiners.mustParseDouble(mcFramerateTextbox[i].getText()); - config.multiConfigWaitTime[i] = OneLiners.mustParseLong(mcWaitTimeTextbox[i].getText()); + config.multiConfigExposureTime[i] = (float) Algorithms.mustParseDouble(mcExposureTimeTextbox[i].getText()); + config.multiConfigFramerate[i] = (float) Algorithms.mustParseDouble(mcFramerateTextbox[i].getText()); + config.multiConfigWaitTime[i] = Algorithms.mustParseLong(mcWaitTimeTextbox[i].getText()); totalImages += config.multiConfigNumImgs[i]; } config.nImagesToAllocate = totalImages; diff --git a/src/imageProc/sources/capture/flir/swt/SimpleSettingsPanel.java b/src/imageProc/sources/capture/flir/swt/SimpleSettingsPanel.java index 2eb577dc2c6a716b93c303f6101cba4aa58b90c3..258ed8279695b945f6a73efbb804068b70b45471 100644 --- a/src/imageProc/sources/capture/flir/swt/SimpleSettingsPanel.java +++ b/src/imageProc/sources/capture/flir/swt/SimpleSettingsPanel.java @@ -22,6 +22,10 @@ import imageProc.sources.capture.flir.FLIRCamConfig; import imageProc.sources.capture.flir.FLIRCamSource; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class SimpleSettingsPanel { public static final double log2 = FastMath.log(2); @@ -267,10 +271,10 @@ public class SimpleSettingsPanel { config.timestampMode = timestampModeCombo.getSelectionIndex(); config.triggerMode = (short) triggerModeCombo.getSelectionIndex(); - config.exposureTime = (float) OneLiners.mustParseDouble(exposureTimeTextbox.getText()); + config.exposureTime = (float) Algorithms.mustParseDouble(exposureTimeTextbox.getText()); config.exposureTimeUnits = FLIRCamConfig.TIMEBASE_MICROSECS; - config.framerate = (float) OneLiners.mustParseDouble(frameRateTextbox.getText()); + config.framerate = (float) Algorithms.mustParseDouble(frameRateTextbox.getText()); config.roiOffsetX = (short) (roiOffsetXText.getSelection()); config.roiOffsetY = (short) (roiOffsetYText.getSelection()); diff --git a/src/imageProc/sources/capture/oceanOptics/OmniDriverCapture.java b/src/imageProc/sources/capture/oceanOptics/OmniDriverCapture.java index 5e88ac5981acfb617d11b647630d0b93c320b394..9534c4b50b935e13afe35731d240de8f0c17ae40 100644 --- a/src/imageProc/sources/capture/oceanOptics/OmniDriverCapture.java +++ b/src/imageProc/sources/capture/oceanOptics/OmniDriverCapture.java @@ -30,6 +30,10 @@ import imageProc.sources.capture.oceanOptics.OmniDriverConfig.GPIOState; import imageProc.sources.capture.pco.PCOCamConfig; import imageProc.sources.capture.pco.PCOCamSource; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; /** The capture thread and interfacing with OmniDriver * for using OceanOptics USB spectrometers. diff --git a/src/imageProc/sources/capture/oceanOptics/OmniDriverSource.java b/src/imageProc/sources/capture/oceanOptics/OmniDriverSource.java index 5acea71397c2db6382e8444ed41c2fbed3f15a2a..6ab8ccc16df19f1329ef5caa7cc39810d86217ab 100644 --- a/src/imageProc/sources/capture/oceanOptics/OmniDriverSource.java +++ b/src/imageProc/sources/capture/oceanOptics/OmniDriverSource.java @@ -26,6 +26,10 @@ import imageProc.sources.capture.base.CaptureSource; import imageProc.sources.capture.flir.FLIRCamConfig; import imageProc.sources.capture.oceanOptics.swt.OmniDriverSWTControl; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class OmniDriverSource extends CaptureSource { private ByteBufferImage images[]; diff --git a/src/imageProc/sources/capture/oceanOptics/TestOmniDriver.java b/src/imageProc/sources/capture/oceanOptics/TestOmniDriver.java index c46d2397a322a669892f70b65c8ba2cb97db844b..3808a5dca6c0511775c7ed610e7d8f91320a54e1 100644 --- a/src/imageProc/sources/capture/oceanOptics/TestOmniDriver.java +++ b/src/imageProc/sources/capture/oceanOptics/TestOmniDriver.java @@ -4,6 +4,10 @@ import com.oceanoptics.omnidriver.api.wrapper.Wrapper; import com.oceanoptics.omnidriver.constants.USBProductInfo; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class TestOmniDriver { public static void main(String[] args) { @@ -19,7 +23,7 @@ public class TestOmniDriver { System.out.println(wrapper.getName(0)); double d[] = wrapper.getSpectrum(0); - OneLiners.dumpArray(d); + Mat.dumpArray(d); wrapper.closeAllSpectrometers(); diff --git a/src/imageProc/sources/capture/oceanOptics/TestOmniDriver2.java b/src/imageProc/sources/capture/oceanOptics/TestOmniDriver2.java index b5aee920133244c4e23ceab00ce1830805b66194..86f3642c62390ce16666a07060d9e7b6bf2360b3 100644 --- a/src/imageProc/sources/capture/oceanOptics/TestOmniDriver2.java +++ b/src/imageProc/sources/capture/oceanOptics/TestOmniDriver2.java @@ -13,6 +13,10 @@ import com.oceanoptics.omnidriver.spectrometer.hr4000.HR4000; import com.oceanoptics.omnidriver.spectrometer.sts.STS; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class TestOmniDriver2 { @@ -49,7 +53,7 @@ public class TestOmniDriver2 { for(int i=0;i < 10; i++) { double d[] = wrapper.getSpectrum(0); - OneLiners.dumpArray(d); + Mat.dumpArray(d); } wrapper.closeAllSpectrometers(); diff --git a/src/imageProc/sources/capture/pco/PCOCamSource.java b/src/imageProc/sources/capture/pco/PCOCamSource.java index 152a48375ae1beb4da55a85a4a342faa1298bd1e..0d6793c9eda03400b406b336a334ec34e225d1ac 100644 --- a/src/imageProc/sources/capture/pco/PCOCamSource.java +++ b/src/imageProc/sources/capture/pco/PCOCamSource.java @@ -25,6 +25,10 @@ import imageProc.sources.capture.flir.FLIRCamConfig; import imageProc.sources.capture.pco.swt.PCOCamSWTControl; import mds.GMDSFetcher; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import signals.gmds.GMDSSignal; /** Image source for PCO Cameras. @@ -253,7 +257,7 @@ public class PCOCamSource extends CaptureSource implements ConfigurableByID { @Override public boolean setConfigParameter(String param, String value) { if(param.equals("runLength")){ - double runLengthSecs = OneLiners.mustParseDouble(value); + double runLengthSecs = Algorithms.mustParseDouble(value); config.nImagesToAllocate = (int)(runLengthSecs * 1000.0 / config.frameTimeMS() + 0.5); return true; } diff --git a/src/imageProc/sources/capture/pco/swt/MultiConfigPanel.java b/src/imageProc/sources/capture/pco/swt/MultiConfigPanel.java index 3a80ee4d75930180bc788b4e84bfb7b949093546..1380aa19a260ecaa811aada6e81ee10276b9a24e 100644 --- a/src/imageProc/sources/capture/pco/swt/MultiConfigPanel.java +++ b/src/imageProc/sources/capture/pco/swt/MultiConfigPanel.java @@ -22,6 +22,10 @@ import imageProc.sources.capture.pco.PCOCamConfig; import imageProc.sources.capture.pco.PCOCamSource; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import pcoJNI.PCOComm; public class MultiConfigPanel { diff --git a/src/imageProc/sources/capture/pco/swt/SimpleSettingsPanel.java b/src/imageProc/sources/capture/pco/swt/SimpleSettingsPanel.java index cd6fc0335c4cc9d5ea2e78daec2a0309a839b6b6..48613d10af6729f68c78b3829fb922e41ff9a44e 100644 --- a/src/imageProc/sources/capture/pco/swt/SimpleSettingsPanel.java +++ b/src/imageProc/sources/capture/pco/swt/SimpleSettingsPanel.java @@ -22,6 +22,10 @@ import imageProc.sources.capture.pco.PCOCamConfig; import imageProc.sources.capture.pco.PCOCamSource; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import pcoJNI.PCOComm; public class SimpleSettingsPanel { @@ -214,7 +218,7 @@ public class SimpleSettingsPanel { double lastExpDly = config.delayTimeMS() + config.exposureTimeMS(); - double expTimeUS = OneLiners.mustParseDouble(exposureLengthTextbox.getText()); + double expTimeUS = Algorithms.mustParseDouble(exposureLengthTextbox.getText()); if(expTimeUS < Integer.MAX_VALUE){ config.exp_time = (int)expTimeUS; config.exp_timebase = PCOCamConfig.TIMEBASE_MICROSECS; @@ -223,7 +227,7 @@ public class SimpleSettingsPanel { config.exp_timebase = PCOCamConfig.TIMEBASE_MILLISECS; } - double delayTimeUS = OneLiners.mustParseDouble(delayTimeTextbox.getText()); + double delayTimeUS = Algorithms.mustParseDouble(delayTimeTextbox.getText()); if(delayTimeUS < Integer.MAX_VALUE){ config.delay_time = (int)delayTimeUS; config.delay_timebase = PCOCamConfig.TIMEBASE_MICROSECS; @@ -244,7 +248,7 @@ public class SimpleSettingsPanel { config.roiX1 = (short) (roiX1Text.getSelection() + 1); config.roiY1 = (short) (roiY1Text.getSelection() + 1); - config.conversionFactor = OneLiners.mustParseDouble(conversionFactorTextbox.getText()); + config.conversionFactor = Algorithms.mustParseDouble(conversionFactorTextbox.getText()); } public void frameTimeMinMaxEvent(boolean max){ diff --git a/src/imageProc/sources/capture/picam/PicamConfig.java b/src/imageProc/sources/capture/picam/PicamConfig.java index e16f91627dc49fda3ce6851fb24de1792aa25859..37646e77c7bc90349f1621b2144e73a8f11d5679 100644 --- a/src/imageProc/sources/capture/picam/PicamConfig.java +++ b/src/imageProc/sources/capture/picam/PicamConfig.java @@ -10,6 +10,10 @@ import java.util.TreeMap; import imageProc.sources.capture.base.CaptureConfig; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import picamJNI.PICamDefs; import picamJNI.PICamParameters; import picamJNI.PICamROIs; @@ -166,9 +170,9 @@ public class PicamConfig extends CaptureConfig { return; switch(type){ case PICamDefs.valueType_Boolean: this.value = (Boolean)(value.equalsIgnoreCase("Y") || value.equalsIgnoreCase("T") || value.equalsIgnoreCase("TRUE")); break; - case PICamDefs.valueType_Integer: this.value = (Integer)OneLiners.mustParseInt(value); break; - case PICamDefs.valueType_LargeInteger: this.value = (Long)OneLiners.mustParseLong(value); break; - case PICamDefs.valueType_FloatingPoint: this.value = (Double)OneLiners.mustParseDouble(value); break; + case PICamDefs.valueType_Integer: this.value = (Integer)Algorithms.mustParseInt(value); break; + case PICamDefs.valueType_LargeInteger: this.value = (Long)Algorithms.mustParseLong(value); break; + case PICamDefs.valueType_FloatingPoint: this.value = (Double)Algorithms.mustParseDouble(value); break; case PICamDefs.valueType_Enumeration: for(int i=0; i < enumStrings.length; i++){ if(value.equals(enumStrings[i])){ diff --git a/src/imageProc/sources/capture/picam/PicamSource.java b/src/imageProc/sources/capture/picam/PicamSource.java index bb19ed3a20fdfea72924b36e3cfdf99232c26b86..640f1e4ea2104ac53d73fffb7a9893b2926ccb3c 100644 --- a/src/imageProc/sources/capture/picam/PicamSource.java +++ b/src/imageProc/sources/capture/picam/PicamSource.java @@ -24,6 +24,10 @@ import imageProc.sources.capture.picam.PicamConfig.Parameter; import imageProc.sources.capture.picam.swt.PicamSWTControl; import mds.GMDSFetcher; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import picamJNI.PICamDefs; import picamJNI.PICamROIs; import picamJNI.PICamROIs.PICamROI; diff --git a/src/imageProc/sources/capture/picam/swt/ROIConfigPanel.java b/src/imageProc/sources/capture/picam/swt/ROIConfigPanel.java index 8dc1bb6ef80ddda7be6f6f18a33c56c6446b6a2d..6cb845ae9730e9a15a8f617806b226923577d337 100644 --- a/src/imageProc/sources/capture/picam/swt/ROIConfigPanel.java +++ b/src/imageProc/sources/capture/picam/swt/ROIConfigPanel.java @@ -38,6 +38,10 @@ import imageProc.core.swt.EditableTable.EditType; import imageProc.sources.capture.picam.PicamConfig; import imageProc.sources.capture.picam.PicamSource; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import picamJNI.PICamROIs; import picamJNI.PICamROIs.PICamROI; @@ -227,14 +231,14 @@ public class ROIConfigPanel { break; - case 2: roi.enabled = !OneLiners.mustParseBoolean(item.getText(2)); item.setText(2, roi.enabled ? "Y" : ""); break; - case 3: roi.x = OneLiners.mustParseInt(text); item.setText(3, Integer.toString(roi.x)); break; - case 4: roi.width = OneLiners.mustParseInt(text); item.setText(4, Integer.toString(roi.width)); break; - case 5: roi.x_binning = OneLiners.mustParseInt(text); item.setText(5, Integer.toString(roi.x_binning)); break; + case 2: roi.enabled = !Algorithms.mustParseBoolean(item.getText(2)); item.setText(2, roi.enabled ? "Y" : ""); break; + case 3: roi.x = Algorithms.mustParseInt(text); item.setText(3, Integer.toString(roi.x)); break; + case 4: roi.width = Algorithms.mustParseInt(text); item.setText(4, Integer.toString(roi.width)); break; + case 5: roi.x_binning = Algorithms.mustParseInt(text); item.setText(5, Integer.toString(roi.x_binning)); break; - case 6: roi.y = OneLiners.mustParseInt(text); item.setText(6, Integer.toString(roi.y)); break; - case 7: roi.height = OneLiners.mustParseInt(text); item.setText(7, Integer.toString(roi.height)); break; - case 8: roi.y_binning = OneLiners.mustParseInt(text); item.setText(8, Integer.toString(roi.y_binning)); break; + case 6: roi.y = Algorithms.mustParseInt(text); item.setText(6, Integer.toString(roi.y)); break; + case 7: roi.height = Algorithms.mustParseInt(text); item.setText(7, Integer.toString(roi.height)); break; + case 8: roi.y_binning = Algorithms.mustParseInt(text); item.setText(8, Integer.toString(roi.y_binning)); break; } diff --git a/src/imageProc/sources/capture/picam/swt/SimpleSettingsPanel.java b/src/imageProc/sources/capture/picam/swt/SimpleSettingsPanel.java index 6b1620cea8f14433a7f081e4944636e189d99edb..e93b5698885d1e1914762f17b6fcad754011689e 100644 --- a/src/imageProc/sources/capture/picam/swt/SimpleSettingsPanel.java +++ b/src/imageProc/sources/capture/picam/swt/SimpleSettingsPanel.java @@ -22,6 +22,10 @@ import imageProc.sources.capture.picam.PicamSource; import imageProc.sources.capture.picam.PicamConfig.Parameter; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import picamJNI.PICamDefs; import picamJNI.PICamParameters; @@ -240,7 +244,7 @@ public class SimpleSettingsPanel { combo.add(param.enumStrings[i]); if((param.type == PICamDefs.valueType_Enumeration && i == ((Number)param.value).intValue()) || (param.type == PICamDefs.valueType_FloatingPoint && - OneLiners.mustParseDouble(param.enumStrings[i]) == ((Number)param.value).doubleValue())){ + Algorithms.mustParseDouble(param.enumStrings[i]) == ((Number)param.value).doubleValue())){ combo.select(selIdx); } selIdx++; @@ -288,7 +292,7 @@ public class SimpleSettingsPanel { Parameter adcSpeedFeature = config.getFeature("AdcSpeed"); if(adcSpeedFeature != null && adcSpeedFeature.enumStrings != null){ - adcSpeedFeature.value = OneLiners.mustParseDouble(adcSpeedCombo.getText()); + adcSpeedFeature.value = Algorithms.mustParseDouble(adcSpeedCombo.getText()); adcSpeedFeature.toSet = true; } @@ -300,7 +304,7 @@ public class SimpleSettingsPanel { readoutModeFeature.toSet = true; } - double expTime = OneLiners.mustParseDouble(exposureLengthTextbox.getText()); + double expTime = Algorithms.mustParseDouble(exposureLengthTextbox.getText()); config.setFeature("ExposureTime", expTime); exposureLengthTextbox.setText(Double.toString(expTime)); diff --git a/src/imageProc/sources/capture/pylon/PylonConfig.java b/src/imageProc/sources/capture/pylon/PylonConfig.java index 77cef6e8a6b37a38eecb62aa7e543db14c5ddc3f..cc43dc1905296a85632deda8b53cea31ba2bab68 100644 --- a/src/imageProc/sources/capture/pylon/PylonConfig.java +++ b/src/imageProc/sources/capture/pylon/PylonConfig.java @@ -11,6 +11,10 @@ import java.util.TreeMap; import imageProc.sources.capture.base.CaptureConfig; import imageProc.sources.capture.picam.PicamConfig.Parameter; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; /** Configuration for Pylon SDK cameras * diff --git a/src/imageProc/sources/capture/pylon/PylonSource.java b/src/imageProc/sources/capture/pylon/PylonSource.java index db528c72f7062cb02a33cce22212cf285f575048..4d3b2acf975119ef68c42c3033ee022fbd32855f 100644 --- a/src/imageProc/sources/capture/pylon/PylonSource.java +++ b/src/imageProc/sources/capture/pylon/PylonSource.java @@ -27,6 +27,10 @@ import imageProc.sources.capture.picam.PicamConfig; import imageProc.sources.capture.pylon.swt.PylonSWTControl; import mds.GMDSFetcher; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import signals.gmds.GMDSSignal; /** Sensicam Image Source. @@ -269,7 +273,7 @@ public class PylonSource extends CaptureSource { @Override public boolean setConfigParameter(String param, String value) { if(param.equals("runLength")){ - double runLengthSecs = OneLiners.mustParseDouble(value); + double runLengthSecs = Algorithms.mustParseDouble(value); config.nImagesToAllocate = (int)(runLengthSecs * 1000000.0 / config.frameTimeUS + 0.5); return true; } diff --git a/src/imageProc/sources/capture/pylon/swt/SimpleSettingsPanel.java b/src/imageProc/sources/capture/pylon/swt/SimpleSettingsPanel.java index 9124ee2ecf09f90f86c31ac803ca3edaae2febf2..a5ab340017f4526b62144a7561ee829c4445ecc9 100644 --- a/src/imageProc/sources/capture/pylon/swt/SimpleSettingsPanel.java +++ b/src/imageProc/sources/capture/pylon/swt/SimpleSettingsPanel.java @@ -19,6 +19,10 @@ import imageProc.sources.capture.pylon.PylonConfig; import imageProc.sources.capture.pylon.PylonSource; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; public class SimpleSettingsPanel { public static final double log2 = FastMath.log(2); @@ -105,8 +109,8 @@ public class SimpleSettingsPanel { config.continuous = continuousButton.getSelection(); - config.exposureTimeUS = OneLiners.mustParseInt(exposureLengthTextbox.getText()); - config.frameTimeUS = OneLiners.mustParseInt(frameTimeTextbox.getText()); + config.exposureTimeUS = Algorithms.mustParseInt(exposureLengthTextbox.getText()); + config.frameTimeUS = Algorithms.mustParseInt(frameTimeTextbox.getText()); } diff --git a/src/imageProc/sources/capture/sensicam/SensicamSource.java b/src/imageProc/sources/capture/sensicam/SensicamSource.java index 90358a116adfd5c66c263ac8aa6dbb38d6c864e3..3f61a1c1f8429b1a9b9cd319527d747e3e179168 100644 --- a/src/imageProc/sources/capture/sensicam/SensicamSource.java +++ b/src/imageProc/sources/capture/sensicam/SensicamSource.java @@ -14,6 +14,10 @@ import imageProc.sources.capture.base.CaptureConfig; import imageProc.sources.capture.base.CaptureSource; import imageProc.sources.capture.pco.PCOCamConfig; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; /** Sensicam Image Source. * All the actual driver'ey code is in the thread in SensicamCapture @@ -188,7 +192,7 @@ public class SensicamSource extends CaptureSource { @Override public boolean setConfigParameter(String param, String value) { if(param.equals("runLength")){ - double runLengthSecs = OneLiners.mustParseDouble(value); + double runLengthSecs = Algorithms.mustParseDouble(value); config.nImagesToCapture = (int)(runLengthSecs * 1000.0 / bestGuessFrameTimeMS() + 0.5); return true; } diff --git a/src/imageProc/sources/sim/dshGen/DSHGenSWTControl.java b/src/imageProc/sources/sim/dshGen/DSHGenSWTControl.java index d7ee1a28ed36b8bcf0715f0960d969332fc638a2..f45471fa267d8f04d2c0ed6fba279ae86923a71e 100644 --- a/src/imageProc/sources/sim/dshGen/DSHGenSWTControl.java +++ b/src/imageProc/sources/sim/dshGen/DSHGenSWTControl.java @@ -25,6 +25,10 @@ import imageProc.core.ImagePipeController; import imageProc.core.ImgPipe; import imageProc.core.ImgSource; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; /** SWT Composite for controlling a NoiseGenSource */ public class DSHGenSWTControl implements ImagePipeController { @@ -112,7 +116,7 @@ public class DSHGenSWTControl implements ImagePipeController { for(int i=0; i < itemNames.length; i++){ TableItem tableItem = table.getItem(i); for(int j=0; j < (colNames.length-1); j++) - cfgData[j][i] = OneLiners.mustParseDouble(tableItem.getText(j+1)); + cfgData[j][i] = Algorithms.mustParseDouble(tableItem.getText(j+1)); cfgData[3][i] *= Math.PI / 180; }; @@ -139,14 +143,14 @@ public class DSHGenSWTControl implements ImagePipeController { public void handleEvent (final Event e) { switch (e.type) { case SWT.FocusOut: - item.setText(column, Double.toString(OneLiners.mustParseDouble(text.getText()))); + item.setText(column, Double.toString(Algorithms.mustParseDouble(text.getText()))); //checkTable(); text.dispose (); break; case SWT.Traverse: switch (e.detail) { case SWT.TRAVERSE_RETURN: - item.setText(column, Double.toString(OneLiners.mustParseDouble(text.getText()))); + item.setText(column, Double.toString(Algorithms.mustParseDouble(text.getText()))); //checkTable(); //FALL THROUGH case SWT.TRAVERSE_ESCAPE: diff --git a/src/imageProc/sources/sim/platesGen/PlatesGenSWTControl.java b/src/imageProc/sources/sim/platesGen/PlatesGenSWTControl.java index 335f46cfced29eefeaeb67860a3ff5380514e8c9..8f10d25db983673520510f5bccd9b34243746594 100644 --- a/src/imageProc/sources/sim/platesGen/PlatesGenSWTControl.java +++ b/src/imageProc/sources/sim/platesGen/PlatesGenSWTControl.java @@ -24,6 +24,10 @@ import imageProc.core.ImagePipeController; import imageProc.core.ImgPipe; import imageProc.core.ImgSource; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; /** SWT Composite for controlling a PlatesGenSource */ public class PlatesGenSWTControl implements ImagePipeController { @@ -205,19 +209,19 @@ public class PlatesGenSWTControl implements ImagePipeController { - int nImages = (int)OneLiners.mustParseDouble(propsTable.getItem(0).getText(1)); - int width = (int)OneLiners.mustParseDouble(propsTable.getItem(1).getText(1)); - int height = (int)OneLiners.mustParseDouble(propsTable.getItem(2).getText(1)); + int nImages = (int)Algorithms.mustParseDouble(propsTable.getItem(0).getText(1)); + int width = (int)Algorithms.mustParseDouble(propsTable.getItem(1).getText(1)); + int height = (int)Algorithms.mustParseDouble(propsTable.getItem(2).getText(1)); - double pixelSize = OneLiners.mustParseDouble(propsTable.getItem(3).getText(1)) * 1e-6; - double focalLength = OneLiners.mustParseDouble(propsTable.getItem(4).getText(1)) * 1e-3; - double polAng = OneLiners.mustParseDouble(propsTable.getItem(5).getText(1)) * Math.PI/180; - double elecNoise = OneLiners.mustParseDouble(propsTable.getItem(6).getText(1)); + double pixelSize = Algorithms.mustParseDouble(propsTable.getItem(3).getText(1)) * 1e-6; + double focalLength = Algorithms.mustParseDouble(propsTable.getItem(4).getText(1)) * 1e-3; + double polAng = Algorithms.mustParseDouble(propsTable.getItem(5).getText(1)) * Math.PI/180; + double elecNoise = Algorithms.mustParseDouble(propsTable.getItem(6).getText(1)); int nCmpts=0; for(int i=0; i < (itemNames1.length-firstComponentEntry); i++) - //if(OneLiners.mustParseDouble(propsTable.getItem(firstComponentEntry+i).getText(1)) > 0) - if(OneLiners.mustParseDouble(propsTable.getItem(firstComponentEntry+i).getText(1)) != 0) + //if(Algorithms.mustParseDouble(propsTable.getItem(firstComponentEntry+i).getText(1)) > 0) + if(Algorithms.mustParseDouble(propsTable.getItem(firstComponentEntry+i).getText(1)) != 0) nCmpts++; double inputAmp[] = new double[nCmpts]; @@ -226,13 +230,13 @@ public class PlatesGenSWTControl implements ImagePipeController { double inputEllip[] = new double[nCmpts]; int k=0; for(int i=0; i < (itemNames1.length-firstComponentEntry); i++){ - double en = OneLiners.mustParseDouble(propsTable.getItem(firstComponentEntry+i).getText(1)); - double amp = OneLiners.mustParseDouble(propsTable.getItem(firstComponentEntry+i).getText(2)); + double en = Algorithms.mustParseDouble(propsTable.getItem(firstComponentEntry+i).getText(1)); + double amp = Algorithms.mustParseDouble(propsTable.getItem(firstComponentEntry+i).getText(2)); if(en != 0 && amp > 0){ inputAmp[k] = amp; - inputWavelen[k] = OneLiners.mustParseDouble(propsTable.getItem(firstComponentEntry+i).getText(3)) * 1e-9; - inputPolAng[k] = OneLiners.mustParseDouble(propsTable.getItem(firstComponentEntry+i).getText(4)) * Math.PI/180; - inputEllip[k] = OneLiners.mustParseDouble(propsTable.getItem(firstComponentEntry+i).getText(5)) * Math.PI/180; + inputWavelen[k] = Algorithms.mustParseDouble(propsTable.getItem(firstComponentEntry+i).getText(3)) * 1e-9; + inputPolAng[k] = Algorithms.mustParseDouble(propsTable.getItem(firstComponentEntry+i).getText(4)) * Math.PI/180; + inputEllip[k] = Algorithms.mustParseDouble(propsTable.getItem(firstComponentEntry+i).getText(5)) * Math.PI/180; k++; } } @@ -243,7 +247,7 @@ public class PlatesGenSWTControl implements ImagePipeController { TableItem tableItem = platesTable.getItem(i); for(int j=0; j < (colNames2.length-1); j++) - plateInfo[i][j] = OneLiners.mustParseDouble(tableItem.getText(j+1)); + plateInfo[i][j] = Algorithms.mustParseDouble(tableItem.getText(j+1)); plateInfo[i][1] *= 1e-3; //in mm plateInfo[i][4] *= Math.PI / 180; @@ -283,7 +287,7 @@ public class PlatesGenSWTControl implements ImagePipeController { public void handleEvent (final Event e) { switch (e.type) { case SWT.FocusOut: - item.setText(column, Double.toString(OneLiners.mustParseDouble(text.getText()))); + item.setText(column, Double.toString(Algorithms.mustParseDouble(text.getText()))); //checkTable(); text.dispose (); System.out.println("Text destroy"); @@ -291,7 +295,7 @@ public class PlatesGenSWTControl implements ImagePipeController { case SWT.Traverse: switch (e.detail) { case SWT.TRAVERSE_RETURN: - item.setText(column, Double.toString(OneLiners.mustParseDouble(text.getText()))); + item.setText(column, Double.toString(Algorithms.mustParseDouble(text.getText()))); //checkTable(); //FALL THROUGH case SWT.TRAVERSE_ESCAPE: @@ -301,7 +305,7 @@ public class PlatesGenSWTControl implements ImagePipeController { } break; case SWT.Modify: - item.setText(column, Double.toString(OneLiners.mustParseDouble(text.getText()))); + item.setText(column, Double.toString(Algorithms.mustParseDouble(text.getText()))); break; } } diff --git a/src/imageProc/sources/sim/platesGen/PlatesGenSource.java b/src/imageProc/sources/sim/platesGen/PlatesGenSource.java index aa2fa52047baac1af1869cfc304fb5164530c77d..9ce10e061919920673d6290737f0b7bba19e7cb0 100644 --- a/src/imageProc/sources/sim/platesGen/PlatesGenSource.java +++ b/src/imageProc/sources/sim/platesGen/PlatesGenSource.java @@ -14,6 +14,10 @@ import imageProc.core.ImgPipe; import imageProc.core.ImgSource; import net.jafama.FastMath; import oneLiners.OneLiners; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; +import algorithmrepository.Algorithms; +import algorithmrepository.Mat; import otherSupport.RandomManager; /** Simple simulation of a set of plates, polariser and lens using @@ -95,8 +99,8 @@ public class PlatesGenSource extends ImgPipe implements ImgSource { plateRight[iP] = Util.cross(plateNorm[iP], plateUp[iP]); - plateNorm[iP] = OneLiners.rotateVectorAroundAxis(plateTiltPerp, plateUp[iP], plateNorm[iP]); - plateRight[iP] = OneLiners.rotateVectorAroundAxis(plateTiltPerp, plateUp[iP], plateRight[iP]); + plateNorm[iP] = Algorithms.rotateVectorAroundAxis(plateTiltPerp, plateUp[iP], plateNorm[iP]); + plateRight[iP] = Algorithms.rotateVectorAroundAxis(plateTiltPerp, plateUp[iP], plateRight[iP]); }