Support for Qt 5.11.3, 5.15.2, 6.5 and Windows. Fix warnings for implicitely declared operator=(). Fix warnings for unused variable or parameter. Speedup search of dependency lib paths. Warnings issued for Qt 5.15.2 about obsolete functions or usage solved. Fix saving option -ss3 in configure.cache. ************************************************* * QGpCoreTools *********************************** 2.5.0 Add fake argument PID to show PID in report bug process. Fix define for OpenBlas under some Linux variants. Additional optionIndex argument to CoreApplicationPrivate::checkOptionArg to improve reporting of errors for multi valued command arguments. Fix deletion of tasks in ParallelTaskWorker: instable behaviour noted at the end of FK processing. Remove CPU affinity for Desktop. Better error message when setting parameter values. Exit if a file in command line does not exist. Double CTRL+C to stop with or without saving results (geosy-fk). Improve polish step of parallel tasks: handled by workers directly. Support for [CDATA[ in XML. Add option -batch in CoreApplication. Support for multi line values (parameter files). Cache swap subdir for each pid: it avoids conflict between simultaneous instances of geopsy core. Better handle I/O errors when saving swap files. Fix deletion of a global pointer that itself delete other global pointers. Fix ideal thread count for OAR. Color: add 32 and 64 bit color channel functions. Take physical number of cores into account instead of QThread::idealThreadCount() which includes hyperthreading. ************************************************* * QGpGuiTools *********************************** 2.5.0 Replace hash by vector to keep tab/cat order for property dialog box Remove all old network proxy classes Fix HttpAccess for SSL Fix precision adjustment for DoubleSpinBox Swap SHIFT and ALT actions for DoubleSpinBox: ALT did not work under Mac OS, precision adjustment is the most critical task now attached to SHIFT instead of ALT Add alpha channel to color dialog Improvement of LoopProgressWidget Fix crash restoring widget rectangles if returned screen by QApplication is null. LoopProgressWidget integrate the management of start/stop buttons ColumnTextWidget: Ui::* inheritance replaced by member pointer (avoid external dependency to .ui files for libraries). DoubleSpinBox: improve the conservation of the original value if it is untouched. If the display precision is increased and the value is untouched, the user can access the full precision of the original value. Replace usage of QDesktopWidget by QScreen for a better placement of windows upon restoration from settings New classes ItemDelegate and TableView: all QTableView and QItemDelegate in the package are replaced by TableView and ItemDelegate. It avoid duplication of code especially for setEditorData() and setModelData(). The applyAll... Fix closing MDI area with linked windows ************************************************* * QGpCoreMath *********************************** 1.5.0 Return true when comparing two color maps with nan values Project a point on a polygon Update palettes from Crameri Accept template palette with any number of colors. Categorical mode Flag reversed replaced by enum with various options Gradians for Angle New Polygon class (check if a point is inside or outside) Fix assert for null length Tukey transition Add README and explanations about .pyc file (debugging of geopsy type in QtCreator) Fix concentric search: avoid jumping on each side New DoubleMatrix::eigenValues() New Polynomial and PolynomialFraction classes Interpole for X, Y log and inverse scales PeriodicStatistics fixed for standard deviation Histogram statistical functions removed from IrregularGrid2D New objects: BSpline, CubicSpline, FrequencyCruveProxy, GlobalRandom, MultivariateNormalDistribution, PeriodicStatistics GaussianDistribution renamed to NormalDistribution Color palettes: generate() on a restricted part of the palette only. Option "reversed" for ColorPalette::sardineGrayScale "Inversed" replaced by "Inverse" Fix Rect::add() for infinite limits Conversion from SamplingOption to SamplingParameters::ScaleType and vice-versa Statistics and PeriodicStatistics for weighted and unweighted samples GridSearch1D constructor can initialize arbitrary dimension for parameter vector Support for nested Folder and Document in KML Add test on prime factorization Convenient functions to set a parser for UTM ComplexMatrix add eigen value computation Return error if type of window shape is not correct New NewtonOptimization1D New OptimizationBFGS GridSearch2D with higher dimensions Vectors used by GridSearch2D can have more than 2 dimension, only the first two are searched. The const has been removed in value(Vector&) to allow storage of values in the other dimensions. Add TwiddleFactors Remove "exactFrequency" from GaussianFrequencyBand: DTFT is computed at the frequency of the sampling set. New grids for GridSearch2D and 3D Improved grid search split in 1D, 2D and 3D New Vector template class to implent lightweight math vector. AbstractFunction based of Vector rather than Point. Grid search reduces its memory footprint which improves the CPU cache usage. Uniformize arguments for toString() in all objects. Point2D based on C vector rather than two independent double values. Add L2_Inversed as a misfit type. Add credits to ColorPaletteModels Palette from old Geopsy release added to share New color palettes from Fabio Crameri A new way of generating palettes: from text files provided in share. A script to convert from Fabio Crameri's format is provided. Original ways of generating color palettes are abandoned. New class ColorPaletteModels: a singleton class to load and store used palettes Scale: fix isZoomed() conditions to avoid situations when visible range was not controlable by the user (sort of half-zoomed situations) ************************************************* * SciFigs *********************************** 3.4.0 Paper size properties for graphic sheet Python interface to SciFigs SciFigs context for pen and symbol in AbstractLine Q_INVOKABLE for Python access Float coordinate conversions for smoother curve plots Rename of GraphContent to GraphContents Simultaneous modifications on several layer stacks Fix bug for XYPlotProperties that was removing a property after constructor Remove scaling of fonts for SVG RealStatisticalLine owns a RealStatisticalCurve instead of Curve Export of XYColorLinesProperties and XYPlotProperties Fix direction of delta for wheelbutton New printRight() and printBottom() for GraphicSheet Fix plotting isolated points when sign threshold is used. Inversed replaced by Inverse New AxisWindow::addFreePicks() Color palette: generate() on a restricted part only Use of ListInterpole for generating a palette New context menu to copy the tip label of graphs Fix absolute time ploting on X axis when the title is empty: avoid overwriting on labels CircleViewer: define a Pen for each circle. No more line weigth for the whole plot. Fix sheet properties copy in ExportOptions GraphContent allow access to layer with index (to be used only for specific purposes) Remove footPrint for SVG export Open page now works also for layers (a AxisWindow is automatically created) Legend implement cyclic indexing if requested index is larger than its size For custom page size the size is automatically deduce from sheet size Fix bounding box for SVG export Show complete absolute time on horizontal axis SNew signThreshold property to plot asymptotes. signThreshold and errorBar accessible from GUI Fix GraphContent properties when reading .layer files Merge layers Select objects in the ExportOptions LegendItem better integrates dark environments LiveGridLayer based on Vector Show credits if any when generating a palette) Fix axis scales instability Axis and AxisWindow: fix situations where the scale was not controlable anymore. It was half-zoomed. Usually a consequence of inversed scale limits, particularly occuring with scaled axis. Adapt to new ColorPalette API, in particular the widgets that control palettes: Legend and ColorPaletteWidget. LegendTable better adapt to dark environments. ************************************************* * QGpGuiMath *********************************** 1.4.0 ImageLayer for log scales CurveBrowser::setCurveName and CurveBrowser::remove for convenience in case of multiple layers Fix of curve name modifications CurveProperties renamed to CurvePropertiesWidget New object FrequencyPlotProxy ImageLayer::boundingRect() returns null if no image Fix crash in CurveBrowser::setProxy() and setPlotProxy() if the proxy remains the same. New validate inside, invalidate outside option in curve browser edit tools. New CurveProperties::curveAt() Fix editor in CurveBrowserDelegate() Improvement of scaling images of ImageLayer Modal dialog for ImageScalingPoints, picking of image points through a LayerPicker Delegate and Model for ImageScalingPoints instead of QTableWidget ************************************************* * figue *********************************** 2.0.7 New option -image Library QGpGuiMath was not loaded due to the lack of reference to it. Layer files can be opened directly Remove explicit prepend of layers Adjust legend and color map when loading page Add help for -x/y-abs-time-ref Add option -layer-name Select objects in the ExportOptions ************************************************* * QGpCoreWave *********************************** 2.3.0 NAN for non existing modes instead of 0 New OmnidirectionalArrayResponse Roots for Rayleigh half-space equation Evaluation of eigenvalue method: Newton is finaly still faster Fix output of comments for mode -plot (gpell) Fix copy of mode list for ModalCurve copy constructor Curve proxies improvements Fix ellipticity curve output with plot option Beam pattern derivatives Seismic1DModel::halfSpaceEllipticity based on Vp, Vs, Qp and Qs values directly instead of layer index. New Seismic1DModel::poisson() Clarification of sign in TheoreticalFK::radialFirstDerivative() New TheoreticalFK::radialSecondDerivativeAtOrigin() Decrease precision for dispersion curve to 1e-10 First and second derivatives of TheoreticalFK New AutocorrRing::setMinRadius and setMaxRadius: if order is not correct, the other value is forced leading to a null thickness ring. Add Malischewski Rayleigh velocity for half space ************************************************* * GeopsyCore *********************************** 4.5.0 new saveDatabase() for waveform script Add windows after a list of events, not the full table any more. Show time range for group list Fix precision and format for name construction of events Automatically detect HDF5 useOriginalBaseName based on signal name, if original file is not single for SAC output Avoid warning in some cases when closing geopsy Avoid warning for AbstractSignalGroup::setParent() Add frequency oversampling for H/V toolbox AbstractTool::setParameters() no longer clones the parameters New Signal::gapsFromNaN() Multicolumn ASCII file recognition moved to the end Fix missing event delay for adding a new TimeRange in TimeRangeList::add() Add duration property for events Select event including minimumSlowness New waveform processing: random and addSignals Fix reading and exporting windowing parameters Fix random response in MASW: if the size after rounding to the expected prime factor is larger, no time window was added in MASW. A tolerance of 50% is added. We checked that it is never exceeded by PrimeFactorization::closestValue(). Fix output of SLTA parameter output CoreToolInterface (used in geopsy-fk, geopsy-hv,...) - add option to save database - SELECT_ARRAY_CENTER can be a station name - new option -utm to set coordinates - show arguments in log - 10 sec temporisation before saving when nothing is blocked - save backup in current dir - on OAR, the /tmp dir is cleaned after process termination Better handle I/O errors when saving swap files FourierPlan based of TwiddleFactors Fix shifting signal: separated start time and phase shift Reset plugin list if none can be found. Add number of threads and parallel force in AbstractTool::start() New features linked to optical fiber processing Avoid NaN for fmax for low high pass filters: error in re-running waveform scripts New format: FebusHDF5 New function Signal::pickEvents() and new class PickParameters: an automatic trigger to generate events. Add preference for event names. New function to remove all events in a list. Fix signal process: avoid modification of comments in original signals. Move up and down for sort keys. ************************************************* * GeopsyGui *********************************** 3.5.0 Improve display of events:show name and duration. Improve also update (signals) Contour of time window darker than its content Before it was always green. Even for a high number of windows the color can be seen. Load parameters from .log or .param files Improvements of time picking Display of events as "special" picks. Modification of time picks of all process steps. LayerPicker for TimeRangeParameterWidget when picking a time. Add name for events ************************************************* * DinverCore *********************************** 1.4.0 Remove adding with replacement of parent Fix lock issue when processing the queue Move randomModel() to AbstractForward Tries to improve the mangement of best models ************************************************* * QGpCoreStat *********************************** 1.3.0 New -hist-values action to export grid values New Expectation Maximimization for gaussian mixtures Fix filtering outside Fix standard header line Clean histogram outside x range new MultivariateHistogram::statistics() Add also periodic flag (currently not yet used) Periodic histograms GaussianMixture for multivariate histograms Also statistics for periodic variables Horizontal and vertical noise in max files Ellipticity in deg stored in max files New class Histogram2DFilterParameters CurveProxy for Histogram2D curve interactions Use only valid part of curves for filtering. New Histogram2D::setValid(const Histogram2D * o) Histogram2D::meanCurve, medianCurve and modeCurve based on CurveProxy rather than a returned Curve. Histogram2D filter functions also based on CurveProxy. New histogram misfit Fix crash linked to bad sampling ************************************************* * HVCore *********************************** 1.2.0 Add frequency oversampling for H/V toolbox Unify saveResults() in AbstractTool Task polish() moved to worker ************************************************* * HVGui *********************************** 1.2.0 Add frequency oversampling for H/V toolbox ************************************************* * ArrayCore *********************************** 4.2.0 Ellipticity correction: - Accept single root if only one is valid. - In case of more than one root, if eh or ez is accidentally included in root list (numerical precision errors), phi value may be negative due to arithmetic errors. NaN was returned. If at least one root is value, a real value is now returned. Fix MASW: one signal cross-spectrum calculation Remove oneComponentNoiseFactors Add average of number of evaluations of P Flag for comparing with grid optimization Remove elliptiicty extra values (protected by flag ELLIPTICITY_EXTRA_VALUES) Add log message for orientation errors tracking Sqrt correction Phi only correction Computation of concavity factor was erroneous Sqrt correction priority for HZ Implementation after random robustness tests "t" factor replaced by concavity factor Improvement of bestRoot(): take special cases into account and increase minimum factor from 2 to 1000. Admit up to 6 roots. No more limitation to odd numbers Minimum concavity factor computation for H, Z and A: currently under test is sqrt or phi technique is best. Ell corr only for th and tz>1 Ellipticity correction with new simple formula PhiHZA and monitoring of ta, th and tz Start Kmax solver at kmin instead of 2*kmin Search for similar phi values Accept only the cases where all valid solutions are matching. Final xir was not properly set for three phi case Output all xir and phi values Take nan values into account for 3 phi comparison Flag if ellipticities are not sign compatible Keep best phi when ta, th and tz are >1 Systematic use of ta Fix crash when setting extravalues Add extravalues: n roots, phi type and phi value Relative phi functions Fix setting ELLIPTICITY_ROOT_COUNT Correct power for RTBF method Direct RTBF (not public) method also fixed. Temporarily power contains the phi value at the selected minimum New ELLIPTICITY_ROOT_COUNT Select admissible number of roots for phi in ellipticity correction Simplification of process types RTBFSquared -> RTBF, clearer for the user it refers explicitely to Wathelet et al. (2018) RTBFCross -> ARTBF, cross was not making sense RDSCross -> ARDS RDSSquared -> removed, the base object still in project RTBFRadial and RTBFVertical are removed from user process types. They remain internally for computing the ellipticity correction. Conv and active process types follow the same simplification. Fix ellipticity correction for RTBFCross No need to initialize cross-spectrum in wavenumberConcavityRatio() fro HRFKRayleighRadial and HRFKRayleighVertical New parameter N_MAXIMA_FACTOR Number of maxima adjusted relative to the number of sensors Fix option '-no-overwrite' Improved ellipticity correction wavenumberNoiseFactor renamed to wavenumberConcavityRatio Mixed ellipticity correction removed ThreeComponent ellipticity correction improved with polynomila solutions to the equation. Remove useless cache of beampattern second derivative Fix a crach in LDS2 and KDS3 Ellipticity correction by default only for Cross Use of DoubleSignal::frequencyOversampling() instead of manuel zero padding New RTBF(cross component) with ell correction New ESAC option for SPAC tool Ellipticity correction still under devel Three-component still under devel Second derivative of beam power is under implementation Improvement of ellipticty retrieval Corrected ellipticity for RTBF P_s New HRFKRayleighVertical Fix creation of function for RTBFFixedEll Fix setSource() for ActiveConvFKRayleigh Fix cross-spectrum matrix type for ActiveConvFKRayleigh Fix array size in FKSteering for ellipticity functions Noise currently not computed for ARTBF and ARDS Fix automatic rings for SPAC: avoid removing all pairs, at least one must remain. Static steering function to share between active and passive Skip blocksets over several distant sources ActiveFKSteering::setSource() was not updating correctly Select event including minimumSlowness Fixing active FK... R/N and sigma estimation in ARDS and ARTBF HRFKRayleighRadial, ConvFKRadial and ConvFKRayleigh restored. Horizontal and vertical noise in max files Ellipticity in deg stored in max files Active steering removed from FK cache It is moved to active FK functions Fix active FK (only conv for now) Fix ground level computation in array response Add logs for station selection Add logs in case of kmin error SELECT_ARRAY_CENTER can be a station name New Love processing, integration with gpfksimulator New process types LDS2 and LDS3, LDS removed. Remove ArraySelection constructor from QVector and replace it by ArrayStation without link to StationSignals (coordinates only). This is required for the unification of array processing between gpfksimulator and ArrayCore. Add bright spot removal. Calculation of R even for Capon. Required for bright spot removal. Fix condition for selecting all sensors If no sensor is selected, select all Inversion of all individual peaks for sensor orientation Save also peaks on the vertical Detection of inner/outer fixed Add a report of inner/outer detection Automatically detect inner stations The gradient for orientation is set to null for outer stations Fix saving SensorOrientation results Fix conversion to degrees for SensorOrientation options Add options for sensor orientation New SensorOrientation algorithm Precision was not initialized for RTBF ellipticity Fix precision parameters Switch ellipticity to degrees instead of radians Add refine precisions in FKParameters Default velocity relative precision changed to 1e-3 instead of 1e-5 Fix compution the HRFKAngularDirectRayleigh::value() (ARDS) for k=(0, 0) for which the azimuth angle was undefined (0/0) Add position and orientation errors as parameters Random error values are ouput in the log with full precision and with an appropriate format to include those values in a parameter file, which allows the reproducibility of an error set. Fix of fast RTBF Removal of RDS and attached methods Ellipticity adjustment with NewtonOptimization1D New ORA algorithm Fix slow ARDS Move orientation errors to steering New MAXIMUM_SENSOR_ORIENTATION_ERROR parameter Allows the introduction of random perturbation in sensor orientations Fast derivative based ellipticity optimazation for ARTBF No more filtering for the shape of the R curve, max of R curve ouput to noise field for testing Fix ellipticity search for ARDS The search is no longer with GridSearch3D but inside value() with an optimized Newton search. FKSteering modified to provide gradient. Refine coarse grid step for ellipticity to 1 deg Add virtual function minimum(), maximum() and step() for ARDS and ARTBF Remove "exactFrequency" from GaussianFrequencyBand New angular ellipticity beamforming Set default value to Capon for Undefined proecess type New simplified cache structure Functions based on Vector rather than Point RDS and LDS now available Add detailed timing ************************************************* * ArrayGui *********************************** 1.4.0 New OmnidirectionalArrayResponse Explicit geographical degrees Renewal of RingEditor Replacement of QTableWidget by model and delegate classes Better legend for rings on the plot Highlight of pairs inside the current ring Correct support of ',' for numbers FunctionPlot for LivegridLayer interface Fix array response cross-section ************************************************* * geopsy-fk *********************************** 1.0.4 New script to extract header from max file New option -no-overwrite New script to start OAR from a list of .max Show arguments in log Stop and save Improved script cmp_max to compare max files Show timing statistics at the end of process ************************************************* * geopsy-spac *********************************** 1.0.3 New option -no-overwrite Show arguments in log Stop and save ************************************************* * geopsy-hv *********************************** 1.0.2 Show arguments in log Stop and save ************************************************* * geopsy *********************************** 3.4.0 Return error if UTM zone not correctly parsed Fix update available information New menu Edit/Add gaps from NaN Implementation of relative position tool in "Set receivers" New "List References" menu for File list Improve update of events on graphics New Random and AddSignals waveform processing New SortKeys with moveUp and Down New "Pick" action for Event table Add options "-recent-dbs" and "-import-dir" ************************************************* * dinver *********************************** 1.1.4 Show best models in paramspace plots ************************************************* * warangps *********************************** 1.1.4 Stop gpsUpdate timer in off-line mode ************************************************* * geopsyarray *********************************** 3.3.0 Fix geometry of output graphs Use default name for source if name is not set Simplification of user process types New parameter N_MAXIMA_FACTOR Ensure parameters of core tool are up-to-date in FKTimeWindows Clean up of FK processing types Support for ActiveConventionalRayleigh, RTBFCross and RTBFVertical Add active 3 component process Fix vertical capon in test Fix function reset in case of error in calculate Update of time windows for active Fixing test for active sources View matrix grid with test tool Use of FunctionPlot with LiveGridLayer interface Add bright spot removal Removal of RDS and attached methods Value_XY_maxZ no longer necessary for ARDS Fix plot options for ARTBF and ARDS Start/stop moved to LoopProgressWidget ************************************************* * dinverdc *********************************** 2.1.2 Sign threshold for plotting ellipticity target Add misfit type display in target widget ************************************************* * dinverext *********************************** 1.0.6 Fix issue for relative path in command Add clean up of temporary files and directories ************************************************* * spac2disp *********************************** 1.0.5 Fix tipo in output target file Avoid crash if vmin==vmax ************************************************* * max2curve *********************************** 1.1.3 Fix of npps option ************************************************* * gpprofile *********************************** 1.1.4 Fix help for -stddev-profiles and -average-profiles ************************************************* * gpdc *********************************** 1.0.5 Roots for Rayleigh half-space equation Output the result for the three methods: Newton, eigenvalues, Malischewsky New option -half-space to get Vr/Vs ************************************************* * gplivemodel *********************************** 1.0.5 Fix Sh amplification mode Add option '-disp-precision' FunctionPlot in LiveGridLayer interface ************************************************* * gptarget *********************************** 1.0.4 Support for ellipticity ************************************************* * gpviewdcreport *********************************** 1.0.3 Use of ExportOptions Fix help message: missing -abs and -colormap Add option -abs for ellipticity Add -colormap option ************************************************* * gpell *********************************** 1.0.4 Ajustable sign threshold New option -half-space Add option '-disp-precision' New option "-ignore-errors" ************************************************* * gpcurve *********************************** 1.0.4 New function 2D Fix -function option New spline options New -mean and -stddev options Fix missing case for L2_Inversed ************************************************* * gprandom *********************************** 1.0.2 New -gaussian option ************************************************* * gpspac *********************************** 1.0.3 New option -src-curve Computation of SPAC curves from a dispersion curve and not a model ************************************************* * gphistogram *********************************** 1.2.3 Clean up of export values New option -hist-values Add current X indicator on main 2D histogram Fix interpole and periodic histogram Filters and Gaussian mixture New GaussianMixture interface New filters Support for periodic values Re-organisation of -ell-... options New GridFilter in QGpGuiStat Histogram2D dealing with CurveProxy instead of Curve Add misfit option like in gpviewmax Default palette start with white ************************************************* * gpviewmax *********************************** 1.2.0 New export of grid values from command line Fix units for filtering velocity message New Expectation Maximization for gaussian mixtures Fix error bars for delta noise Pick to mean improved Export line string when exporting samples Default step for delta noise set to 0.05 instead of 0.1 Support for new process type names Specific curve names for mean, median and mode Various new filters Allways adjust limits for dispersion SigmaNoise in gaussian mixture fit Avoid multiple interpolation in filterCurve Fix of curve splitting New post-processing of RTBF results Gaussian mixture on multivariate histograms New filter dialog -dots options and categories Periodic statistics for ellipticity Time read as string to avoid precision limits RTBF* with the same configuration as ARDS Set range from -2 to 2 for delta noise Add RTBFVertical recognition for 3C plot 3C incoherent noise plotting Plot of differential incoherent noise (H and Z) Horizontal and vertical noise in max files New -filter option Add CurveBrowser and picking facility Filter across all plots is now available Support of old .max Add filters for limits Add option -high-power for smart filtering Insert '#' before the misfit curve Fix crash if noise is negative Reader optional values directly returned Add filters for min and max ellipticities Support for ARTBF and ARDS Optional autopick Misfit of samples Use Option to keep if a parameter is asked by the user ************************************************* * gpcoord *********************************** 1.0.4 Perpendicular projection of a point on a polygon Generate of circle, triangle, random, Markov-chain,... New inversion of translation and rotation between two point clouds ************************************************* * gpsh *********************************** 1.0.3 Add receiver depth from command line ************************************************* * gpfksimulator *********************************** 1.2.0 New parameter N_MAXIMA_FACTOR Comment of cross-spectrum fit Active source support Fixed ellipticity option Add inchorent noise directly in cross-spectrum New random noise generator New option -utm to set coordinates Integration of ArrayCore: array process now based on ArrayCore rather homemade processing. If no sensor is selected, select all Fix noise generation