From fee2b2cdc14f6ac142b0a900f8270bc63d082a9e Mon Sep 17 00:00:00 2001 From: Justin Barno Date: Thu, 18 Jan 2024 07:30:56 -0800 Subject: [PATCH] New uncertainty quantification estimates for the corner frequency now available in both CCT and CERT spectral plots. The plot will now show the most likely estimate alone with an approximation of the 95% interval of misfit. The CERT plot also includes uncertainty from both the joint and pair-wise inversion for the spectral ratios. You can also turn the corner estimates on and off like the other plot elements from the legend now. Added new beta version of export and import functionality for CERT. This allows you to manually adjust the spectral ratio windows for envelopes and then export the project for later use. Output is in a simple JSON document with one JSON object per-line so that the entire document need not be serialized. The format may change significantly based on community feedback while in the beta period. When importing the JSON into the tool it will attempt to map the values to any loaded waveforms based on their metadata and warn the user if it can't find mappings that are valid for any values. Added a feature to allow for calculating the distances between any specific event in CERT. Right click an event in the events column of the main CERT display and select calculate distance to populate the distance column for all events based on the selected event. Added additional map highlighting for the CERT map when selecting values in the spectral display and in the event table. Manual updates to address some outdated instructions based on community feedback. Re-formulated the observed energy calculation to replace a numerically derived constant to instead use an analytical formula that will take into account the MDAC model's propagation and density parameters. This should allow advanced users more control over the estimates and allowed better support for more types of geology overall. Fixed a spectra plot replotting issue so that when the window within the ratio detail waveform plots is adjusted, the update will preserve the inversion data and replot it all correctly. --- .github/workflows/maven-publish.yml | 9 +- calibration-gui/pom.xml | 2 +- .../calibration/gui/CodaGuiController.java | 44 +- .../coda/calibration/gui/GuiApplication.java | 6 +- .../AbstractMeasurementController.java | 18 +- .../SpectraRatioLoadingController.java | 204 +++ .../param/SpectralRatioProjectLoader.java | 73 + .../converters/ratios/SpectraRatioLoader.java | 75 ++ .../data/client/SpectraRatioWebClient.java | 23 + .../data/client/api/SpectraRatioClient.java | 14 +- .../data/exporters/JsonTempFileWriter.java | 56 +- .../data/exporters/SpectraRatioExporter.java | 15 +- .../api/SpectraRatioTempFileWriter.java | 9 +- .../plotting/CertLeafletMapController.java | 63 +- .../gui/plotting/CodaWaveformPlotManager.java | 24 +- .../calibration/gui/plotting/LeafletMap.java | 8 +- .../gui/plotting/LeafletMapController.java | 10 +- .../gui/plotting/PlotlyPlotFactory.java | 17 +- .../gui/plotting/RatioDetailPlot.java | 6 + .../RatioMeasurementSpectraPlotManager.java | 156 ++- .../RatioMeasurementWaveformPlotManager.java | 13 +- .../gui/plotting/RatioMeasurementsGui.java | 12 +- .../gui/plotting/SpectraPlotManager.java | 2 +- .../gui/plotting/SpectralPlot.java | 101 +- .../calibration/gui/plotting/WaveformGui.java | 14 +- .../WaveformLoadingController.java | 6 +- .../gui/SpectraRatioGuiController.java | 53 +- .../gui/events/RatioSegmentChangeEvent.java | 31 + .../src/main/resources/fxml/CertGui.fxml | 3 +- .../main/resources/fxml/SpectraRatioGui.fxml | 8 +- .../calibration-application/pom.xml | 4 +- .../web/SpectraRatioJsonController.java | 24 + .../resources/static/img/import_complete.png | Bin 305168 -> 390655 bytes .../resources/static/img/import_stacks.png | Bin 291997 -> 329901 bytes .../src/main/resources/static/index.html | 86 +- .../static/javadoc/allclasses-index.html | 1095 +++++++-------- .../resources/static/javadoc/allclasses.html | 20 +- .../static/javadoc/allpackages-index.html | 120 +- .../static/javadoc/constant-values.html | 8 +- .../static/javadoc/deprecated-list.html | 8 +- .../resources/static/javadoc/element-list | 2 + .../calibration/CalibrationApplication.html | 10 +- .../calibration/ConfigureJacksonMixins.html | 10 +- .../web/CalibrationJsonController.html | 10 +- ...alibrationNotificationStompController.html | 10 +- .../web/ConfigurationItemJsonController.html | 10 +- .../application/web/EventsJsonController.html | 10 +- .../web/GeometryJsonController.html | 10 +- ...cParametersFiCollectionJsonController.html | 10 +- .../MdacParametersFiItemJsonController.html | 10 +- ...cParametersPsCollectionJsonController.html | 10 +- .../MdacParametersPsItemJsonController.html | 10 +- .../web/MeasuredMwsJsonController.html | 10 +- .../web/MeasurementJsonController.html | 10 +- .../web/PeakVelocityJsonController.html | 10 +- .../web/ReferenceEventsJsonController.html | 10 +- .../web/ShapeMeasurementJsonController.html | 10 +- ...andParametersCollectionJsonController.html | 10 +- ...uencyBandParametersItemJsonController.html | 10 +- ...andParametersCollectionJsonController.html | 10 +- .../web/SpectraMeasurementJsonController.html | 10 +- .../web/SpectraRatioJsonController.html | 69 +- .../SyntheticCollectionJsonController.html | 10 +- .../web/SyntheticGenerationRequest.html | 16 +- .../web/ValidationEventsJsonController.html | 10 +- .../class-use/CalibrationJsonController.html | 8 +- ...alibrationNotificationStompController.html | 8 +- .../ConfigurationItemJsonController.html | 8 +- .../web/class-use/EventsJsonController.html | 8 +- .../web/class-use/GeometryJsonController.html | 8 +- ...cParametersFiCollectionJsonController.html | 8 +- .../MdacParametersFiItemJsonController.html | 8 +- ...cParametersPsCollectionJsonController.html | 8 +- .../MdacParametersPsItemJsonController.html | 8 +- .../class-use/MeasuredMwsJsonController.html | 8 +- .../class-use/MeasurementJsonController.html | 8 +- .../class-use/PeakVelocityJsonController.html | 8 +- .../ReferenceEventsJsonController.html | 8 +- .../ShapeMeasurementJsonController.html | 8 +- ...andParametersCollectionJsonController.html | 8 +- ...uencyBandParametersItemJsonController.html | 8 +- ...andParametersCollectionJsonController.html | 8 +- .../SpectraMeasurementJsonController.html | 8 +- .../class-use/SpectraRatioJsonController.html | 8 +- .../SyntheticCollectionJsonController.html | 8 +- .../class-use/SyntheticGenerationRequest.html | 8 +- .../ValidationEventsJsonController.html | 8 +- .../application/web/package-summary.html | 8 +- .../application/web/package-tree.html | 8 +- .../application/web/package-use.html | 8 +- .../class-use/CalibrationApplication.html | 8 +- .../class-use/ConfigureJacksonMixins.html | 8 +- .../apps/coda/calibration/gui/AboutText.html | 10 +- .../coda/calibration/gui/AppProperties.html | 10 +- .../calibration/gui/CodaGuiController.html | 16 +- .../gui/GuiApplication.ApplicationMode.html | 12 +- .../coda/calibration/gui/GuiApplication.html | 10 +- .../apps/coda/calibration/gui/MapConfig.html | 10 +- .../gui/RefreshEventTableAction.html | 10 +- .../coda/calibration/gui/WebfluxConfig.html | 10 +- .../calibration/gui/class-use/AboutText.html | 8 +- .../gui/class-use/AppProperties.html | 8 +- .../gui/class-use/CodaGuiController.html | 8 +- .../GuiApplication.ApplicationMode.html | 8 +- .../gui/class-use/GuiApplication.html | 8 +- .../calibration/gui/class-use/MapConfig.html | 8 +- .../class-use/RefreshEventTableAction.html | 8 +- .../gui/class-use/WebfluxConfig.html | 8 +- .../AbstractMeasurementController.html | 10 +- .../gui/controllers/AutoCompleteCombo.html | 10 +- .../BaseSpectraPlotController.html | 10 +- .../CodaParamLoadingController.html | 10 +- .../gui/controllers/DataController.html | 10 +- .../EnvelopeLoadingController.html | 10 +- .../gui/controllers/EventTabController.html | 10 +- .../gui/controllers/EventTableController.html | 10 +- .../controllers/FilterDialogController.html | 10 +- .../controllers/MapListeningController.html | 8 +- .../controllers/MeasuredMwsController.html | 10 +- .../gui/controllers/PathController.html | 10 +- .../ReferenceEventLoadingController.html | 10 +- .../controllers/RefreshableController.html | 8 +- .../ScreenshotEnabledController.html | 8 +- .../gui/controllers/ShapeController.html | 10 +- .../gui/controllers/SiteController.html | 10 +- .../controllers/SpectraPlotController.html | 10 +- .../SpectraRatioLoadingController.html | 418 ++++++ .../SpectraRatioPlotController.html | 10 +- .../AbstractMeasurementController.html | 8 +- .../class-use/AutoCompleteCombo.html | 8 +- .../class-use/BaseSpectraPlotController.html | 8 +- .../class-use/CodaParamLoadingController.html | 11 +- .../controllers/class-use/DataController.html | 11 +- .../class-use/EnvelopeLoadingController.html | 11 +- .../class-use/EventTabController.html | 8 +- .../class-use/EventTableController.html | 11 +- .../class-use/FilterDialogController.html | 8 +- .../class-use/MapListeningController.html | 8 +- .../class-use/MeasuredMwsController.html | 11 +- .../controllers/class-use/PathController.html | 11 +- .../ReferenceEventLoadingController.html | 11 +- .../class-use/RefreshableController.html | 8 +- .../ScreenshotEnabledController.html | 8 +- .../class-use/ShapeController.html | 11 +- .../controllers/class-use/SiteController.html | 11 +- .../class-use/SpectraPlotController.html | 8 +- .../SpectraRatioLoadingController.html | 216 +++ .../class-use/SpectraRatioPlotController.html | 8 +- .../gui/controllers/package-summary.html | 12 +- .../gui/controllers/package-tree.html | 9 +- .../gui/controllers/package-use.html | 12 +- .../parameters/ModelController.html | 10 +- .../parameters/ParametersController.html | 10 +- .../ShapeConfigurationController.html | 10 +- .../parameters/SharedBandController.html | 10 +- .../parameters/SiteBandController.html | 10 +- .../VelocityConfigurationController.html | 10 +- .../parameters/class-use/ModelController.html | 8 +- .../class-use/ParametersController.html | 11 +- .../ShapeConfigurationController.html | 8 +- .../class-use/SharedBandController.html | 8 +- .../class-use/SiteBandController.html | 8 +- .../VelocityConfigurationController.html | 8 +- .../parameters/package-summary.html | 8 +- .../controllers/parameters/package-tree.html | 8 +- .../controllers/parameters/package-use.html | 8 +- .../api/FileToParameterConverter.html | 8 +- .../api/FileToReferenceEventConverter.html | 8 +- .../class-use/FileToParameterConverter.html | 8 +- .../FileToReferenceEventConverter.html | 8 +- .../gui/converters/api/package-summary.html | 8 +- .../gui/converters/api/package-tree.html | 8 +- .../gui/converters/api/package-use.html | 8 +- .../converters/param/CodaJsonParamLoader.html | 10 +- .../converters/param/CodaParamFileLoader.html | 10 +- .../converters/param/MdacFiFileLoader.html | 10 +- .../converters/param/MdacPsFileLoader.html | 10 +- .../gui/converters/param/RawGeoJSON.html | 10 +- .../param/ReferenceEventLoader.html | 10 +- .../param/SpectralRatioProjectLoader.html | 308 +++++ .../param/class-use/CodaJsonParamLoader.html | 8 +- .../param/class-use/CodaParamFileLoader.html | 8 +- .../param/class-use/MdacFiFileLoader.html | 8 +- .../param/class-use/MdacPsFileLoader.html | 8 +- .../param/class-use/RawGeoJSON.html | 8 +- .../param/class-use/ReferenceEventLoader.html | 8 +- .../class-use/SpectralRatioProjectLoader.html | 150 +++ .../gui/converters/param/package-summary.html | 12 +- .../gui/converters/param/package-tree.html | 9 +- .../gui/converters/param/package-use.html | 8 +- .../converters/ratios/SpectraRatioLoader.html | 309 +++++ .../ratios/class-use/SpectraRatioLoader.html | 195 +++ .../converters/ratios/package-summary.html | 168 +++ .../gui/converters/ratios/package-tree.html | 165 +++ .../gui/converters/ratios/package-use.html | 185 +++ .../sac/CodaStackedSacFileLoader.html | 10 +- .../class-use/CodaStackedSacFileLoader.html | 8 +- .../gui/converters/sac/package-summary.html | 8 +- .../gui/converters/sac/package-tree.html | 8 +- .../gui/converters/sac/package-use.html | 8 +- .../gui/data/client/CalibrationWebClient.html | 10 +- .../gui/data/client/EventWebClient.html | 10 +- .../gui/data/client/ParameterWebClient.html | 10 +- .../data/client/PeakVelocityWebClient.html | 10 +- .../client/ShapeMeasurementWebClient.html | 10 +- .../data/client/SpectraRatioWebClient.html | 90 +- .../gui/data/client/SpectraWebClient.html | 10 +- .../data/client/api/CalibrationClient.html | 8 +- .../client/api/CalibrationJsonConstants.html | 10 +- .../gui/data/client/api/EventClient.html | 8 +- .../gui/data/client/api/ParameterClient.html | 8 +- .../data/client/api/PeakVelocityClient.html | 8 +- .../client/api/ShapeMeasurementClient.html | 8 +- .../gui/data/client/api/SpectraClient.html | 8 +- .../data/client/api/SpectraRatioClient.html | 72 +- .../api/class-use/CalibrationClient.html | 11 +- .../class-use/CalibrationJsonConstants.html | 8 +- .../client/api/class-use/EventClient.html | 11 +- .../client/api/class-use/ParameterClient.html | 21 +- .../api/class-use/PeakVelocityClient.html | 18 +- .../api/class-use/ShapeMeasurementClient.html | 18 +- .../client/api/class-use/SpectraClient.html | 14 +- .../api/class-use/SpectraRatioClient.html | 46 +- .../gui/data/client/api/package-summary.html | 8 +- .../gui/data/client/api/package-tree.html | 8 +- .../gui/data/client/api/package-use.html | 12 +- .../class-use/CalibrationWebClient.html | 8 +- .../data/client/class-use/EventWebClient.html | 8 +- .../client/class-use/ParameterWebClient.html | 8 +- .../class-use/PeakVelocityWebClient.html | 8 +- .../class-use/ShapeMeasurementWebClient.html | 8 +- .../class-use/SpectraRatioWebClient.html | 8 +- .../client/class-use/SpectraWebClient.html | 8 +- .../gui/data/client/package-summary.html | 8 +- .../gui/data/client/package-tree.html | 8 +- .../gui/data/client/package-use.html | 8 +- .../data/exporters/JsonTempFileWriter.html | 50 +- .../gui/data/exporters/ParamExporter.html | 10 +- .../data/exporters/SpectraRatioExporter.html | 38 +- .../exporters/SwftStyleParamFileWriter.html | 10 +- .../VelocityConfigurationFileMixin.html | 10 +- .../api/MeasuredMwTempFileWriter.html | 8 +- .../exporters/api/ParamTempFileWriter.html | 8 +- .../api/ReferenceMwTempFileWriter.html | 8 +- .../api/SpectraRatioTempFileWriter.html | 38 +- .../exporters/api/SpectraTempFileWriter.html | 8 +- .../api/ValidationMwTempFileWriter.html | 8 +- .../class-use/MeasuredMwTempFileWriter.html | 8 +- .../api/class-use/ParamTempFileWriter.html | 8 +- .../class-use/ReferenceMwTempFileWriter.html | 8 +- .../class-use/SpectraRatioTempFileWriter.html | 8 +- .../api/class-use/SpectraTempFileWriter.html | 8 +- .../class-use/ValidationMwTempFileWriter.html | 8 +- .../data/exporters/api/package-summary.html | 8 +- .../gui/data/exporters/api/package-tree.html | 8 +- .../gui/data/exporters/api/package-use.html | 8 +- .../class-use/JsonTempFileWriter.html | 8 +- .../exporters/class-use/ParamExporter.html | 11 +- .../class-use/SpectraRatioExporter.html | 38 +- .../class-use/SwftStyleParamFileWriter.html | 8 +- .../VelocityConfigurationFileMixin.html | 8 +- .../gui/data/exporters/package-summary.html | 8 +- .../gui/data/exporters/package-tree.html | 8 +- .../gui/data/exporters/package-use.html | 12 +- .../events/CalibrationStageShownEvent.html | 10 +- .../gui/events/MapIconActivationCallback.html | 14 +- .../gui/events/MapPolygonChangeHandler.html | 14 +- .../MeasurementsWindowEvent.EventType.html | 12 +- .../gui/events/MeasurementsWindowEvent.html | 10 +- .../gui/events/ParametersLoadedEvent.html | 10 +- .../gui/events/UpdateMapPolygonEvent.html | 10 +- .../class-use/CalibrationStageShownEvent.html | 8 +- .../class-use/MapIconActivationCallback.html | 8 +- .../class-use/MapPolygonChangeHandler.html | 8 +- .../MeasurementsWindowEvent.EventType.html | 8 +- .../class-use/MeasurementsWindowEvent.html | 8 +- .../class-use/ParametersLoadedEvent.html | 8 +- .../class-use/UpdateMapPolygonEvent.html | 8 +- .../gui/events/package-summary.html | 8 +- .../calibration/gui/events/package-tree.html | 8 +- .../calibration/gui/events/package-use.html | 8 +- .../coda/calibration/gui/package-summary.html | 8 +- .../coda/calibration/gui/package-tree.html | 8 +- .../coda/calibration/gui/package-use.html | 8 +- .../gui/plotting/BasicWaveformPlot.html | 12 +- .../plotting/CertLeafletMapController.html | 100 +- .../gui/plotting/CodaWaveformPlot.html | 12 +- .../gui/plotting/CodaWaveformPlotManager.html | 20 +- .../LeafletMap.IconCallbackHandler.html | 10 +- ...afletMap.PolygonChangeCallbackHandler.html | 10 +- .../calibration/gui/plotting/LeafletMap.html | 48 +- .../gui/plotting/LeafletMapController.html | 56 +- .../gui/plotting/LeafletShapeFactory.html | 10 +- .../gui/plotting/MapPlottingUtilities.html | 10 +- .../gui/plotting/PlotlyPlotFactory.html | 74 +- .../gui/plotting/RatioDetailPlot.html | 12 +- .../RatioMeasurementSpectraPlotManager.html | 40 +- .../RatioMeasurementWaveformPlotManager.html | 18 +- .../gui/plotting/RatioMeasurementsGui.html | 10 +- .../gui/plotting/SpectraPlotManager.html | 10 +- .../gui/plotting/SpectralPlot.html | 128 +- .../calibration/gui/plotting/WaveformGui.html | 20 +- .../plotting/class-use/BasicWaveformPlot.html | 8 +- .../class-use/CertLeafletMapController.html | 71 +- .../plotting/class-use/CodaWaveformPlot.html | 8 +- .../class-use/CodaWaveformPlotManager.html | 8 +- .../LeafletMap.IconCallbackHandler.html | 8 +- ...afletMap.PolygonChangeCallbackHandler.html | 8 +- .../gui/plotting/class-use/LeafletMap.html | 8 +- .../class-use/LeafletMapController.html | 52 +- .../class-use/LeafletShapeFactory.html | 8 +- .../class-use/MapPlottingUtilities.html | 24 +- .../plotting/class-use/PlotlyPlotFactory.html | 8 +- .../plotting/class-use/RatioDetailPlot.html | 8 +- .../RatioMeasurementSpectraPlotManager.html | 8 +- .../RatioMeasurementWaveformPlotManager.html | 8 +- .../class-use/RatioMeasurementsGui.html | 8 +- .../class-use/SpectraPlotManager.html | 8 +- .../gui/plotting/class-use/SpectralPlot.html | 8 +- .../gui/plotting/class-use/WaveformGui.html | 11 +- .../gui/plotting/package-summary.html | 8 +- .../gui/plotting/package-tree.html | 8 +- .../calibration/gui/plotting/package-use.html | 39 +- .../gui/util/CalibrationProgressListener.html | 10 +- .../calibration/gui/util/FileDialogs.html | 10 +- .../gui/util/TextWrappingTableCell.html | 10 +- .../gui/util/TimeLatchedGetSet.html | 10 +- .../CalibrationProgressListener.html | 8 +- .../gui/util/class-use/FileDialogs.html | 8 +- .../util/class-use/TextWrappingTableCell.html | 8 +- .../gui/util/class-use/TimeLatchedGetSet.html | 8 +- .../calibration/gui/util/package-summary.html | 8 +- .../calibration/gui/util/package-tree.html | 8 +- .../calibration/gui/util/package-use.html | 8 +- .../calibration/model/domain/EnvelopeFit.html | 16 +- .../model/domain/EventSpectraReport.html | 14 +- .../model/domain/GeoJsonPolygon.html | 16 +- ...ctedCalibrationShapeFitterConstraints.html | 10 +- .../model/domain/InjectedVelocityConfig.html | 10 +- .../model/domain/MdacParametersFI.html | 16 +- .../model/domain/MdacParametersPS.html | 12 +- .../model/domain/MeasuredMwDetails.html | 16 +- .../model/domain/MeasuredMwParameters.html | 16 +- .../model/domain/MeasuredMwReportByEvent.html | 16 +- .../model/domain/MeasurementJob.html | 10 +- .../model/domain/MwOptimizerMeasurement.html | 16 +- .../domain/PathCalibrationMeasurement.html | 16 +- .../model/domain/PeakVelocityMeasurement.html | 16 +- .../PeakVelocityMeasurementMetadata.html | 8 +- .../domain/RatioOptimizerMeasurement.html | 458 +++++++ .../model/domain/ReferenceMwParameters.html | 16 +- .../model/domain/ShapeFitterConstraints.html | 16 +- .../model/domain/ShapeMeasurement.html | 16 +- .../domain/ShapeMeasurementMetadata.html | 8 +- .../model/domain/SiteCorrections.html | 10 +- .../domain/SiteFrequencyBandParameters.html | 16 +- .../calibration/model/domain/Spectra.html | 16 +- .../model/domain/SpectraMeasurement.html | 16 +- .../domain/SpectraMeasurementMetadata.html | 8 +- .../SpectraMeasurementMetadataImpl.html | 10 +- .../model/domain/ValidationMwParameters.html | 16 +- .../model/domain/VelocityConfiguration.html | 16 +- .../model/domain/WaveformMetadataImpl.html | 10 +- .../model/domain/class-use/EnvelopeFit.html | 8 +- .../domain/class-use/EventSpectraReport.html | 8 +- .../domain/class-use/GeoJsonPolygon.html | 8 +- ...ctedCalibrationShapeFitterConstraints.html | 8 +- .../class-use/InjectedVelocityConfig.html | 8 +- .../domain/class-use/MdacParametersFI.html | 8 +- .../domain/class-use/MdacParametersPS.html | 8 +- .../domain/class-use/MeasuredMwDetails.html | 43 +- .../class-use/MeasuredMwParameters.html | 8 +- .../class-use/MeasuredMwReportByEvent.html | 8 +- .../domain/class-use/MeasurementJob.html | 8 +- .../class-use/MwOptimizerMeasurement.html | 8 +- .../class-use/PathCalibrationMeasurement.html | 8 +- .../class-use/PeakVelocityMeasurement.html | 8 +- .../PeakVelocityMeasurementMetadata.html | 8 +- .../class-use/RatioOptimizerMeasurement.html | 150 +++ .../class-use/ReferenceMwParameters.html | 8 +- .../class-use/ShapeFitterConstraints.html | 8 +- .../domain/class-use/ShapeMeasurement.html | 8 +- .../class-use/ShapeMeasurementMetadata.html | 8 +- .../domain/class-use/SiteCorrections.html | 8 +- .../SiteFrequencyBandParameters.html | 8 +- .../model/domain/class-use/Spectra.html | 8 +- .../domain/class-use/SpectraMeasurement.html | 8 +- .../class-use/SpectraMeasurementMetadata.html | 8 +- .../SpectraMeasurementMetadataImpl.html | 8 +- .../class-use/ValidationMwParameters.html | 8 +- .../class-use/VelocityConfiguration.html | 8 +- .../class-use/WaveformMetadataImpl.html | 8 +- .../model/domain/mixins/MdacFiFileMixin.html | 10 +- .../model/domain/mixins/MdacPsFileMixin.html | 10 +- .../ReferenceMwParametersFileMixin.html | 10 +- .../ShapeFitterConstraintsFileMixin.html | 10 +- ...haredFrequencyBandParametersFileMixin.html | 10 +- ...haredFrequencyBandParametersJsonMixin.html | 10 +- .../SiteFrequencyBandParametersFileMixin.html | 10 +- .../SiteFrequencyBandParametersJsonMixin.html | 10 +- .../SpectraRatioPairDetailsMetadataMixin.html | 270 ++++ .../ValidationMwParametersFileMixin.html | 10 +- .../domain/mixins/WaveformMetadataMixin.html | 270 ++++ .../domain/mixins/WaveformPickMixin.html | 270 ++++ .../mixins/class-use/MdacFiFileMixin.html | 8 +- .../mixins/class-use/MdacPsFileMixin.html | 8 +- .../ReferenceMwParametersFileMixin.html | 8 +- .../ShapeFitterConstraintsFileMixin.html | 8 +- ...haredFrequencyBandParametersFileMixin.html | 8 +- ...haredFrequencyBandParametersJsonMixin.html | 8 +- .../SiteFrequencyBandParametersFileMixin.html | 8 +- .../SiteFrequencyBandParametersJsonMixin.html | 8 +- .../SpectraRatioPairDetailsMetadataMixin.html | 150 +++ .../ValidationMwParametersFileMixin.html | 8 +- .../class-use/WaveformMetadataMixin.html | 150 +++ .../mixins/class-use/WaveformPickMixin.html | 150 +++ .../model/domain/mixins/package-summary.html | 20 +- .../model/domain/mixins/package-tree.html | 11 +- .../model/domain/mixins/package-use.html | 8 +- .../model/domain/package-summary.html | 32 +- .../model/domain/package-tree.html | 9 +- .../calibration/model/domain/package-use.html | 41 +- .../BandParametersDataChangeEvent.html | 16 +- .../CalibrationStatusEvent.Status.html | 12 +- .../messaging/CalibrationStatusEvent.html | 16 +- .../model/messaging/GvDataChangeEvent.html | 16 +- .../model/messaging/MdacDataChangeEvent.html | 16 +- .../MeasurementStatusEvent.Status.html | 12 +- .../messaging/MeasurementStatusEvent.html | 16 +- .../messaging/RatioMeasurementEvent.html | 16 +- .../messaging/RatioStatusEvent.Status.html | 12 +- .../model/messaging/RatioStatusEvent.html | 16 +- .../ShapeConstraintsChangeEvent.html | 16 +- .../BandParametersDataChangeEvent.html | 8 +- .../CalibrationStatusEvent.Status.html | 8 +- .../class-use/CalibrationStatusEvent.html | 8 +- .../class-use/GvDataChangeEvent.html | 8 +- .../class-use/MdacDataChangeEvent.html | 8 +- .../MeasurementStatusEvent.Status.html | 8 +- .../class-use/MeasurementStatusEvent.html | 8 +- .../class-use/RatioMeasurementEvent.html | 8 +- .../class-use/RatioStatusEvent.Status.html | 8 +- .../messaging/class-use/RatioStatusEvent.html | 8 +- .../ShapeConstraintsChangeEvent.html | 8 +- .../model/messaging/package-summary.html | 8 +- .../model/messaging/package-tree.html | 8 +- .../model/messaging/package-use.html | 8 +- .../coda/calibration/package-summary.html | 8 +- .../apps/coda/calibration/package-tree.html | 8 +- .../apps/coda/calibration/package-use.html | 8 +- ...ationShapeFitterConstraintsRepository.html | 8 +- .../MdacParametersFiRepository.html | 8 +- .../MdacParametersPsRepository.html | 8 +- .../repository/MeasuredMwsRepository.html | 8 +- .../PathCalibrationMeasurementRepository.html | 8 +- .../PeakVelocityMeasurementRepository.html | 8 +- .../repository/PolygonRepository.html | 8 +- .../ReferenceMwParametersRepository.html | 8 +- .../ShapeMeasurementRepository.html | 8 +- ...aredFrequencyBandParametersRepository.html | 8 +- ...SiteFrequencyBandParametersRepository.html | 8 +- .../SpectraMeasurementRepository.html | 8 +- ...raRatioJointInversionSampleRepository.html | 8 +- .../SpectraRatioPairDetailsRepository.html | 107 +- ...traRatioPairInversionSampleRepository.html | 8 +- .../repository/SyntheticRepository.html | 8 +- .../ValidationMwParametersRepository.html | 8 +- .../VelocityConfigurationRepository.html | 8 +- ...ationShapeFitterConstraintsRepository.html | 8 +- .../class-use/MdacParametersFiRepository.html | 8 +- .../class-use/MdacParametersPsRepository.html | 8 +- .../class-use/MeasuredMwsRepository.html | 8 +- .../PathCalibrationMeasurementRepository.html | 8 +- .../PeakVelocityMeasurementRepository.html | 8 +- .../class-use/PolygonRepository.html | 8 +- .../ReferenceMwParametersRepository.html | 8 +- .../class-use/ShapeMeasurementRepository.html | 8 +- ...aredFrequencyBandParametersRepository.html | 8 +- ...SiteFrequencyBandParametersRepository.html | 8 +- .../SpectraMeasurementRepository.html | 8 +- ...raRatioJointInversionSampleRepository.html | 8 +- .../SpectraRatioPairDetailsRepository.html | 8 +- ...traRatioPairInversionSampleRepository.html | 8 +- .../class-use/SyntheticRepository.html | 8 +- .../ValidationMwParametersRepository.html | 8 +- .../VelocityConfigurationRepository.html | 8 +- .../repository/package-summary.html | 8 +- .../calibration/repository/package-tree.html | 8 +- .../calibration/repository/package-use.html | 8 +- .../service/api/AutopickingService.html | 8 +- .../service/api/CalibrationService.html | 8 +- .../service/api/ConfigurationService.html | 8 +- .../service/api/DatabaseCleaningService.html | 8 +- .../service/api/EndTimePicker.html | 8 +- .../service/api/GeometryService.html | 8 +- .../service/api/MdacParametersFiService.html | 8 +- .../service/api/MdacParametersPsService.html | 8 +- .../service/api/MeasuredMwsService.html | 8 +- .../PathCalibrationMeasurementService.html | 8 +- .../service/api/PathCalibrationService.html | 8 +- .../api/PeakVelocityMeasurementService.html | 8 +- .../api/ReferenceMwParametersService.html | 8 +- .../service/api/ShapeCalibrationService.html | 8 +- .../service/api/ShapeMeasurementService.html | 8 +- .../SharedFrequencyBandParametersService.html | 8 +- .../service/api/SiteCalibrationService.html | 8 +- .../SiteFrequencyBandParametersService.html | 8 +- .../api/SpectraMeasurementService.html | 8 +- .../api/SpectraRatioPairDetailsService.html | 56 +- ...pectraRatioPairInversionSampleService.html | 8 +- .../api/SyntheticCodaGenerationService.html | 8 +- .../service/api/SyntheticService.html | 8 +- .../api/ValidationMwParametersService.html | 8 +- .../api/class-use/AutopickingService.html | 8 +- .../api/class-use/CalibrationService.html | 8 +- .../api/class-use/ConfigurationService.html | 8 +- .../class-use/DatabaseCleaningService.html | 8 +- .../service/api/class-use/EndTimePicker.html | 8 +- .../api/class-use/GeometryService.html | 8 +- .../class-use/MdacParametersFiService.html | 8 +- .../class-use/MdacParametersPsService.html | 8 +- .../api/class-use/MeasuredMwsService.html | 8 +- .../PathCalibrationMeasurementService.html | 8 +- .../api/class-use/PathCalibrationService.html | 8 +- .../PeakVelocityMeasurementService.html | 8 +- .../ReferenceMwParametersService.html | 8 +- .../class-use/ShapeCalibrationService.html | 8 +- .../class-use/ShapeMeasurementService.html | 8 +- .../SharedFrequencyBandParametersService.html | 8 +- .../api/class-use/SiteCalibrationService.html | 8 +- .../SiteFrequencyBandParametersService.html | 8 +- .../class-use/SpectraMeasurementService.html | 8 +- .../SpectraRatioPairDetailsService.html | 8 +- ...pectraRatioPairInversionSampleService.html | 8 +- .../SyntheticCodaGenerationService.html | 8 +- .../api/class-use/SyntheticService.html | 8 +- .../ValidationMwParametersService.html | 8 +- .../service/api/package-summary.html | 8 +- .../calibration/service/api/package-tree.html | 8 +- .../calibration/service/api/package-use.html | 8 +- .../service/impl/AutopickingServiceImpl.html | 10 +- .../service/impl/CalibrationServiceImpl.html | 10 +- .../service/impl/ConcurrencyUtils.html | 10 +- .../impl/ConfigurationServiceImpl.html | 10 +- .../impl/DatabaseCleaningServiceImpl.html | 10 +- .../service/impl/GeometryServiceImpl.html | 10 +- .../service/impl/Joint1DPathCorrection.html | 10 +- .../impl/MdacParametersFiServiceImpl.html | 10 +- .../impl/MdacParametersPsServiceImpl.html | 10 +- .../service/impl/MeasuredMwsServiceImpl.html | 10 +- ...PathCalibrationMeasurementServiceImpl.html | 10 +- .../PeakVelocityMeasurementServiceImpl.html | 10 +- .../ReferenceMwParametersServiceImpl.html | 10 +- .../service/impl/ServiceConfig.html | 10 +- .../impl/ShapeCalibrationServiceImpl.html | 10 +- .../impl/ShapeMeasurementServiceImpl.html | 10 +- ...redFrequencyBandParametersServiceImpl.html | 10 +- .../impl/SiteCalibrationServiceImpl.html | 10 +- ...iteFrequencyBandParametersServiceImpl.html | 10 +- .../impl/SpectraMeasurementServiceImpl.html | 10 +- .../service/impl/SpectraRatioServiceImpl.html | 85 +- .../SyntheticCodaGenerationServiceImpl.html | 10 +- .../service/impl/SyntheticServiceImpl.html | 10 +- .../ValidationMwParametersServiceImpl.html | 10 +- .../class-use/AutopickingServiceImpl.html | 8 +- .../class-use/CalibrationServiceImpl.html | 8 +- .../impl/class-use/ConcurrencyUtils.html | 8 +- .../class-use/ConfigurationServiceImpl.html | 8 +- .../DatabaseCleaningServiceImpl.html | 8 +- .../impl/class-use/GeometryServiceImpl.html | 8 +- .../impl/class-use/Joint1DPathCorrection.html | 8 +- .../MdacParametersFiServiceImpl.html | 8 +- .../MdacParametersPsServiceImpl.html | 8 +- .../class-use/MeasuredMwsServiceImpl.html | 8 +- ...PathCalibrationMeasurementServiceImpl.html | 8 +- .../PeakVelocityMeasurementServiceImpl.html | 8 +- .../ReferenceMwParametersServiceImpl.html | 8 +- .../service/impl/class-use/ServiceConfig.html | 8 +- .../ShapeCalibrationServiceImpl.html | 8 +- .../ShapeMeasurementServiceImpl.html | 8 +- ...redFrequencyBandParametersServiceImpl.html | 8 +- .../class-use/SiteCalibrationServiceImpl.html | 8 +- ...iteFrequencyBandParametersServiceImpl.html | 8 +- .../SpectraMeasurementServiceImpl.html | 8 +- .../class-use/SpectraRatioServiceImpl.html | 8 +- .../SyntheticCodaGenerationServiceImpl.html | 8 +- .../impl/class-use/SyntheticServiceImpl.html | 8 +- .../ValidationMwParametersServiceImpl.html | 8 +- .../service/impl/package-summary.html | 8 +- .../service/impl/package-tree.html | 8 +- .../calibration/service/impl/package-use.html | 8 +- .../CalibrationCurveFitter.GridFitter.html | 8 +- .../processing/CalibrationCurveFitter.html | 10 +- .../impl/processing/CodaSNREndTimePicker.html | 10 +- .../service/impl/processing/EnergyInfo.html | 12 +- .../processing/MaxVelocityCalculator.html | 10 +- .../impl/processing/MdacCalculator.html | 10 +- .../processing/MdacCalculatorService.html | 10 +- .../processing/MwMeasurementInputData.html | 10 +- .../processing/PathCostFunctionResult.html | 16 +- .../impl/processing/ShapeCalculator.html | 10 +- .../impl/processing/SpectraCalculator.html | 14 +- .../SpectraRatioInversionCalculator.html | 26 +- .../impl/processing/SyntheticCodaModel.html | 10 +- .../CalibrationCurveFitter.GridFitter.html | 8 +- .../class-use/CalibrationCurveFitter.html | 8 +- .../class-use/CodaSNREndTimePicker.html | 8 +- .../impl/processing/class-use/EnergyInfo.html | 8 +- .../class-use/MaxVelocityCalculator.html | 8 +- .../processing/class-use/MdacCalculator.html | 8 +- .../class-use/MdacCalculatorService.html | 8 +- .../class-use/MwMeasurementInputData.html | 8 +- .../class-use/PathCostFunctionResult.html | 8 +- .../processing/class-use/ShapeCalculator.html | 8 +- .../class-use/SpectraCalculator.html | 8 +- .../SpectraRatioInversionCalculator.html | 8 +- .../class-use/SyntheticCodaModel.html | 8 +- .../impl/processing/package-summary.html | 8 +- .../service/impl/processing/package-tree.html | 8 +- .../service/impl/processing/package-use.html | 8 +- .../standalone/CodaCalibrationStandalone.html | 10 +- .../class-use/CodaCalibrationStandalone.html | 8 +- .../data/client/CalibrationLocalClient.html | 10 +- .../data/client/EventLocalClient.html | 10 +- .../data/client/ParameterLocalClient.html | 10 +- .../data/client/PeakVelocityLocalClient.html | 10 +- .../client/ShapeMeasurementLocalClient.html | 10 +- .../data/client/SpectraLocalClient.html | 10 +- .../data/client/SpectraRatioLocalClient.html | 90 +- .../data/client/WaveformLocalClient.html | 10 +- .../class-use/CalibrationLocalClient.html | 8 +- .../client/class-use/EventLocalClient.html | 8 +- .../class-use/ParameterLocalClient.html | 8 +- .../class-use/PeakVelocityLocalClient.html | 8 +- .../ShapeMeasurementLocalClient.html | 8 +- .../client/class-use/SpectraLocalClient.html | 8 +- .../class-use/SpectraRatioLocalClient.html | 8 +- .../client/class-use/WaveformLocalClient.html | 8 +- .../data/client/package-summary.html | 8 +- .../standalone/data/client/package-tree.html | 8 +- .../standalone/data/client/package-use.html | 8 +- .../standalone/package-summary.html | 8 +- .../calibration/standalone/package-tree.html | 8 +- .../calibration/standalone/package-use.html | 8 +- .../application/config/WebSocketConfig.html | 10 +- .../config/class-use/WebSocketConfig.html | 8 +- .../application/config/package-summary.html | 8 +- .../application/config/package-tree.html | 8 +- .../application/config/package-use.html | 8 +- .../web/BasicNotificationStompController.html | 10 +- .../web/TypingMessageTemplate.html | 10 +- ...WaveformPicksCollectionJsonController.html | 10 +- .../web/WaveformPicksItemJsonController.html | 10 +- .../WaveformsCollectionJsonController.html | 10 +- .../web/WaveformsItemJsonController.html | 10 +- .../BasicNotificationStompController.html | 8 +- .../web/class-use/TypingMessageTemplate.html | 8 +- ...WaveformPicksCollectionJsonController.html | 8 +- .../WaveformPicksItemJsonController.html | 8 +- .../WaveformsCollectionJsonController.html | 8 +- .../WaveformsItemJsonController.html | 8 +- .../application/web/package-summary.html | 8 +- .../common/application/web/package-tree.html | 8 +- .../common/application/web/package-use.html | 8 +- .../coda/common/gui/FXMLLoaderBuilder.html | 10 +- .../coda/common/gui/SimpleGuiPreloader.html | 10 +- .../apps/coda/common/gui/WebclientConfig.html | 10 +- .../gui/class-use/FXMLLoaderBuilder.html | 8 +- .../gui/class-use/SimpleGuiPreloader.html | 8 +- .../common/gui/class-use/WebclientConfig.html | 8 +- .../AbstractSeismogramSaveLoadController.html | 10 +- .../controllers/FailureReportController.html | 10 +- .../common/gui/controllers/ProgressGui.html | 10 +- .../AbstractSeismogramSaveLoadController.html | 8 +- .../class-use/FailureReportController.html | 8 +- .../controllers/class-use/ProgressGui.html | 8 +- .../gui/controllers/package-summary.html | 8 +- .../common/gui/controllers/package-tree.html | 8 +- .../common/gui/controllers/package-use.html | 8 +- .../converters/api/CodaFilenameParser.html | 8 +- .../api/FileToEnvelopeConverter.html | 8 +- .../api/FileToSeismogramConverter.html | 8 +- .../api/FileToWaveformConverter.html | 8 +- .../common/gui/converters/api/StackInfo.html | 10 +- .../api/class-use/CodaFilenameParser.html | 8 +- .../class-use/FileToEnvelopeConverter.html | 8 +- .../class-use/FileToSeismogramConverter.html | 8 +- .../class-use/FileToWaveformConverter.html | 8 +- .../converters/api/class-use/StackInfo.html | 8 +- .../gui/converters/api/package-summary.html | 8 +- .../gui/converters/api/package-tree.html | 8 +- .../gui/converters/api/package-use.html | 8 +- .../sac/CodaFilenameParserImpl.html | 10 +- .../gui/converters/sac/SacExporter.html | 10 +- .../common/gui/converters/sac/SacLoader.html | 10 +- .../sac/class-use/CodaFilenameParserImpl.html | 8 +- .../converters/sac/class-use/SacExporter.html | 8 +- .../converters/sac/class-use/SacLoader.html | 8 +- .../gui/converters/sac/package-summary.html | 8 +- .../gui/converters/sac/package-tree.html | 8 +- .../gui/converters/sac/package-use.html | 8 +- .../gui/data/client/CodaWebClientBuilder.html | 10 +- .../gui/data/client/EventBusBuilder.html | 10 +- .../client/EventBusStompSessionHandler.html | 10 +- .../gui/data/client/WaveformWebClient.html | 10 +- .../gui/data/client/api/WaveformClient.html | 8 +- .../client/api/class-use/WaveformClient.html | 21 +- .../gui/data/client/api/package-summary.html | 8 +- .../gui/data/client/api/package-tree.html | 8 +- .../gui/data/client/api/package-use.html | 8 +- .../class-use/CodaWebClientBuilder.html | 8 +- .../client/class-use/EventBusBuilder.html | 8 +- .../EventBusStompSessionHandler.html | 8 +- .../client/class-use/WaveformWebClient.html | 8 +- .../gui/data/client/package-summary.html | 8 +- .../common/gui/data/client/package-tree.html | 8 +- .../common/gui/data/client/package-use.html | 8 +- .../gui/events/EnvelopeLoadCompleteEvent.html | 10 +- .../gui/events/EnvelopeLoadStartingEvent.html | 10 +- .../gui/events/ShowFailureReportEvent.html | 10 +- .../gui/events/SocketDisconnectEvent.html | 10 +- .../gui/events/WaveformSelectionEvent.html | 10 +- .../class-use/EnvelopeLoadCompleteEvent.html | 8 +- .../class-use/EnvelopeLoadStartingEvent.html | 8 +- .../class-use/ShowFailureReportEvent.html | 8 +- .../class-use/SocketDisconnectEvent.html | 8 +- .../class-use/WaveformSelectionEvent.html | 8 +- .../common/gui/events/package-summary.html | 8 +- .../coda/common/gui/events/package-tree.html | 8 +- .../coda/common/gui/events/package-use.html | 8 +- .../apps/coda/common/gui/package-summary.html | 8 +- .../apps/coda/common/gui/package-tree.html | 8 +- .../apps/coda/common/gui/package-use.html | 8 +- .../common/gui/plotting/LabeledPlotPoint.html | 10 +- .../coda/common/gui/plotting/PlotPoint.html | 16 +- .../gui/plotting/SymbolStyleMapFactory.html | 10 +- .../plotting/class-use/LabeledPlotPoint.html | 8 +- .../gui/plotting/class-use/PlotPoint.html | 11 +- .../class-use/SymbolStyleMapFactory.html | 11 +- .../common/gui/plotting/package-summary.html | 8 +- .../common/gui/plotting/package-tree.html | 8 +- .../coda/common/gui/plotting/package-use.html | 8 +- .../common/gui/util/CellBindingUtils.html | 10 +- .../apps/coda/common/gui/util/ClickUtils.html | 10 +- .../common/gui/util/CombinedTrustManager.html | 16 +- .../coda/common/gui/util/CommonGuiUtils.html | 10 +- .../gui/util/DoubleWrappingEventHandler.html | 10 +- .../util/EventStaFreqStringComparator.html | 14 +- .../gui/util/HiddenHeaderTableView.html | 10 +- .../gui/util/IntegerWrappingEventHandler.html | 10 +- .../util/MaybeNumericStringComparator.html | 14 +- .../common/gui/util/NumberFormatFactory.html | 10 +- .../util/PassFailEventProgressListener.html | 10 +- .../util/ProgressEventProgressListener.html | 10 +- .../common/gui/util/ProgressListener.html | 10 +- .../coda/common/gui/util/ProgressMonitor.html | 12 +- .../coda/common/gui/util/SnapshotUtils.html | 10 +- .../apps/coda/common/gui/util/SslUtils.html | 10 +- .../apps/coda/common/gui/util/TableUtils.html | 10 +- .../common/gui/util/WrappingEventHandler.html | 10 +- .../gui/util/class-use/CellBindingUtils.html | 8 +- .../common/gui/util/class-use/ClickUtils.html | 8 +- .../util/class-use/CombinedTrustManager.html | 8 +- .../gui/util/class-use/CommonGuiUtils.html | 8 +- .../class-use/DoubleWrappingEventHandler.html | 8 +- .../EventStaFreqStringComparator.html | 8 +- .../util/class-use/HiddenHeaderTableView.html | 8 +- .../IntegerWrappingEventHandler.html | 8 +- .../MaybeNumericStringComparator.html | 8 +- .../util/class-use/NumberFormatFactory.html | 8 +- .../PassFailEventProgressListener.html | 8 +- .../ProgressEventProgressListener.html | 8 +- .../gui/util/class-use/ProgressListener.html | 8 +- .../gui/util/class-use/ProgressMonitor.html | 38 +- .../gui/util/class-use/SnapshotUtils.html | 8 +- .../common/gui/util/class-use/SslUtils.html | 8 +- .../common/gui/util/class-use/TableUtils.html | 8 +- .../util/class-use/WrappingEventHandler.html | 8 +- .../coda/common/gui/util/package-summary.html | 8 +- .../coda/common/gui/util/package-tree.html | 8 +- .../coda/common/gui/util/package-use.html | 12 +- .../apps/coda/common/mapping/LeafletIcon.html | 10 +- .../apps/coda/common/mapping/LeafletLine.html | 16 +- .../mapping/MAP_CALLBACK_EVENT_TYPE.html | 12 +- .../coda/common/mapping/MapCallbackEvent.html | 10 +- .../coda/common/mapping/MapProperties.html | 10 +- .../common/mapping/StaticHtmlLeafletMap.html | 10 +- .../common/mapping/WMSLayerDescriptor.html | 16 +- .../apps/coda/common/mapping/api/GeoBox.html | 10 +- .../apps/coda/common/mapping/api/GeoMap.html | 38 +- .../coda/common/mapping/api/GeoShape.html | 8 +- .../common/mapping/api/GeoShapeFactory.html | 8 +- .../common/mapping/api/Icon.IconStyles.html | 12 +- .../common/mapping/api/Icon.IconTypes.html | 12 +- .../apps/coda/common/mapping/api/Icon.html | 8 +- .../apps/coda/common/mapping/api/Line.html | 8 +- .../coda/common/mapping/api/Location.html | 16 +- .../common/mapping/api/class-use/GeoBox.html | 8 +- .../common/mapping/api/class-use/GeoMap.html | 36 +- .../mapping/api/class-use/GeoShape.html | 8 +- .../api/class-use/GeoShapeFactory.html | 8 +- .../api/class-use/Icon.IconStyles.html | 8 +- .../mapping/api/class-use/Icon.IconTypes.html | 8 +- .../common/mapping/api/class-use/Icon.html | 44 +- .../common/mapping/api/class-use/Line.html | 8 +- .../mapping/api/class-use/Location.html | 8 +- .../common/mapping/api/package-summary.html | 8 +- .../coda/common/mapping/api/package-tree.html | 8 +- .../coda/common/mapping/api/package-use.html | 8 +- .../common/mapping/class-use/LeafletIcon.html | 8 +- .../common/mapping/class-use/LeafletLine.html | 8 +- .../class-use/MAP_CALLBACK_EVENT_TYPE.html | 8 +- .../mapping/class-use/MapCallbackEvent.html | 8 +- .../mapping/class-use/MapProperties.html | 8 +- .../class-use/StaticHtmlLeafletMap.html | 8 +- .../mapping/class-use/WMSLayerDescriptor.html | 8 +- .../coda/common/mapping/package-summary.html | 8 +- .../coda/common/mapping/package-tree.html | 8 +- .../apps/coda/common/mapping/package-use.html | 8 +- .../mapping/utils/LeafletToJavascript.html | 10 +- .../utils/class-use/LeafletToJavascript.html | 8 +- .../common/mapping/utils/package-summary.html | 8 +- .../common/mapping/utils/package-tree.html | 8 +- .../common/mapping/utils/package-use.html | 8 +- .../apps/coda/common/model/domain/Event.html | 16 +- .../common/model/domain/FrequencyBand.html | 18 +- .../apps/coda/common/model/domain/Pair.html | 16 +- .../coda/common/model/domain/Project.html | 10 +- .../domain/SharedFrequencyBandParameters.html | 16 +- .../coda/common/model/domain/Station.html | 16 +- .../apps/coda/common/model/domain/Stream.html | 16 +- .../common/model/domain/SyntheticCoda.html | 16 +- .../coda/common/model/domain/Waveform.html | 16 +- .../common/model/domain/WaveformMetadata.html | 8 +- .../common/model/domain/WaveformPick.html | 16 +- .../common/model/domain/class-use/Event.html | 28 +- .../model/domain/class-use/FrequencyBand.html | 15 +- .../common/model/domain/class-use/Pair.html | 8 +- .../model/domain/class-use/Project.html | 8 +- .../SharedFrequencyBandParameters.html | 8 +- .../model/domain/class-use/Station.html | 73 +- .../common/model/domain/class-use/Stream.html | 8 +- .../model/domain/class-use/SyntheticCoda.html | 8 +- .../model/domain/class-use/Waveform.html | 26 +- .../domain/class-use/WaveformMetadata.html | 107 +- .../model/domain/class-use/WaveformPick.html | 8 +- .../common/model/domain/package-summary.html | 8 +- .../common/model/domain/package-tree.html | 8 +- .../coda/common/model/domain/package-use.html | 22 +- .../common/model/messaging/PassFailEvent.html | 16 +- .../coda/common/model/messaging/Progress.html | 10 +- .../common/model/messaging/ProgressEvent.html | 16 +- .../coda/common/model/messaging/Result.html | 16 +- .../SpectraMeasurementChangeEvent.html | 16 +- .../model/messaging/WaveformChangeEvent.html | 16 +- .../messaging/class-use/PassFailEvent.html | 8 +- .../model/messaging/class-use/Progress.html | 8 +- .../messaging/class-use/ProgressEvent.html | 8 +- .../model/messaging/class-use/Result.html | 71 +- .../SpectraMeasurementChangeEvent.html | 8 +- .../class-use/WaveformChangeEvent.html | 8 +- .../model/messaging/package-summary.html | 8 +- .../common/model/messaging/package-tree.html | 8 +- .../common/model/messaging/package-use.html | 49 +- .../model/test/annotations/GuiTest.html | 8 +- .../model/test/annotations/IntTest.html | 8 +- .../test/annotations/class-use/GuiTest.html | 8 +- .../test/annotations/class-use/IntTest.html | 8 +- .../test/annotations/package-summary.html | 8 +- .../model/test/annotations/package-tree.html | 8 +- .../model/test/annotations/package-use.html | 8 +- .../apps/coda/common/model/util/Durable.html | 8 +- .../LightweightIllegalStateException.html | 14 +- .../common/model/util/MESSAGE_HEADERS.html | 10 +- .../coda/common/model/util/PICK_TYPES.html | 12 +- .../coda/common/model/util/SPECTRA_TYPES.html | 12 +- .../common/model/util/class-use/Durable.html | 8 +- .../LightweightIllegalStateException.html | 8 +- .../model/util/class-use/MESSAGE_HEADERS.html | 8 +- .../model/util/class-use/PICK_TYPES.html | 8 +- .../model/util/class-use/SPECTRA_TYPES.html | 8 +- .../common/model/util/package-summary.html | 8 +- .../coda/common/model/util/package-tree.html | 8 +- .../coda/common/model/util/package-use.html | 8 +- .../repository/DetachableJpaRepoImpl.html | 10 +- .../repository/DetachableJpaRepository.html | 8 +- .../repository/WaveformPickRepository.html | 8 +- .../common/repository/WaveformRepository.html | 8 +- .../class-use/DetachableJpaRepoImpl.html | 8 +- .../class-use/DetachableJpaRepository.html | 8 +- .../class-use/WaveformPickRepository.html | 8 +- .../class-use/WaveformRepository.html | 8 +- .../common/repository/package-summary.html | 8 +- .../coda/common/repository/package-tree.html | 8 +- .../coda/common/repository/package-use.html | 8 +- .../coda/common/service/api/BaseService.html | 8 +- .../coda/common/service/api/Listener.html | 8 +- .../service/api/NotificationService.html | 8 +- .../service/api/WaveformPickService.html | 8 +- .../common/service/api/WaveformService.html | 48 +- .../service/api/class-use/BaseService.html | 8 +- .../service/api/class-use/Listener.html | 8 +- .../api/class-use/NotificationService.html | 8 +- .../api/class-use/WaveformPickService.html | 8 +- .../api/class-use/WaveformService.html | 8 +- .../common/service/api/package-summary.html | 8 +- .../coda/common/service/api/package-tree.html | 8 +- .../coda/common/service/api/package-use.html | 8 +- .../service/impl/NotificationServiceImpl.html | 10 +- .../service/impl/WaveformPickServiceImpl.html | 10 +- .../service/impl/WaveformServiceImpl.html | 66 +- .../class-use/NotificationServiceImpl.html | 8 +- .../class-use/WaveformPickServiceImpl.html | 8 +- .../impl/class-use/WaveformServiceImpl.html | 8 +- .../common/service/impl/package-summary.html | 8 +- .../common/service/impl/package-tree.html | 8 +- .../coda/common/service/impl/package-use.html | 8 +- .../common/service/util/MetadataUtils.html | 10 +- .../util/WaveformToTimeSeriesConverter.html | 10 +- .../common/service/util/WaveformUtils.html | 10 +- .../service/util/class-use/MetadataUtils.html | 8 +- .../WaveformToTimeSeriesConverter.html | 8 +- .../service/util/class-use/WaveformUtils.html | 8 +- .../common/service/util/package-summary.html | 8 +- .../common/service/util/package-tree.html | 8 +- .../coda/common/service/util/package-use.html | 8 +- .../coda/common/util/NumberFormatFactory.html | 10 +- .../util/class-use/NumberFormatFactory.html | 8 +- .../coda/common/util/package-summary.html | 8 +- .../apps/coda/common/util/package-tree.html | 8 +- .../apps/coda/common/util/package-use.html | 8 +- .../web/EnvelopeJsonController.html | 10 +- .../web/EnvelopeParamsJsonController.html | 10 +- .../web/class-use/EnvelopeJsonController.html | 8 +- .../EnvelopeParamsJsonController.html | 8 +- .../application/web/package-summary.html | 8 +- .../application/web/package-tree.html | 8 +- .../envelope/application/web/package-use.html | 8 +- .../envelope/gui/EnvelopeGuiController.html | 10 +- .../envelope/gui/EnvelopeParamsPorter.html | 10 +- .../gui/LoadRatioEventsGuiController.html | 10 +- .../envelope/gui/LoadRatioEventsJSON.html | 10 +- .../gui/class-use/EnvelopeGuiController.html | 11 +- .../gui/class-use/EnvelopeParamsPorter.html | 8 +- .../LoadRatioEventsGuiController.html | 11 +- .../gui/class-use/LoadRatioEventsJSON.html | 8 +- .../controllers/EnvelopeParamsController.html | 10 +- .../WaveformLoadingController.html | 10 +- .../class-use/EnvelopeParamsController.html | 8 +- .../class-use/WaveformLoadingController.html | 8 +- .../gui/controllers/package-summary.html | 8 +- .../gui/controllers/package-tree.html | 8 +- .../envelope/gui/controllers/package-use.html | 8 +- .../envelope/gui/data/api/EnvelopeClient.html | 8 +- .../gui/data/api/EnvelopeParamsClient.html | 8 +- .../data/api/class-use/EnvelopeClient.html | 8 +- .../api/class-use/EnvelopeParamsClient.html | 8 +- .../gui/data/api/package-summary.html | 8 +- .../envelope/gui/data/api/package-tree.html | 8 +- .../envelope/gui/data/api/package-use.html | 8 +- .../data/client/EnvelopeParamsWebClient.html | 10 +- .../gui/data/client/EnvelopeWebClient.html | 10 +- .../class-use/EnvelopeParamsWebClient.html | 8 +- .../client/class-use/EnvelopeWebClient.html | 8 +- .../gui/data/client/package-summary.html | 8 +- .../gui/data/client/package-tree.html | 8 +- .../envelope/gui/data/client/package-use.html | 8 +- .../EnvelopeJobConfigLoadCompleteEvent.html | 10 +- .../EnvelopeJobConfigLoadCompleteEvent.html | 8 +- .../envelope/gui/events/package-summary.html | 8 +- .../envelope/gui/events/package-tree.html | 8 +- .../coda/envelope/gui/events/package-use.html | 8 +- .../coda/envelope/gui/package-summary.html | 8 +- .../apps/coda/envelope/gui/package-tree.html | 8 +- .../apps/coda/envelope/gui/package-use.html | 8 +- ...Default14BandEnvelopeJobConfiguration.html | 10 +- .../model/domain/EnvelopeBandParameters.html | 10 +- .../envelope/model/domain/EnvelopeJob.html | 16 +- .../domain/EnvelopeJobConfiguration.html | 10 +- .../envelope/model/domain/SpacingType.html | 12 +- ...Default14BandEnvelopeJobConfiguration.html | 8 +- .../class-use/EnvelopeBandParameters.html | 8 +- .../model/domain/class-use/EnvelopeJob.html | 8 +- .../class-use/EnvelopeJobConfiguration.html | 8 +- .../model/domain/class-use/SpacingType.html | 8 +- .../model/domain/package-summary.html | 8 +- .../envelope/model/domain/package-tree.html | 8 +- .../envelope/model/domain/package-use.html | 8 +- .../service/api/EnvelopeCreationService.html | 8 +- .../service/api/EnvelopeParamsService.html | 8 +- .../envelope/service/api/WaveformStacker.html | 8 +- .../class-use/EnvelopeCreationService.html | 8 +- .../api/class-use/EnvelopeParamsService.html | 8 +- .../api/class-use/WaveformStacker.html | 8 +- .../envelope/service/api/package-summary.html | 8 +- .../envelope/service/api/package-tree.html | 8 +- .../envelope/service/api/package-use.html | 8 +- .../impl/EnvelopeCreationServiceImpl.html | 10 +- .../impl/EnvelopeParamsServiceImpl.html | 10 +- .../service/impl/EnvelopeStacker.html | 10 +- .../EnvelopeCreationServiceImpl.html | 8 +- .../class-use/EnvelopeParamsServiceImpl.html | 8 +- .../impl/class-use/EnvelopeStacker.html | 8 +- .../service/impl/package-summary.html | 8 +- .../envelope/service/impl/package-tree.html | 8 +- .../envelope/service/impl/package-use.html | 8 +- .../data/client/EnvelopeLocalClient.html | 10 +- .../client/EnvelopeParamsLocalClient.html | 10 +- .../client/class-use/EnvelopeLocalClient.html | 8 +- .../class-use/EnvelopeParamsLocalClient.html | 8 +- .../data/client/package-summary.html | 8 +- .../standalone/data/client/package-tree.html | 8 +- .../standalone/data/client/package-use.html | 8 +- .../coda/envelope/util/BandGenerator.html | 8 +- .../envelope/util/LinearBandGenerator.html | 10 +- .../coda/envelope/util/LogBandGenerator.html | 10 +- .../util/class-use/BandGenerator.html | 8 +- .../util/class-use/LinearBandGenerator.html | 8 +- .../util/class-use/LogBandGenerator.html | 8 +- .../coda/envelope/util/package-summary.html | 8 +- .../apps/coda/envelope/util/package-tree.html | 8 +- .../apps/coda/envelope/util/package-use.html | 8 +- .../apps/coda/spectra/SpectraApplication.html | 10 +- .../spectra/class-use/SpectraApplication.html | 8 +- .../gui/RatioStatusProgressListener.html | 10 +- .../gui/SpectraRatioGuiController.html | 16 +- .../RatioStatusProgressListener.html | 8 +- .../class-use/SpectraRatioGuiController.html | 11 +- .../gui/events/RatioSegmentChangeEvent.html | 308 +++++ .../class-use/RatioSegmentChangeEvent.html | 150 +++ .../spectra/gui/events/package-summary.html | 168 +++ .../coda/spectra/gui/events/package-tree.html | 165 +++ .../coda/spectra/gui/events/package-use.html | 150 +++ .../coda/spectra/gui/package-summary.html | 8 +- .../apps/coda/spectra/gui/package-tree.html | 8 +- .../apps/coda/spectra/gui/package-use.html | 8 +- .../model/domain/MomentCornerEstimate.html | 16 +- .../spectra/model/domain/RatioEventData.html | 10 +- .../model/domain/RatioEventStationData.html | 10 +- .../model/domain/SpectraEvent.Fraction.html | 12 +- .../spectra/model/domain/SpectraEvent.html | 10 +- .../model/domain/SpectraRatioMeasurement.html | 16 +- .../domain/SpectraRatioMeasurementJob.html | 10 +- .../model/domain/SpectraRatioPairDetails.html | 130 +- .../SpectraRatioPairDetailsMetadata.html | 634 +++++++++ .../SpectraRatioPairDetailsMetadataImpl.html | 1173 +++++++++++++++++ .../SpectraRatioPairInversionResult.html | 366 ++++- .../SpectraRatioPairInversionResultJoint.html | 366 ++++- .../model/domain/SpectraRatiosReport.html | 16 +- .../class-use/MomentCornerEstimate.html | 54 +- .../domain/class-use/RatioEventData.html | 8 +- .../class-use/RatioEventStationData.html | 8 +- .../class-use/SpectraEvent.Fraction.html | 8 +- .../model/domain/class-use/SpectraEvent.html | 8 +- .../class-use/SpectraRatioMeasurement.html | 8 +- .../class-use/SpectraRatioMeasurementJob.html | 8 +- .../class-use/SpectraRatioPairDetails.html | 274 +++- .../SpectraRatioPairDetailsMetadata.html | 685 ++++++++++ .../SpectraRatioPairDetailsMetadataImpl.html | 150 +++ .../SpectraRatioPairInversionResult.html | 48 +- .../SpectraRatioPairInversionResultJoint.html | 48 +- .../domain/class-use/SpectraRatiosReport.html | 8 +- .../model/domain/messaging/EventPair.html | 16 +- .../SpectraRatioPairChangeEvent.html | 16 +- .../messaging/SpectraRatiosReportDTO.html | 16 +- .../domain/messaging/class-use/EventPair.html | 53 +- .../SpectraRatioPairChangeEvent.html | 8 +- .../class-use/SpectraRatiosReportDTO.html | 8 +- .../domain/messaging/package-summary.html | 8 +- .../model/domain/messaging/package-tree.html | 8 +- .../model/domain/messaging/package-use.html | 8 +- .../spectra/model/domain/package-summary.html | 31 +- .../spectra/model/domain/package-tree.html | 15 +- .../spectra/model/domain/package-use.html | 149 ++- .../domain/util/SpectraRatioPairOperator.html | 172 ++- .../util/SpectraRatiosReportByEventPair.html | 10 +- .../class-use/SpectraRatioPairOperator.html | 47 +- .../SpectraRatiosReportByEventPair.html | 8 +- .../model/domain/util/package-summary.html | 8 +- .../model/domain/util/package-tree.html | 8 +- .../model/domain/util/package-use.html | 29 +- .../apps/coda/spectra/package-summary.html | 8 +- .../gnem/apps/coda/spectra/package-tree.html | 8 +- .../gnem/apps/coda/spectra/package-use.html | 8 +- .../standalone/SpectraRatioStandalone.html | 10 +- .../class-use/SpectraRatioStandalone.html | 8 +- .../spectra/standalone/package-summary.html | 8 +- .../coda/spectra/standalone/package-tree.html | 8 +- .../coda/spectra/standalone/package-use.html | 8 +- .../resources/static/javadoc/help-doc.html | 8 +- .../resources/static/javadoc/index-all.html | 727 +++++++++- .../main/resources/static/javadoc/index.html | 174 +-- .../static/javadoc/jquery/jquery-ui.min.css | 2 +- .../static/javadoc/jquery/jquery-ui.min.js | 4 +- .../resources/static/javadoc/legal/jquery.md | 72 + .../static/javadoc/legal/jqueryUI.md | 49 + .../static/javadoc/legal/jqueryUI/index.html | 2 +- .../resources/static/javadoc/legal/jszip.md | 653 +++++++++ .../resources/static/javadoc/legal/pako.md | 45 + .../gnem/core/geom/CartesianCoordinate.html | 16 +- .../llnl/gnem/core/geom/Coordinate.html | 8 +- .../core/geom/DoubleValuedCoordinate.html | 16 +- .../llnl/gnem/core/geom/ECEFCoordinate.html | 10 +- .../gnem/core/geom/GeographicCoordinate.html | 16 +- .../javadoc/llnl/gnem/core/geom/Location.html | 16 +- .../llnl/gnem/core/geom/NEDCoordinate.html | 10 +- .../geom/class-use/CartesianCoordinate.html | 8 +- .../gnem/core/geom/class-use/Coordinate.html | 8 +- .../class-use/DoubleValuedCoordinate.html | 8 +- .../core/geom/class-use/ECEFCoordinate.html | 8 +- .../geom/class-use/GeographicCoordinate.html | 8 +- .../gnem/core/geom/class-use/Location.html | 8 +- .../core/geom/class-use/NEDCoordinate.html | 8 +- .../llnl/gnem/core/geom/package-summary.html | 8 +- .../llnl/gnem/core/geom/package-tree.html | 8 +- .../llnl/gnem/core/geom/package-use.html | 8 +- .../gui/plotting/api/Axis.TickFormat.html | 12 +- .../gnem/core/gui/plotting/api/Axis.Type.html | 12 +- .../llnl/gnem/core/gui/plotting/api/Axis.html | 8 +- .../core/gui/plotting/api/AxisLimits.html | 16 +- .../gnem/core/gui/plotting/api/BasicPlot.html | 8 +- .../gnem/core/gui/plotting/api/ColorMaps.html | 12 +- .../gnem/core/gui/plotting/api/FillModes.html | 459 +++++++ .../core/gui/plotting/api/HoverModes.html | 500 +++++++ .../llnl/gnem/core/gui/plotting/api/Line.html | 230 +++- .../core/gui/plotting/api/LineStyles.html | 12 +- .../core/gui/plotting/api/ObjectGroup.html | 578 ++++++++ .../core/gui/plotting/api/PlotFactory.html | 64 +- .../core/gui/plotting/api/PlotLayout.html | 12 +- .../core/gui/plotting/api/PlotObject.html | 8 +- .../core/gui/plotting/api/PlottingUtils.html | 10 +- .../gnem/core/gui/plotting/api/Rectangle.html | 209 ++- .../gnem/core/gui/plotting/api/Symbol.html | 64 +- .../core/gui/plotting/api/SymbolStyles.html | 12 +- .../gnem/core/gui/plotting/api/Title.html | 8 +- .../core/gui/plotting/api/VerticalLine.html | 99 +- .../api/class-use/Axis.TickFormat.html | 8 +- .../gui/plotting/api/class-use/Axis.Type.html | 8 +- .../core/gui/plotting/api/class-use/Axis.html | 8 +- .../plotting/api/class-use/AxisLimits.html | 8 +- .../gui/plotting/api/class-use/BasicPlot.html | 48 +- .../gui/plotting/api/class-use/ColorMaps.html | 8 +- .../gui/plotting/api/class-use/FillModes.html | 275 ++++ .../plotting/api/class-use/HoverModes.html | 275 ++++ .../core/gui/plotting/api/class-use/Line.html | 37 +- .../plotting/api/class-use/LineStyles.html | 48 +- .../plotting/api/class-use/ObjectGroup.html | 357 +++++ .../plotting/api/class-use/PlotFactory.html | 33 +- .../plotting/api/class-use/PlotLayout.html | 8 +- .../plotting/api/class-use/PlotObject.html | 241 +++- .../plotting/api/class-use/PlottingUtils.html | 8 +- .../gui/plotting/api/class-use/Rectangle.html | 49 +- .../gui/plotting/api/class-use/Symbol.html | 8 +- .../plotting/api/class-use/SymbolStyles.html | 8 +- .../gui/plotting/api/class-use/Title.html | 8 +- .../plotting/api/class-use/VerticalLine.html | 21 +- .../gui/plotting/api/package-summary.html | 29 +- .../core/gui/plotting/api/package-tree.html | 11 +- .../core/gui/plotting/api/package-use.html | 68 +- .../gui/plotting/events/PlotAxisChange.html | 16 +- .../gui/plotting/events/PlotObjectClick.html | 10 +- .../gui/plotting/events/PlotShapeMove.html | 16 +- .../events/class-use/PlotAxisChange.html | 8 +- .../events/class-use/PlotObjectClick.html | 8 +- .../events/class-use/PlotShapeMove.html | 8 +- .../gui/plotting/events/package-summary.html | 8 +- .../gui/plotting/events/package-tree.html | 8 +- .../core/gui/plotting/events/package-use.html | 8 +- .../core/gui/plotting/fx/utils/FxUtils.html | 10 +- .../plotting/fx/utils/MouseEventHelpers.html | 10 +- .../plotting/fx/utils/class-use/FxUtils.html | 8 +- .../fx/utils/class-use/MouseEventHelpers.html | 8 +- .../plotting/fx/utils/package-summary.html | 8 +- .../gui/plotting/fx/utils/package-tree.html | 8 +- .../gui/plotting/fx/utils/package-use.html | 8 +- .../core/gui/plotting/plotly/BasicAxis.html | 10 +- .../core/gui/plotting/plotly/BasicLine.html | 362 ++++- .../gui/plotting/plotly/BasicObjectGroup.html | 787 +++++++++++ .../core/gui/plotting/plotly/BasicSymbol.html | 119 +- .../core/gui/plotting/plotly/BasicTitle.html | 10 +- .../core/gui/plotting/plotly/PlotData.html | 72 +- .../gui/plotting/plotly/PlotObjectData.html | 162 ++- .../core/gui/plotting/plotly/PlotPoints.html | 10 +- .../gui/plotting/plotly/PlotTrace.Style.html | 12 +- .../core/gui/plotting/plotly/PlotTrace.html | 10 +- .../core/gui/plotting/plotly/PlotlyPlot.html | 32 +- .../plotting/plotly/PlotlyWaveformPlot.html | 12 +- .../plotting/plotly/class-use/BasicAxis.html | 8 +- .../plotting/plotly/class-use/BasicLine.html | 8 +- .../plotly/class-use/BasicObjectGroup.html | 150 +++ .../plotly/class-use/BasicSymbol.html | 52 +- .../plotting/plotly/class-use/BasicTitle.html | 8 +- .../plotting/plotly/class-use/PlotData.html | 8 +- .../plotly/class-use/PlotObjectData.html | 8 +- .../plotting/plotly/class-use/PlotPoints.html | 8 +- .../plotly/class-use/PlotTrace.Style.html | 8 +- .../plotting/plotly/class-use/PlotTrace.html | 8 +- .../plotting/plotly/class-use/PlotlyPlot.html | 8 +- .../plotly/class-use/PlotlyWaveformPlot.html | 8 +- .../gui/plotting/plotly/package-summary.html | 26 +- .../gui/plotting/plotly/package-tree.html | 9 +- .../core/gui/plotting/plotly/package-use.html | 20 +- .../llnl/gnem/core/io/AbstractDataSource.html | 10 +- .../javadoc/llnl/gnem/core/io/DataSource.html | 8 +- .../llnl/gnem/core/io/FileDataSource.html | 10 +- .../javadoc/llnl/gnem/core/io/SAC/Iztype.html | 14 +- .../llnl/gnem/core/io/SAC/SACFileReader.html | 10 +- .../llnl/gnem/core/io/SAC/SACHeader.html | 14 +- .../gnem/core/io/SAC/class-use/Iztype.html | 8 +- .../core/io/SAC/class-use/SACFileReader.html | 8 +- .../gnem/core/io/SAC/class-use/SACHeader.html | 8 +- .../gnem/core/io/SAC/package-summary.html | 8 +- .../llnl/gnem/core/io/SAC/package-tree.html | 8 +- .../llnl/gnem/core/io/SAC/package-use.html | 8 +- .../core/io/class-use/AbstractDataSource.html | 8 +- .../gnem/core/io/class-use/DataSource.html | 8 +- .../core/io/class-use/FileDataSource.html | 8 +- .../llnl/gnem/core/io/package-summary.html | 8 +- .../llnl/gnem/core/io/package-tree.html | 8 +- .../llnl/gnem/core/io/package-use.html | 8 +- .../llnl/gnem/core/metadata/BandCode.html | 12 +- .../llnl/gnem/core/metadata/Channel.html | 10 +- .../gnem/core/metadata/InstrumentCode.html | 12 +- .../gnem/core/metadata/InstrumentType.html | 12 +- .../gnem/core/metadata/OrientationCode.html | 14 +- .../core/metadata/class-use/BandCode.html | 8 +- .../gnem/core/metadata/class-use/Channel.html | 8 +- .../metadata/class-use/InstrumentCode.html | 8 +- .../metadata/class-use/InstrumentType.html | 8 +- .../metadata/class-use/OrientationCode.html | 8 +- .../gnem/core/metadata/package-summary.html | 8 +- .../llnl/gnem/core/metadata/package-tree.html | 8 +- .../llnl/gnem/core/metadata/package-use.html | 8 +- .../llnl/gnem/core/polygon/BasePolygon.html | 10 +- .../llnl/gnem/core/polygon/BinarySearch.html | 10 +- .../gnem/core/polygon/CartesianPolygon.html | 10 +- .../llnl/gnem/core/polygon/Polygon.html | 10 +- .../llnl/gnem/core/polygon/PolygonSet.html | 12 +- .../gnem/core/polygon/PolygonSetType.html | 12 +- .../gnem/core/polygon/PolygonSetView.html | 8 +- .../llnl/gnem/core/polygon/SequenceNames.html | 10 +- .../llnl/gnem/core/polygon/TableNames.html | 10 +- .../llnl/gnem/core/polygon/Vertex.html | 16 +- .../core/polygon/class-use/BasePolygon.html | 8 +- .../core/polygon/class-use/BinarySearch.html | 8 +- .../polygon/class-use/CartesianPolygon.html | 8 +- .../gnem/core/polygon/class-use/Polygon.html | 8 +- .../core/polygon/class-use/PolygonSet.html | 8 +- .../polygon/class-use/PolygonSetType.html | 8 +- .../polygon/class-use/PolygonSetView.html | 8 +- .../core/polygon/class-use/SequenceNames.html | 8 +- .../core/polygon/class-use/TableNames.html | 8 +- .../gnem/core/polygon/class-use/Vertex.html | 8 +- .../gnem/core/polygon/class-use/line.html | 8 +- .../javadoc/llnl/gnem/core/polygon/line.html | 10 +- .../gnem/core/polygon/package-summary.html | 8 +- .../llnl/gnem/core/polygon/package-tree.html | 8 +- .../llnl/gnem/core/polygon/package-use.html | 8 +- .../gnem/core/signalprocessing/Sequence.html | 10 +- .../signalprocessing/class-use/Sequence.html | 8 +- .../extended/SignalProcessingException.html | 12 +- .../class-use/SignalProcessingException.html | 8 +- .../extended/package-summary.html | 8 +- .../extended/package-tree.html | 8 +- .../extended/package-use.html | 8 +- .../filter/AnalogSecOrdSect.html | 10 +- .../filter/ButterworthAnalogFilter.html | 10 +- .../filter/ButterworthFilter.html | 10 +- .../signalprocessing/filter/HilbertIIR.html | 10 +- .../signalprocessing/filter/IIRFilter.html | 10 +- .../filter/SecOrdSection.html | 10 +- .../filter/class-use/AnalogSecOrdSect.html | 8 +- .../class-use/ButterworthAnalogFilter.html | 8 +- .../filter/class-use/ButterworthFilter.html | 8 +- .../filter/class-use/HilbertIIR.html | 8 +- .../filter/class-use/IIRFilter.html | 8 +- .../filter/class-use/SecOrdSection.html | 8 +- .../filter/package-summary.html | 8 +- .../signalprocessing/filter/package-tree.html | 8 +- .../signalprocessing/filter/package-use.html | 8 +- .../signalprocessing/package-summary.html | 8 +- .../core/signalprocessing/package-tree.html | 8 +- .../core/signalprocessing/package-use.html | 8 +- .../gnem/core/util/Epoch.TimeResolution.html | 12 +- .../javadoc/llnl/gnem/core/util/Epoch.html | 18 +- .../gnem/core/util/FileInputArrayLoader.html | 10 +- .../gnem/core/util/FileSystemException.html | 12 +- .../gnem/core/util/FileUtil/FileManager.html | 10 +- .../gnem/core/util/FileUtil/ListOfFiles.html | 16 +- .../util/FileUtil/class-use/FileManager.html | 8 +- .../util/FileUtil/class-use/ListOfFiles.html | 8 +- .../core/util/FileUtil/package-summary.html | 8 +- .../gnem/core/util/FileUtil/package-tree.html | 8 +- .../gnem/core/util/FileUtil/package-use.html | 8 +- .../util/Geometry/CoordinateTransform.html | 10 +- .../core/util/Geometry/CoordinateType.html | 12 +- .../core/util/Geometry/DirectionCosines.html | 10 +- .../core/util/Geometry/DistanceAzimuth.html | 10 +- .../core/util/Geometry/ECEFCoordinate.html | 10 +- .../llnl/gnem/core/util/Geometry/EModel.html | 10 +- .../core/util/Geometry/ENUCoordinate.html | 12 +- .../llnl/gnem/core/util/Geometry/Ellipse.html | 10 +- .../util/Geometry/GeodeticCoordinate.html | 16 +- .../core/util/Geometry/NEZCoordinate.html | 16 +- .../Geometry/SphericalDirectionCosines.html | 10 +- .../class-use/CoordinateTransform.html | 8 +- .../Geometry/class-use/CoordinateType.html | 8 +- .../Geometry/class-use/DirectionCosines.html | 8 +- .../Geometry/class-use/DistanceAzimuth.html | 8 +- .../Geometry/class-use/ECEFCoordinate.html | 8 +- .../core/util/Geometry/class-use/EModel.html | 8 +- .../Geometry/class-use/ENUCoordinate.html | 8 +- .../core/util/Geometry/class-use/Ellipse.html | 8 +- .../class-use/GeodeticCoordinate.html | 8 +- .../Geometry/class-use/NEZCoordinate.html | 8 +- .../class-use/SphericalDirectionCosines.html | 8 +- .../core/util/Geometry/package-summary.html | 8 +- .../gnem/core/util/Geometry/package-tree.html | 8 +- .../gnem/core/util/Geometry/package-use.html | 8 +- .../util/MathFunctions/FitnessCriteria.html | 10 +- .../core/util/MathFunctions/MathFunction.html | 10 +- .../class-use/FitnessCriteria.html | 8 +- .../MathFunctions/class-use/MathFunction.html | 8 +- .../util/MathFunctions/package-summary.html | 8 +- .../core/util/MathFunctions/package-tree.html | 8 +- .../core/util/MathFunctions/package-use.html | 8 +- .../core/util/NumericalList.DoubleList.html | 10 +- .../core/util/NumericalList.FloatList.html | 10 +- .../core/util/NumericalList.NumberList.html | 10 +- .../llnl/gnem/core/util/NumericalList.html | 8 +- .../javadoc/llnl/gnem/core/util/Pair.html | 12 +- .../javadoc/llnl/gnem/core/util/PairT.html | 16 +- .../javadoc/llnl/gnem/core/util/Passband.html | 14 +- .../gnem/core/util/SeriesMath.Function.html | 8 +- .../llnl/gnem/core/util/SeriesMath.html | 10 +- .../llnl/gnem/core/util/StaChanKey.html | 18 +- .../llnl/gnem/core/util/StreamKey.html | 8 +- .../javadoc/llnl/gnem/core/util/TimeT.html | 18 +- .../util/class-use/Epoch.TimeResolution.html | 8 +- .../llnl/gnem/core/util/class-use/Epoch.html | 8 +- .../util/class-use/FileInputArrayLoader.html | 8 +- .../util/class-use/FileSystemException.html | 8 +- .../class-use/NumericalList.DoubleList.html | 8 +- .../class-use/NumericalList.FloatList.html | 8 +- .../class-use/NumericalList.NumberList.html | 8 +- .../core/util/class-use/NumericalList.html | 8 +- .../llnl/gnem/core/util/class-use/Pair.html | 8 +- .../llnl/gnem/core/util/class-use/PairT.html | 8 +- .../gnem/core/util/class-use/Passband.html | 8 +- .../util/class-use/SeriesMath.Function.html | 8 +- .../gnem/core/util/class-use/SeriesMath.html | 8 +- .../gnem/core/util/class-use/StaChanKey.html | 8 +- .../gnem/core/util/class-use/StreamKey.html | 8 +- .../llnl/gnem/core/util/class-use/TimeT.html | 8 +- .../llnl/gnem/core/util/package-summary.html | 8 +- .../llnl/gnem/core/util/package-tree.html | 8 +- .../llnl/gnem/core/util/package-use.html | 8 +- .../util/randomNumbers/AlgorithmType.html | 12 +- .../randomNumbers/BaseRandomAlgorithm.html | 10 +- .../util/randomNumbers/RandomAlgorithm.html | 8 +- .../randomNumbers/RandomAlgorithmFactory.html | 10 +- .../core/util/randomNumbers/SimpleRandom.html | 10 +- .../class-use/AlgorithmType.html | 8 +- .../class-use/BaseRandomAlgorithm.html | 8 +- .../class-use/RandomAlgorithm.html | 8 +- .../class-use/RandomAlgorithmFactory.html | 8 +- .../randomNumbers/class-use/SimpleRandom.html | 8 +- .../util/randomNumbers/package-summary.html | 8 +- .../core/util/randomNumbers/package-tree.html | 8 +- .../core/util/randomNumbers/package-use.html | 8 +- .../util/seriesMathHelpers/Discontinuity.html | 12 +- .../DiscontinuityCollection.html | 12 +- .../DiscontinuityFinder.html | 10 +- .../core/util/seriesMathHelpers/Glitch.html | 14 +- .../core/util/seriesMathHelpers/MinMax.html | 10 +- .../util/seriesMathHelpers/RollingStats.html | 12 +- .../SampleStatistics.Order.html | 12 +- .../seriesMathHelpers/SampleStatistics.html | 12 +- .../class-use/Discontinuity.html | 8 +- .../class-use/DiscontinuityCollection.html | 8 +- .../class-use/DiscontinuityFinder.html | 8 +- .../seriesMathHelpers/class-use/Glitch.html | 8 +- .../seriesMathHelpers/class-use/MinMax.html | 8 +- .../class-use/RollingStats.html | 8 +- .../class-use/SampleStatistics.Order.html | 8 +- .../class-use/SampleStatistics.html | 8 +- .../seriesMathHelpers/package-summary.html | 8 +- .../util/seriesMathHelpers/package-tree.html | 8 +- .../util/seriesMathHelpers/package-use.html | 8 +- .../gnem/core/waveform/io/BinaryData.html | 10 +- .../core/waveform/io/DoubleBinaryData.html | 10 +- .../core/waveform/io/FloatBinaryData.html | 10 +- .../gnem/core/waveform/io/IntBinaryData.html | 10 +- .../waveform/io/class-use/BinaryData.html | 8 +- .../io/class-use/DoubleBinaryData.html | 8 +- .../io/class-use/FloatBinaryData.html | 8 +- .../waveform/io/class-use/IntBinaryData.html | 8 +- .../core/waveform/io/package-summary.html | 8 +- .../gnem/core/waveform/io/package-tree.html | 8 +- .../gnem/core/waveform/io/package-use.html | 8 +- .../core/waveform/merge/MergeException.html | 12 +- .../merge/class-use/MergeException.html | 8 +- .../core/waveform/merge/package-summary.html | 8 +- .../core/waveform/merge/package-tree.html | 8 +- .../gnem/core/waveform/merge/package-use.html | 8 +- .../responseProcessing/ResponseType.html | 12 +- .../class-use/ResponseType.html | 8 +- .../responseProcessing/package-summary.html | 8 +- .../responseProcessing/package-tree.html | 8 +- .../responseProcessing/package-use.html | 8 +- .../waveform/seismogram/SeismicSignal.html | 8 +- .../TimeSeries.BivariateFunction.html | 8 +- .../waveform/seismogram/TimeSeries.Norm.html | 12 +- .../seismogram/TimeSeries.SeriesListener.html | 8 +- .../core/waveform/seismogram/TimeSeries.html | 20 +- .../seismogram/class-use/SeismicSignal.html | 8 +- .../TimeSeries.BivariateFunction.html | 8 +- .../seismogram/class-use/TimeSeries.Norm.html | 8 +- .../class-use/TimeSeries.SeriesListener.html | 8 +- .../seismogram/class-use/TimeSeries.html | 8 +- .../waveform/seismogram/package-summary.html | 8 +- .../waveform/seismogram/package-tree.html | 8 +- .../core/waveform/seismogram/package-use.html | 8 +- .../static/javadoc/member-search-index.js | 2 +- .../static/javadoc/member-search-index.zip | Bin 0 -> 73830 bytes .../static/javadoc/overview-summary.html | 4 +- .../static/javadoc/overview-tree.html | 24 +- .../static/javadoc/package-search-index.js | 2 +- .../static/javadoc/package-search-index.zip | Bin 0 -> 783 bytes .../static/javadoc/serialized-form.html | 12 +- .../static/javadoc/type-search-index.js | 2 +- .../static/javadoc/type-search-index.zip | Bin 0 -> 5195 bytes .../resources/static/search/search_index.json | 2 +- .../src/main/resources/static/sitemap.xml | 10 +- .../src/main/resources/static/sitemap.xml.gz | Bin 198 -> 198 bytes .../resources/static/swagger/openapi.json | 2 +- calibration-service/calibration-model/pom.xml | 2 +- .../domain/RatioOptimizerMeasurement.java | 111 ++ .../SpectraRatioPairDetailsMetadataMixin.java | 21 + .../domain/mixins/WaveformMetadataMixin.java | 21 + .../domain/mixins/WaveformPickMixin.java | 21 + .../coda/common/model/domain/Waveform.java | 2 - .../model/domain/SpectraRatioPairDetails.java | 88 +- .../SpectraRatioPairDetailsMetadata.java | 75 ++ .../SpectraRatioPairDetailsMetadataImpl.java | 325 +++++ .../SpectraRatioPairInversionResult.java | 112 ++ .../SpectraRatioPairInversionResultJoint.java | 112 ++ .../model/domain/SpectraRatiosReport.java | 4 +- .../domain/util/SpectraRatioPairOperator.java | 29 +- .../calibration-repository/pom.xml | 2 +- .../SpectraRatioPairDetailsRepository.java | 18 + .../calibration-service-api/pom.xml | 2 +- .../api/SpectraRatioPairDetailsService.java | 6 + .../common/service/api/WaveformService.java | 3 + .../calibration-service-impl/pom.xml | 2 +- .../service/impl/SpectraRatioServiceImpl.java | 151 ++- .../impl/processing/MdacCalculator.java | 10 +- .../impl/processing/SpectraCalculator.java | 28 +- .../SpectraRatioInversionCalculator.java | 333 +++-- .../service/impl/WaveformServiceImpl.java | 6 + .../service/impl/EnvelopeStacker.java | 182 +-- .../processing/SpectraCalculatorTest.java | 2 +- calibration-service/pom.xml | 2 +- calibration-standalone/pom.xml | 6 +- .../data/client/SpectraRatioLocalClient.java | 24 + docs/img/import_complete.png | Bin 305168 -> 390655 bytes docs/img/import_stacks.png | Bin 291997 -> 329901 bytes docs/index.md | 39 +- docs/javadoc/allclasses-index.html | 1095 +++++++-------- docs/javadoc/allclasses.html | 20 +- docs/javadoc/allpackages-index.html | 120 +- docs/javadoc/constant-values.html | 8 +- docs/javadoc/deprecated-list.html | 8 +- docs/javadoc/element-list | 2 + .../calibration/CalibrationApplication.html | 10 +- .../calibration/ConfigureJacksonMixins.html | 10 +- .../web/CalibrationJsonController.html | 10 +- ...alibrationNotificationStompController.html | 10 +- .../web/ConfigurationItemJsonController.html | 10 +- .../application/web/EventsJsonController.html | 10 +- .../web/GeometryJsonController.html | 10 +- ...cParametersFiCollectionJsonController.html | 10 +- .../MdacParametersFiItemJsonController.html | 10 +- ...cParametersPsCollectionJsonController.html | 10 +- .../MdacParametersPsItemJsonController.html | 10 +- .../web/MeasuredMwsJsonController.html | 10 +- .../web/MeasurementJsonController.html | 10 +- .../web/PeakVelocityJsonController.html | 10 +- .../web/ReferenceEventsJsonController.html | 10 +- .../web/ShapeMeasurementJsonController.html | 10 +- ...andParametersCollectionJsonController.html | 10 +- ...uencyBandParametersItemJsonController.html | 10 +- ...andParametersCollectionJsonController.html | 10 +- .../web/SpectraMeasurementJsonController.html | 10 +- .../web/SpectraRatioJsonController.html | 69 +- .../SyntheticCollectionJsonController.html | 10 +- .../web/SyntheticGenerationRequest.html | 16 +- .../web/ValidationEventsJsonController.html | 10 +- .../class-use/CalibrationJsonController.html | 8 +- ...alibrationNotificationStompController.html | 8 +- .../ConfigurationItemJsonController.html | 8 +- .../web/class-use/EventsJsonController.html | 8 +- .../web/class-use/GeometryJsonController.html | 8 +- ...cParametersFiCollectionJsonController.html | 8 +- .../MdacParametersFiItemJsonController.html | 8 +- ...cParametersPsCollectionJsonController.html | 8 +- .../MdacParametersPsItemJsonController.html | 8 +- .../class-use/MeasuredMwsJsonController.html | 8 +- .../class-use/MeasurementJsonController.html | 8 +- .../class-use/PeakVelocityJsonController.html | 8 +- .../ReferenceEventsJsonController.html | 8 +- .../ShapeMeasurementJsonController.html | 8 +- ...andParametersCollectionJsonController.html | 8 +- ...uencyBandParametersItemJsonController.html | 8 +- ...andParametersCollectionJsonController.html | 8 +- .../SpectraMeasurementJsonController.html | 8 +- .../class-use/SpectraRatioJsonController.html | 8 +- .../SyntheticCollectionJsonController.html | 8 +- .../class-use/SyntheticGenerationRequest.html | 8 +- .../ValidationEventsJsonController.html | 8 +- .../application/web/package-summary.html | 8 +- .../application/web/package-tree.html | 8 +- .../application/web/package-use.html | 8 +- .../class-use/CalibrationApplication.html | 8 +- .../class-use/ConfigureJacksonMixins.html | 8 +- .../apps/coda/calibration/gui/AboutText.html | 10 +- .../coda/calibration/gui/AppProperties.html | 10 +- .../calibration/gui/CodaGuiController.html | 16 +- .../gui/GuiApplication.ApplicationMode.html | 12 +- .../coda/calibration/gui/GuiApplication.html | 10 +- .../apps/coda/calibration/gui/MapConfig.html | 10 +- .../gui/RefreshEventTableAction.html | 10 +- .../coda/calibration/gui/WebfluxConfig.html | 10 +- .../calibration/gui/class-use/AboutText.html | 8 +- .../gui/class-use/AppProperties.html | 8 +- .../gui/class-use/CodaGuiController.html | 8 +- .../GuiApplication.ApplicationMode.html | 8 +- .../gui/class-use/GuiApplication.html | 8 +- .../calibration/gui/class-use/MapConfig.html | 8 +- .../class-use/RefreshEventTableAction.html | 8 +- .../gui/class-use/WebfluxConfig.html | 8 +- .../AbstractMeasurementController.html | 10 +- .../gui/controllers/AutoCompleteCombo.html | 10 +- .../BaseSpectraPlotController.html | 10 +- .../CodaParamLoadingController.html | 10 +- .../gui/controllers/DataController.html | 10 +- .../EnvelopeLoadingController.html | 10 +- .../gui/controllers/EventTabController.html | 10 +- .../gui/controllers/EventTableController.html | 10 +- .../controllers/FilterDialogController.html | 10 +- .../controllers/MapListeningController.html | 8 +- .../controllers/MeasuredMwsController.html | 10 +- .../gui/controllers/PathController.html | 10 +- .../ReferenceEventLoadingController.html | 10 +- .../controllers/RefreshableController.html | 8 +- .../ScreenshotEnabledController.html | 8 +- .../gui/controllers/ShapeController.html | 10 +- .../gui/controllers/SiteController.html | 10 +- .../controllers/SpectraPlotController.html | 10 +- .../SpectraRatioLoadingController.html | 418 ++++++ .../SpectraRatioPlotController.html | 10 +- .../AbstractMeasurementController.html | 8 +- .../class-use/AutoCompleteCombo.html | 8 +- .../class-use/BaseSpectraPlotController.html | 8 +- .../class-use/CodaParamLoadingController.html | 11 +- .../controllers/class-use/DataController.html | 11 +- .../class-use/EnvelopeLoadingController.html | 11 +- .../class-use/EventTabController.html | 8 +- .../class-use/EventTableController.html | 11 +- .../class-use/FilterDialogController.html | 8 +- .../class-use/MapListeningController.html | 8 +- .../class-use/MeasuredMwsController.html | 11 +- .../controllers/class-use/PathController.html | 11 +- .../ReferenceEventLoadingController.html | 11 +- .../class-use/RefreshableController.html | 8 +- .../ScreenshotEnabledController.html | 8 +- .../class-use/ShapeController.html | 11 +- .../controllers/class-use/SiteController.html | 11 +- .../class-use/SpectraPlotController.html | 8 +- .../SpectraRatioLoadingController.html | 216 +++ .../class-use/SpectraRatioPlotController.html | 8 +- .../gui/controllers/package-summary.html | 12 +- .../gui/controllers/package-tree.html | 9 +- .../gui/controllers/package-use.html | 12 +- .../parameters/ModelController.html | 10 +- .../parameters/ParametersController.html | 10 +- .../ShapeConfigurationController.html | 10 +- .../parameters/SharedBandController.html | 10 +- .../parameters/SiteBandController.html | 10 +- .../VelocityConfigurationController.html | 10 +- .../parameters/class-use/ModelController.html | 8 +- .../class-use/ParametersController.html | 11 +- .../ShapeConfigurationController.html | 8 +- .../class-use/SharedBandController.html | 8 +- .../class-use/SiteBandController.html | 8 +- .../VelocityConfigurationController.html | 8 +- .../parameters/package-summary.html | 8 +- .../controllers/parameters/package-tree.html | 8 +- .../controllers/parameters/package-use.html | 8 +- .../api/FileToParameterConverter.html | 8 +- .../api/FileToReferenceEventConverter.html | 8 +- .../class-use/FileToParameterConverter.html | 8 +- .../FileToReferenceEventConverter.html | 8 +- .../gui/converters/api/package-summary.html | 8 +- .../gui/converters/api/package-tree.html | 8 +- .../gui/converters/api/package-use.html | 8 +- .../converters/param/CodaJsonParamLoader.html | 10 +- .../converters/param/CodaParamFileLoader.html | 10 +- .../converters/param/MdacFiFileLoader.html | 10 +- .../converters/param/MdacPsFileLoader.html | 10 +- .../gui/converters/param/RawGeoJSON.html | 10 +- .../param/ReferenceEventLoader.html | 10 +- .../param/SpectralRatioProjectLoader.html | 308 +++++ .../param/class-use/CodaJsonParamLoader.html | 8 +- .../param/class-use/CodaParamFileLoader.html | 8 +- .../param/class-use/MdacFiFileLoader.html | 8 +- .../param/class-use/MdacPsFileLoader.html | 8 +- .../param/class-use/RawGeoJSON.html | 8 +- .../param/class-use/ReferenceEventLoader.html | 8 +- .../class-use/SpectralRatioProjectLoader.html | 150 +++ .../gui/converters/param/package-summary.html | 12 +- .../gui/converters/param/package-tree.html | 9 +- .../gui/converters/param/package-use.html | 8 +- .../converters/ratios/SpectraRatioLoader.html | 309 +++++ .../ratios/class-use/SpectraRatioLoader.html | 195 +++ .../converters/ratios/package-summary.html | 168 +++ .../gui/converters/ratios/package-tree.html | 165 +++ .../gui/converters/ratios/package-use.html | 185 +++ .../sac/CodaStackedSacFileLoader.html | 10 +- .../class-use/CodaStackedSacFileLoader.html | 8 +- .../gui/converters/sac/package-summary.html | 8 +- .../gui/converters/sac/package-tree.html | 8 +- .../gui/converters/sac/package-use.html | 8 +- .../gui/data/client/CalibrationWebClient.html | 10 +- .../gui/data/client/EventWebClient.html | 10 +- .../gui/data/client/ParameterWebClient.html | 10 +- .../data/client/PeakVelocityWebClient.html | 10 +- .../client/ShapeMeasurementWebClient.html | 10 +- .../data/client/SpectraRatioWebClient.html | 90 +- .../gui/data/client/SpectraWebClient.html | 10 +- .../data/client/api/CalibrationClient.html | 8 +- .../client/api/CalibrationJsonConstants.html | 10 +- .../gui/data/client/api/EventClient.html | 8 +- .../gui/data/client/api/ParameterClient.html | 8 +- .../data/client/api/PeakVelocityClient.html | 8 +- .../client/api/ShapeMeasurementClient.html | 8 +- .../gui/data/client/api/SpectraClient.html | 8 +- .../data/client/api/SpectraRatioClient.html | 72 +- .../api/class-use/CalibrationClient.html | 11 +- .../class-use/CalibrationJsonConstants.html | 8 +- .../client/api/class-use/EventClient.html | 11 +- .../client/api/class-use/ParameterClient.html | 21 +- .../api/class-use/PeakVelocityClient.html | 18 +- .../api/class-use/ShapeMeasurementClient.html | 18 +- .../client/api/class-use/SpectraClient.html | 14 +- .../api/class-use/SpectraRatioClient.html | 46 +- .../gui/data/client/api/package-summary.html | 8 +- .../gui/data/client/api/package-tree.html | 8 +- .../gui/data/client/api/package-use.html | 12 +- .../class-use/CalibrationWebClient.html | 8 +- .../data/client/class-use/EventWebClient.html | 8 +- .../client/class-use/ParameterWebClient.html | 8 +- .../class-use/PeakVelocityWebClient.html | 8 +- .../class-use/ShapeMeasurementWebClient.html | 8 +- .../class-use/SpectraRatioWebClient.html | 8 +- .../client/class-use/SpectraWebClient.html | 8 +- .../gui/data/client/package-summary.html | 8 +- .../gui/data/client/package-tree.html | 8 +- .../gui/data/client/package-use.html | 8 +- .../data/exporters/JsonTempFileWriter.html | 50 +- .../gui/data/exporters/ParamExporter.html | 10 +- .../data/exporters/SpectraRatioExporter.html | 38 +- .../exporters/SwftStyleParamFileWriter.html | 10 +- .../VelocityConfigurationFileMixin.html | 10 +- .../api/MeasuredMwTempFileWriter.html | 8 +- .../exporters/api/ParamTempFileWriter.html | 8 +- .../api/ReferenceMwTempFileWriter.html | 8 +- .../api/SpectraRatioTempFileWriter.html | 38 +- .../exporters/api/SpectraTempFileWriter.html | 8 +- .../api/ValidationMwTempFileWriter.html | 8 +- .../class-use/MeasuredMwTempFileWriter.html | 8 +- .../api/class-use/ParamTempFileWriter.html | 8 +- .../class-use/ReferenceMwTempFileWriter.html | 8 +- .../class-use/SpectraRatioTempFileWriter.html | 8 +- .../api/class-use/SpectraTempFileWriter.html | 8 +- .../class-use/ValidationMwTempFileWriter.html | 8 +- .../data/exporters/api/package-summary.html | 8 +- .../gui/data/exporters/api/package-tree.html | 8 +- .../gui/data/exporters/api/package-use.html | 8 +- .../class-use/JsonTempFileWriter.html | 8 +- .../exporters/class-use/ParamExporter.html | 11 +- .../class-use/SpectraRatioExporter.html | 38 +- .../class-use/SwftStyleParamFileWriter.html | 8 +- .../VelocityConfigurationFileMixin.html | 8 +- .../gui/data/exporters/package-summary.html | 8 +- .../gui/data/exporters/package-tree.html | 8 +- .../gui/data/exporters/package-use.html | 12 +- .../events/CalibrationStageShownEvent.html | 10 +- .../gui/events/MapIconActivationCallback.html | 14 +- .../gui/events/MapPolygonChangeHandler.html | 14 +- .../MeasurementsWindowEvent.EventType.html | 12 +- .../gui/events/MeasurementsWindowEvent.html | 10 +- .../gui/events/ParametersLoadedEvent.html | 10 +- .../gui/events/UpdateMapPolygonEvent.html | 10 +- .../class-use/CalibrationStageShownEvent.html | 8 +- .../class-use/MapIconActivationCallback.html | 8 +- .../class-use/MapPolygonChangeHandler.html | 8 +- .../MeasurementsWindowEvent.EventType.html | 8 +- .../class-use/MeasurementsWindowEvent.html | 8 +- .../class-use/ParametersLoadedEvent.html | 8 +- .../class-use/UpdateMapPolygonEvent.html | 8 +- .../gui/events/package-summary.html | 8 +- .../calibration/gui/events/package-tree.html | 8 +- .../calibration/gui/events/package-use.html | 8 +- .../coda/calibration/gui/package-summary.html | 8 +- .../coda/calibration/gui/package-tree.html | 8 +- .../coda/calibration/gui/package-use.html | 8 +- .../gui/plotting/BasicWaveformPlot.html | 12 +- .../plotting/CertLeafletMapController.html | 100 +- .../gui/plotting/CodaWaveformPlot.html | 12 +- .../gui/plotting/CodaWaveformPlotManager.html | 20 +- .../LeafletMap.IconCallbackHandler.html | 10 +- ...afletMap.PolygonChangeCallbackHandler.html | 10 +- .../calibration/gui/plotting/LeafletMap.html | 48 +- .../gui/plotting/LeafletMapController.html | 56 +- .../gui/plotting/LeafletShapeFactory.html | 10 +- .../gui/plotting/MapPlottingUtilities.html | 10 +- .../gui/plotting/PlotlyPlotFactory.html | 74 +- .../gui/plotting/RatioDetailPlot.html | 12 +- .../RatioMeasurementSpectraPlotManager.html | 40 +- .../RatioMeasurementWaveformPlotManager.html | 18 +- .../gui/plotting/RatioMeasurementsGui.html | 10 +- .../gui/plotting/SpectraPlotManager.html | 10 +- .../gui/plotting/SpectralPlot.html | 128 +- .../calibration/gui/plotting/WaveformGui.html | 20 +- .../plotting/class-use/BasicWaveformPlot.html | 8 +- .../class-use/CertLeafletMapController.html | 71 +- .../plotting/class-use/CodaWaveformPlot.html | 8 +- .../class-use/CodaWaveformPlotManager.html | 8 +- .../LeafletMap.IconCallbackHandler.html | 8 +- ...afletMap.PolygonChangeCallbackHandler.html | 8 +- .../gui/plotting/class-use/LeafletMap.html | 8 +- .../class-use/LeafletMapController.html | 52 +- .../class-use/LeafletShapeFactory.html | 8 +- .../class-use/MapPlottingUtilities.html | 24 +- .../plotting/class-use/PlotlyPlotFactory.html | 8 +- .../plotting/class-use/RatioDetailPlot.html | 8 +- .../RatioMeasurementSpectraPlotManager.html | 8 +- .../RatioMeasurementWaveformPlotManager.html | 8 +- .../class-use/RatioMeasurementsGui.html | 8 +- .../class-use/SpectraPlotManager.html | 8 +- .../gui/plotting/class-use/SpectralPlot.html | 8 +- .../gui/plotting/class-use/WaveformGui.html | 11 +- .../gui/plotting/package-summary.html | 8 +- .../gui/plotting/package-tree.html | 8 +- .../calibration/gui/plotting/package-use.html | 39 +- .../gui/util/CalibrationProgressListener.html | 10 +- .../calibration/gui/util/FileDialogs.html | 10 +- .../gui/util/TextWrappingTableCell.html | 10 +- .../gui/util/TimeLatchedGetSet.html | 10 +- .../CalibrationProgressListener.html | 8 +- .../gui/util/class-use/FileDialogs.html | 8 +- .../util/class-use/TextWrappingTableCell.html | 8 +- .../gui/util/class-use/TimeLatchedGetSet.html | 8 +- .../calibration/gui/util/package-summary.html | 8 +- .../calibration/gui/util/package-tree.html | 8 +- .../calibration/gui/util/package-use.html | 8 +- .../calibration/model/domain/EnvelopeFit.html | 16 +- .../model/domain/EventSpectraReport.html | 14 +- .../model/domain/GeoJsonPolygon.html | 16 +- ...ctedCalibrationShapeFitterConstraints.html | 10 +- .../model/domain/InjectedVelocityConfig.html | 10 +- .../model/domain/MdacParametersFI.html | 16 +- .../model/domain/MdacParametersPS.html | 12 +- .../model/domain/MeasuredMwDetails.html | 16 +- .../model/domain/MeasuredMwParameters.html | 16 +- .../model/domain/MeasuredMwReportByEvent.html | 16 +- .../model/domain/MeasurementJob.html | 10 +- .../model/domain/MwOptimizerMeasurement.html | 16 +- .../domain/PathCalibrationMeasurement.html | 16 +- .../model/domain/PeakVelocityMeasurement.html | 16 +- .../PeakVelocityMeasurementMetadata.html | 8 +- .../domain/RatioOptimizerMeasurement.html | 458 +++++++ .../model/domain/ReferenceMwParameters.html | 16 +- .../model/domain/ShapeFitterConstraints.html | 16 +- .../model/domain/ShapeMeasurement.html | 16 +- .../domain/ShapeMeasurementMetadata.html | 8 +- .../model/domain/SiteCorrections.html | 10 +- .../domain/SiteFrequencyBandParameters.html | 16 +- .../calibration/model/domain/Spectra.html | 16 +- .../model/domain/SpectraMeasurement.html | 16 +- .../domain/SpectraMeasurementMetadata.html | 8 +- .../SpectraMeasurementMetadataImpl.html | 10 +- .../model/domain/ValidationMwParameters.html | 16 +- .../model/domain/VelocityConfiguration.html | 16 +- .../model/domain/WaveformMetadataImpl.html | 10 +- .../model/domain/class-use/EnvelopeFit.html | 8 +- .../domain/class-use/EventSpectraReport.html | 8 +- .../domain/class-use/GeoJsonPolygon.html | 8 +- ...ctedCalibrationShapeFitterConstraints.html | 8 +- .../class-use/InjectedVelocityConfig.html | 8 +- .../domain/class-use/MdacParametersFI.html | 8 +- .../domain/class-use/MdacParametersPS.html | 8 +- .../domain/class-use/MeasuredMwDetails.html | 43 +- .../class-use/MeasuredMwParameters.html | 8 +- .../class-use/MeasuredMwReportByEvent.html | 8 +- .../domain/class-use/MeasurementJob.html | 8 +- .../class-use/MwOptimizerMeasurement.html | 8 +- .../class-use/PathCalibrationMeasurement.html | 8 +- .../class-use/PeakVelocityMeasurement.html | 8 +- .../PeakVelocityMeasurementMetadata.html | 8 +- .../class-use/RatioOptimizerMeasurement.html | 150 +++ .../class-use/ReferenceMwParameters.html | 8 +- .../class-use/ShapeFitterConstraints.html | 8 +- .../domain/class-use/ShapeMeasurement.html | 8 +- .../class-use/ShapeMeasurementMetadata.html | 8 +- .../domain/class-use/SiteCorrections.html | 8 +- .../SiteFrequencyBandParameters.html | 8 +- .../model/domain/class-use/Spectra.html | 8 +- .../domain/class-use/SpectraMeasurement.html | 8 +- .../class-use/SpectraMeasurementMetadata.html | 8 +- .../SpectraMeasurementMetadataImpl.html | 8 +- .../class-use/ValidationMwParameters.html | 8 +- .../class-use/VelocityConfiguration.html | 8 +- .../class-use/WaveformMetadataImpl.html | 8 +- .../model/domain/mixins/MdacFiFileMixin.html | 10 +- .../model/domain/mixins/MdacPsFileMixin.html | 10 +- .../ReferenceMwParametersFileMixin.html | 10 +- .../ShapeFitterConstraintsFileMixin.html | 10 +- ...haredFrequencyBandParametersFileMixin.html | 10 +- ...haredFrequencyBandParametersJsonMixin.html | 10 +- .../SiteFrequencyBandParametersFileMixin.html | 10 +- .../SiteFrequencyBandParametersJsonMixin.html | 10 +- .../SpectraRatioPairDetailsMetadataMixin.html | 270 ++++ .../ValidationMwParametersFileMixin.html | 10 +- .../domain/mixins/WaveformMetadataMixin.html | 270 ++++ .../domain/mixins/WaveformPickMixin.html | 270 ++++ .../mixins/class-use/MdacFiFileMixin.html | 8 +- .../mixins/class-use/MdacPsFileMixin.html | 8 +- .../ReferenceMwParametersFileMixin.html | 8 +- .../ShapeFitterConstraintsFileMixin.html | 8 +- ...haredFrequencyBandParametersFileMixin.html | 8 +- ...haredFrequencyBandParametersJsonMixin.html | 8 +- .../SiteFrequencyBandParametersFileMixin.html | 8 +- .../SiteFrequencyBandParametersJsonMixin.html | 8 +- .../SpectraRatioPairDetailsMetadataMixin.html | 150 +++ .../ValidationMwParametersFileMixin.html | 8 +- .../class-use/WaveformMetadataMixin.html | 150 +++ .../mixins/class-use/WaveformPickMixin.html | 150 +++ .../model/domain/mixins/package-summary.html | 20 +- .../model/domain/mixins/package-tree.html | 11 +- .../model/domain/mixins/package-use.html | 8 +- .../model/domain/package-summary.html | 32 +- .../model/domain/package-tree.html | 9 +- .../calibration/model/domain/package-use.html | 41 +- .../BandParametersDataChangeEvent.html | 16 +- .../CalibrationStatusEvent.Status.html | 12 +- .../messaging/CalibrationStatusEvent.html | 16 +- .../model/messaging/GvDataChangeEvent.html | 16 +- .../model/messaging/MdacDataChangeEvent.html | 16 +- .../MeasurementStatusEvent.Status.html | 12 +- .../messaging/MeasurementStatusEvent.html | 16 +- .../messaging/RatioMeasurementEvent.html | 16 +- .../messaging/RatioStatusEvent.Status.html | 12 +- .../model/messaging/RatioStatusEvent.html | 16 +- .../ShapeConstraintsChangeEvent.html | 16 +- .../BandParametersDataChangeEvent.html | 8 +- .../CalibrationStatusEvent.Status.html | 8 +- .../class-use/CalibrationStatusEvent.html | 8 +- .../class-use/GvDataChangeEvent.html | 8 +- .../class-use/MdacDataChangeEvent.html | 8 +- .../MeasurementStatusEvent.Status.html | 8 +- .../class-use/MeasurementStatusEvent.html | 8 +- .../class-use/RatioMeasurementEvent.html | 8 +- .../class-use/RatioStatusEvent.Status.html | 8 +- .../messaging/class-use/RatioStatusEvent.html | 8 +- .../ShapeConstraintsChangeEvent.html | 8 +- .../model/messaging/package-summary.html | 8 +- .../model/messaging/package-tree.html | 8 +- .../model/messaging/package-use.html | 8 +- .../coda/calibration/package-summary.html | 8 +- .../apps/coda/calibration/package-tree.html | 8 +- .../apps/coda/calibration/package-use.html | 8 +- ...ationShapeFitterConstraintsRepository.html | 8 +- .../MdacParametersFiRepository.html | 8 +- .../MdacParametersPsRepository.html | 8 +- .../repository/MeasuredMwsRepository.html | 8 +- .../PathCalibrationMeasurementRepository.html | 8 +- .../PeakVelocityMeasurementRepository.html | 8 +- .../repository/PolygonRepository.html | 8 +- .../ReferenceMwParametersRepository.html | 8 +- .../ShapeMeasurementRepository.html | 8 +- ...aredFrequencyBandParametersRepository.html | 8 +- ...SiteFrequencyBandParametersRepository.html | 8 +- .../SpectraMeasurementRepository.html | 8 +- ...raRatioJointInversionSampleRepository.html | 8 +- .../SpectraRatioPairDetailsRepository.html | 107 +- ...traRatioPairInversionSampleRepository.html | 8 +- .../repository/SyntheticRepository.html | 8 +- .../ValidationMwParametersRepository.html | 8 +- .../VelocityConfigurationRepository.html | 8 +- ...ationShapeFitterConstraintsRepository.html | 8 +- .../class-use/MdacParametersFiRepository.html | 8 +- .../class-use/MdacParametersPsRepository.html | 8 +- .../class-use/MeasuredMwsRepository.html | 8 +- .../PathCalibrationMeasurementRepository.html | 8 +- .../PeakVelocityMeasurementRepository.html | 8 +- .../class-use/PolygonRepository.html | 8 +- .../ReferenceMwParametersRepository.html | 8 +- .../class-use/ShapeMeasurementRepository.html | 8 +- ...aredFrequencyBandParametersRepository.html | 8 +- ...SiteFrequencyBandParametersRepository.html | 8 +- .../SpectraMeasurementRepository.html | 8 +- ...raRatioJointInversionSampleRepository.html | 8 +- .../SpectraRatioPairDetailsRepository.html | 8 +- ...traRatioPairInversionSampleRepository.html | 8 +- .../class-use/SyntheticRepository.html | 8 +- .../ValidationMwParametersRepository.html | 8 +- .../VelocityConfigurationRepository.html | 8 +- .../repository/package-summary.html | 8 +- .../calibration/repository/package-tree.html | 8 +- .../calibration/repository/package-use.html | 8 +- .../service/api/AutopickingService.html | 8 +- .../service/api/CalibrationService.html | 8 +- .../service/api/ConfigurationService.html | 8 +- .../service/api/DatabaseCleaningService.html | 8 +- .../service/api/EndTimePicker.html | 8 +- .../service/api/GeometryService.html | 8 +- .../service/api/MdacParametersFiService.html | 8 +- .../service/api/MdacParametersPsService.html | 8 +- .../service/api/MeasuredMwsService.html | 8 +- .../PathCalibrationMeasurementService.html | 8 +- .../service/api/PathCalibrationService.html | 8 +- .../api/PeakVelocityMeasurementService.html | 8 +- .../api/ReferenceMwParametersService.html | 8 +- .../service/api/ShapeCalibrationService.html | 8 +- .../service/api/ShapeMeasurementService.html | 8 +- .../SharedFrequencyBandParametersService.html | 8 +- .../service/api/SiteCalibrationService.html | 8 +- .../SiteFrequencyBandParametersService.html | 8 +- .../api/SpectraMeasurementService.html | 8 +- .../api/SpectraRatioPairDetailsService.html | 56 +- ...pectraRatioPairInversionSampleService.html | 8 +- .../api/SyntheticCodaGenerationService.html | 8 +- .../service/api/SyntheticService.html | 8 +- .../api/ValidationMwParametersService.html | 8 +- .../api/class-use/AutopickingService.html | 8 +- .../api/class-use/CalibrationService.html | 8 +- .../api/class-use/ConfigurationService.html | 8 +- .../class-use/DatabaseCleaningService.html | 8 +- .../service/api/class-use/EndTimePicker.html | 8 +- .../api/class-use/GeometryService.html | 8 +- .../class-use/MdacParametersFiService.html | 8 +- .../class-use/MdacParametersPsService.html | 8 +- .../api/class-use/MeasuredMwsService.html | 8 +- .../PathCalibrationMeasurementService.html | 8 +- .../api/class-use/PathCalibrationService.html | 8 +- .../PeakVelocityMeasurementService.html | 8 +- .../ReferenceMwParametersService.html | 8 +- .../class-use/ShapeCalibrationService.html | 8 +- .../class-use/ShapeMeasurementService.html | 8 +- .../SharedFrequencyBandParametersService.html | 8 +- .../api/class-use/SiteCalibrationService.html | 8 +- .../SiteFrequencyBandParametersService.html | 8 +- .../class-use/SpectraMeasurementService.html | 8 +- .../SpectraRatioPairDetailsService.html | 8 +- ...pectraRatioPairInversionSampleService.html | 8 +- .../SyntheticCodaGenerationService.html | 8 +- .../api/class-use/SyntheticService.html | 8 +- .../ValidationMwParametersService.html | 8 +- .../service/api/package-summary.html | 8 +- .../calibration/service/api/package-tree.html | 8 +- .../calibration/service/api/package-use.html | 8 +- .../service/impl/AutopickingServiceImpl.html | 10 +- .../service/impl/CalibrationServiceImpl.html | 10 +- .../service/impl/ConcurrencyUtils.html | 10 +- .../impl/ConfigurationServiceImpl.html | 10 +- .../impl/DatabaseCleaningServiceImpl.html | 10 +- .../service/impl/GeometryServiceImpl.html | 10 +- .../service/impl/Joint1DPathCorrection.html | 10 +- .../impl/MdacParametersFiServiceImpl.html | 10 +- .../impl/MdacParametersPsServiceImpl.html | 10 +- .../service/impl/MeasuredMwsServiceImpl.html | 10 +- ...PathCalibrationMeasurementServiceImpl.html | 10 +- .../PeakVelocityMeasurementServiceImpl.html | 10 +- .../ReferenceMwParametersServiceImpl.html | 10 +- .../service/impl/ServiceConfig.html | 10 +- .../impl/ShapeCalibrationServiceImpl.html | 10 +- .../impl/ShapeMeasurementServiceImpl.html | 10 +- ...redFrequencyBandParametersServiceImpl.html | 10 +- .../impl/SiteCalibrationServiceImpl.html | 10 +- ...iteFrequencyBandParametersServiceImpl.html | 10 +- .../impl/SpectraMeasurementServiceImpl.html | 10 +- .../service/impl/SpectraRatioServiceImpl.html | 85 +- .../SyntheticCodaGenerationServiceImpl.html | 10 +- .../service/impl/SyntheticServiceImpl.html | 10 +- .../ValidationMwParametersServiceImpl.html | 10 +- .../class-use/AutopickingServiceImpl.html | 8 +- .../class-use/CalibrationServiceImpl.html | 8 +- .../impl/class-use/ConcurrencyUtils.html | 8 +- .../class-use/ConfigurationServiceImpl.html | 8 +- .../DatabaseCleaningServiceImpl.html | 8 +- .../impl/class-use/GeometryServiceImpl.html | 8 +- .../impl/class-use/Joint1DPathCorrection.html | 8 +- .../MdacParametersFiServiceImpl.html | 8 +- .../MdacParametersPsServiceImpl.html | 8 +- .../class-use/MeasuredMwsServiceImpl.html | 8 +- ...PathCalibrationMeasurementServiceImpl.html | 8 +- .../PeakVelocityMeasurementServiceImpl.html | 8 +- .../ReferenceMwParametersServiceImpl.html | 8 +- .../service/impl/class-use/ServiceConfig.html | 8 +- .../ShapeCalibrationServiceImpl.html | 8 +- .../ShapeMeasurementServiceImpl.html | 8 +- ...redFrequencyBandParametersServiceImpl.html | 8 +- .../class-use/SiteCalibrationServiceImpl.html | 8 +- ...iteFrequencyBandParametersServiceImpl.html | 8 +- .../SpectraMeasurementServiceImpl.html | 8 +- .../class-use/SpectraRatioServiceImpl.html | 8 +- .../SyntheticCodaGenerationServiceImpl.html | 8 +- .../impl/class-use/SyntheticServiceImpl.html | 8 +- .../ValidationMwParametersServiceImpl.html | 8 +- .../service/impl/package-summary.html | 8 +- .../service/impl/package-tree.html | 8 +- .../calibration/service/impl/package-use.html | 8 +- .../CalibrationCurveFitter.GridFitter.html | 8 +- .../processing/CalibrationCurveFitter.html | 10 +- .../impl/processing/CodaSNREndTimePicker.html | 10 +- .../service/impl/processing/EnergyInfo.html | 12 +- .../processing/MaxVelocityCalculator.html | 10 +- .../impl/processing/MdacCalculator.html | 10 +- .../processing/MdacCalculatorService.html | 10 +- .../processing/MwMeasurementInputData.html | 10 +- .../processing/PathCostFunctionResult.html | 16 +- .../impl/processing/ShapeCalculator.html | 10 +- .../impl/processing/SpectraCalculator.html | 14 +- .../SpectraRatioInversionCalculator.html | 26 +- .../impl/processing/SyntheticCodaModel.html | 10 +- .../CalibrationCurveFitter.GridFitter.html | 8 +- .../class-use/CalibrationCurveFitter.html | 8 +- .../class-use/CodaSNREndTimePicker.html | 8 +- .../impl/processing/class-use/EnergyInfo.html | 8 +- .../class-use/MaxVelocityCalculator.html | 8 +- .../processing/class-use/MdacCalculator.html | 8 +- .../class-use/MdacCalculatorService.html | 8 +- .../class-use/MwMeasurementInputData.html | 8 +- .../class-use/PathCostFunctionResult.html | 8 +- .../processing/class-use/ShapeCalculator.html | 8 +- .../class-use/SpectraCalculator.html | 8 +- .../SpectraRatioInversionCalculator.html | 8 +- .../class-use/SyntheticCodaModel.html | 8 +- .../impl/processing/package-summary.html | 8 +- .../service/impl/processing/package-tree.html | 8 +- .../service/impl/processing/package-use.html | 8 +- .../standalone/CodaCalibrationStandalone.html | 10 +- .../class-use/CodaCalibrationStandalone.html | 8 +- .../data/client/CalibrationLocalClient.html | 10 +- .../data/client/EventLocalClient.html | 10 +- .../data/client/ParameterLocalClient.html | 10 +- .../data/client/PeakVelocityLocalClient.html | 10 +- .../client/ShapeMeasurementLocalClient.html | 10 +- .../data/client/SpectraLocalClient.html | 10 +- .../data/client/SpectraRatioLocalClient.html | 90 +- .../data/client/WaveformLocalClient.html | 10 +- .../class-use/CalibrationLocalClient.html | 8 +- .../client/class-use/EventLocalClient.html | 8 +- .../class-use/ParameterLocalClient.html | 8 +- .../class-use/PeakVelocityLocalClient.html | 8 +- .../ShapeMeasurementLocalClient.html | 8 +- .../client/class-use/SpectraLocalClient.html | 8 +- .../class-use/SpectraRatioLocalClient.html | 8 +- .../client/class-use/WaveformLocalClient.html | 8 +- .../data/client/package-summary.html | 8 +- .../standalone/data/client/package-tree.html | 8 +- .../standalone/data/client/package-use.html | 8 +- .../standalone/package-summary.html | 8 +- .../calibration/standalone/package-tree.html | 8 +- .../calibration/standalone/package-use.html | 8 +- .../application/config/WebSocketConfig.html | 10 +- .../config/class-use/WebSocketConfig.html | 8 +- .../application/config/package-summary.html | 8 +- .../application/config/package-tree.html | 8 +- .../application/config/package-use.html | 8 +- .../web/BasicNotificationStompController.html | 10 +- .../web/TypingMessageTemplate.html | 10 +- ...WaveformPicksCollectionJsonController.html | 10 +- .../web/WaveformPicksItemJsonController.html | 10 +- .../WaveformsCollectionJsonController.html | 10 +- .../web/WaveformsItemJsonController.html | 10 +- .../BasicNotificationStompController.html | 8 +- .../web/class-use/TypingMessageTemplate.html | 8 +- ...WaveformPicksCollectionJsonController.html | 8 +- .../WaveformPicksItemJsonController.html | 8 +- .../WaveformsCollectionJsonController.html | 8 +- .../WaveformsItemJsonController.html | 8 +- .../application/web/package-summary.html | 8 +- .../common/application/web/package-tree.html | 8 +- .../common/application/web/package-use.html | 8 +- .../coda/common/gui/FXMLLoaderBuilder.html | 10 +- .../coda/common/gui/SimpleGuiPreloader.html | 10 +- .../apps/coda/common/gui/WebclientConfig.html | 10 +- .../gui/class-use/FXMLLoaderBuilder.html | 8 +- .../gui/class-use/SimpleGuiPreloader.html | 8 +- .../common/gui/class-use/WebclientConfig.html | 8 +- .../AbstractSeismogramSaveLoadController.html | 10 +- .../controllers/FailureReportController.html | 10 +- .../common/gui/controllers/ProgressGui.html | 10 +- .../AbstractSeismogramSaveLoadController.html | 8 +- .../class-use/FailureReportController.html | 8 +- .../controllers/class-use/ProgressGui.html | 8 +- .../gui/controllers/package-summary.html | 8 +- .../common/gui/controllers/package-tree.html | 8 +- .../common/gui/controllers/package-use.html | 8 +- .../converters/api/CodaFilenameParser.html | 8 +- .../api/FileToEnvelopeConverter.html | 8 +- .../api/FileToSeismogramConverter.html | 8 +- .../api/FileToWaveformConverter.html | 8 +- .../common/gui/converters/api/StackInfo.html | 10 +- .../api/class-use/CodaFilenameParser.html | 8 +- .../class-use/FileToEnvelopeConverter.html | 8 +- .../class-use/FileToSeismogramConverter.html | 8 +- .../class-use/FileToWaveformConverter.html | 8 +- .../converters/api/class-use/StackInfo.html | 8 +- .../gui/converters/api/package-summary.html | 8 +- .../gui/converters/api/package-tree.html | 8 +- .../gui/converters/api/package-use.html | 8 +- .../sac/CodaFilenameParserImpl.html | 10 +- .../gui/converters/sac/SacExporter.html | 10 +- .../common/gui/converters/sac/SacLoader.html | 10 +- .../sac/class-use/CodaFilenameParserImpl.html | 8 +- .../converters/sac/class-use/SacExporter.html | 8 +- .../converters/sac/class-use/SacLoader.html | 8 +- .../gui/converters/sac/package-summary.html | 8 +- .../gui/converters/sac/package-tree.html | 8 +- .../gui/converters/sac/package-use.html | 8 +- .../gui/data/client/CodaWebClientBuilder.html | 10 +- .../gui/data/client/EventBusBuilder.html | 10 +- .../client/EventBusStompSessionHandler.html | 10 +- .../gui/data/client/WaveformWebClient.html | 10 +- .../gui/data/client/api/WaveformClient.html | 8 +- .../client/api/class-use/WaveformClient.html | 21 +- .../gui/data/client/api/package-summary.html | 8 +- .../gui/data/client/api/package-tree.html | 8 +- .../gui/data/client/api/package-use.html | 8 +- .../class-use/CodaWebClientBuilder.html | 8 +- .../client/class-use/EventBusBuilder.html | 8 +- .../EventBusStompSessionHandler.html | 8 +- .../client/class-use/WaveformWebClient.html | 8 +- .../gui/data/client/package-summary.html | 8 +- .../common/gui/data/client/package-tree.html | 8 +- .../common/gui/data/client/package-use.html | 8 +- .../gui/events/EnvelopeLoadCompleteEvent.html | 10 +- .../gui/events/EnvelopeLoadStartingEvent.html | 10 +- .../gui/events/ShowFailureReportEvent.html | 10 +- .../gui/events/SocketDisconnectEvent.html | 10 +- .../gui/events/WaveformSelectionEvent.html | 10 +- .../class-use/EnvelopeLoadCompleteEvent.html | 8 +- .../class-use/EnvelopeLoadStartingEvent.html | 8 +- .../class-use/ShowFailureReportEvent.html | 8 +- .../class-use/SocketDisconnectEvent.html | 8 +- .../class-use/WaveformSelectionEvent.html | 8 +- .../common/gui/events/package-summary.html | 8 +- .../coda/common/gui/events/package-tree.html | 8 +- .../coda/common/gui/events/package-use.html | 8 +- .../apps/coda/common/gui/package-summary.html | 8 +- .../apps/coda/common/gui/package-tree.html | 8 +- .../apps/coda/common/gui/package-use.html | 8 +- .../common/gui/plotting/LabeledPlotPoint.html | 10 +- .../coda/common/gui/plotting/PlotPoint.html | 16 +- .../gui/plotting/SymbolStyleMapFactory.html | 10 +- .../plotting/class-use/LabeledPlotPoint.html | 8 +- .../gui/plotting/class-use/PlotPoint.html | 11 +- .../class-use/SymbolStyleMapFactory.html | 11 +- .../common/gui/plotting/package-summary.html | 8 +- .../common/gui/plotting/package-tree.html | 8 +- .../coda/common/gui/plotting/package-use.html | 8 +- .../common/gui/util/CellBindingUtils.html | 10 +- .../apps/coda/common/gui/util/ClickUtils.html | 10 +- .../common/gui/util/CombinedTrustManager.html | 16 +- .../coda/common/gui/util/CommonGuiUtils.html | 10 +- .../gui/util/DoubleWrappingEventHandler.html | 10 +- .../util/EventStaFreqStringComparator.html | 14 +- .../gui/util/HiddenHeaderTableView.html | 10 +- .../gui/util/IntegerWrappingEventHandler.html | 10 +- .../util/MaybeNumericStringComparator.html | 14 +- .../common/gui/util/NumberFormatFactory.html | 10 +- .../util/PassFailEventProgressListener.html | 10 +- .../util/ProgressEventProgressListener.html | 10 +- .../common/gui/util/ProgressListener.html | 10 +- .../coda/common/gui/util/ProgressMonitor.html | 12 +- .../coda/common/gui/util/SnapshotUtils.html | 10 +- .../apps/coda/common/gui/util/SslUtils.html | 10 +- .../apps/coda/common/gui/util/TableUtils.html | 10 +- .../common/gui/util/WrappingEventHandler.html | 10 +- .../gui/util/class-use/CellBindingUtils.html | 8 +- .../common/gui/util/class-use/ClickUtils.html | 8 +- .../util/class-use/CombinedTrustManager.html | 8 +- .../gui/util/class-use/CommonGuiUtils.html | 8 +- .../class-use/DoubleWrappingEventHandler.html | 8 +- .../EventStaFreqStringComparator.html | 8 +- .../util/class-use/HiddenHeaderTableView.html | 8 +- .../IntegerWrappingEventHandler.html | 8 +- .../MaybeNumericStringComparator.html | 8 +- .../util/class-use/NumberFormatFactory.html | 8 +- .../PassFailEventProgressListener.html | 8 +- .../ProgressEventProgressListener.html | 8 +- .../gui/util/class-use/ProgressListener.html | 8 +- .../gui/util/class-use/ProgressMonitor.html | 38 +- .../gui/util/class-use/SnapshotUtils.html | 8 +- .../common/gui/util/class-use/SslUtils.html | 8 +- .../common/gui/util/class-use/TableUtils.html | 8 +- .../util/class-use/WrappingEventHandler.html | 8 +- .../coda/common/gui/util/package-summary.html | 8 +- .../coda/common/gui/util/package-tree.html | 8 +- .../coda/common/gui/util/package-use.html | 12 +- .../apps/coda/common/mapping/LeafletIcon.html | 10 +- .../apps/coda/common/mapping/LeafletLine.html | 16 +- .../mapping/MAP_CALLBACK_EVENT_TYPE.html | 12 +- .../coda/common/mapping/MapCallbackEvent.html | 10 +- .../coda/common/mapping/MapProperties.html | 10 +- .../common/mapping/StaticHtmlLeafletMap.html | 10 +- .../common/mapping/WMSLayerDescriptor.html | 16 +- .../apps/coda/common/mapping/api/GeoBox.html | 10 +- .../apps/coda/common/mapping/api/GeoMap.html | 38 +- .../coda/common/mapping/api/GeoShape.html | 8 +- .../common/mapping/api/GeoShapeFactory.html | 8 +- .../common/mapping/api/Icon.IconStyles.html | 12 +- .../common/mapping/api/Icon.IconTypes.html | 12 +- .../apps/coda/common/mapping/api/Icon.html | 8 +- .../apps/coda/common/mapping/api/Line.html | 8 +- .../coda/common/mapping/api/Location.html | 16 +- .../common/mapping/api/class-use/GeoBox.html | 8 +- .../common/mapping/api/class-use/GeoMap.html | 36 +- .../mapping/api/class-use/GeoShape.html | 8 +- .../api/class-use/GeoShapeFactory.html | 8 +- .../api/class-use/Icon.IconStyles.html | 8 +- .../mapping/api/class-use/Icon.IconTypes.html | 8 +- .../common/mapping/api/class-use/Icon.html | 44 +- .../common/mapping/api/class-use/Line.html | 8 +- .../mapping/api/class-use/Location.html | 8 +- .../common/mapping/api/package-summary.html | 8 +- .../coda/common/mapping/api/package-tree.html | 8 +- .../coda/common/mapping/api/package-use.html | 8 +- .../common/mapping/class-use/LeafletIcon.html | 8 +- .../common/mapping/class-use/LeafletLine.html | 8 +- .../class-use/MAP_CALLBACK_EVENT_TYPE.html | 8 +- .../mapping/class-use/MapCallbackEvent.html | 8 +- .../mapping/class-use/MapProperties.html | 8 +- .../class-use/StaticHtmlLeafletMap.html | 8 +- .../mapping/class-use/WMSLayerDescriptor.html | 8 +- .../coda/common/mapping/package-summary.html | 8 +- .../coda/common/mapping/package-tree.html | 8 +- .../apps/coda/common/mapping/package-use.html | 8 +- .../mapping/utils/LeafletToJavascript.html | 10 +- .../utils/class-use/LeafletToJavascript.html | 8 +- .../common/mapping/utils/package-summary.html | 8 +- .../common/mapping/utils/package-tree.html | 8 +- .../common/mapping/utils/package-use.html | 8 +- .../apps/coda/common/model/domain/Event.html | 16 +- .../common/model/domain/FrequencyBand.html | 18 +- .../apps/coda/common/model/domain/Pair.html | 16 +- .../coda/common/model/domain/Project.html | 10 +- .../domain/SharedFrequencyBandParameters.html | 16 +- .../coda/common/model/domain/Station.html | 16 +- .../apps/coda/common/model/domain/Stream.html | 16 +- .../common/model/domain/SyntheticCoda.html | 16 +- .../coda/common/model/domain/Waveform.html | 16 +- .../common/model/domain/WaveformMetadata.html | 8 +- .../common/model/domain/WaveformPick.html | 16 +- .../common/model/domain/class-use/Event.html | 28 +- .../model/domain/class-use/FrequencyBand.html | 15 +- .../common/model/domain/class-use/Pair.html | 8 +- .../model/domain/class-use/Project.html | 8 +- .../SharedFrequencyBandParameters.html | 8 +- .../model/domain/class-use/Station.html | 73 +- .../common/model/domain/class-use/Stream.html | 8 +- .../model/domain/class-use/SyntheticCoda.html | 8 +- .../model/domain/class-use/Waveform.html | 26 +- .../domain/class-use/WaveformMetadata.html | 107 +- .../model/domain/class-use/WaveformPick.html | 8 +- .../common/model/domain/package-summary.html | 8 +- .../common/model/domain/package-tree.html | 8 +- .../coda/common/model/domain/package-use.html | 22 +- .../common/model/messaging/PassFailEvent.html | 16 +- .../coda/common/model/messaging/Progress.html | 10 +- .../common/model/messaging/ProgressEvent.html | 16 +- .../coda/common/model/messaging/Result.html | 16 +- .../SpectraMeasurementChangeEvent.html | 16 +- .../model/messaging/WaveformChangeEvent.html | 16 +- .../messaging/class-use/PassFailEvent.html | 8 +- .../model/messaging/class-use/Progress.html | 8 +- .../messaging/class-use/ProgressEvent.html | 8 +- .../model/messaging/class-use/Result.html | 71 +- .../SpectraMeasurementChangeEvent.html | 8 +- .../class-use/WaveformChangeEvent.html | 8 +- .../model/messaging/package-summary.html | 8 +- .../common/model/messaging/package-tree.html | 8 +- .../common/model/messaging/package-use.html | 49 +- .../model/test/annotations/GuiTest.html | 8 +- .../model/test/annotations/IntTest.html | 8 +- .../test/annotations/class-use/GuiTest.html | 8 +- .../test/annotations/class-use/IntTest.html | 8 +- .../test/annotations/package-summary.html | 8 +- .../model/test/annotations/package-tree.html | 8 +- .../model/test/annotations/package-use.html | 8 +- .../apps/coda/common/model/util/Durable.html | 8 +- .../LightweightIllegalStateException.html | 14 +- .../common/model/util/MESSAGE_HEADERS.html | 10 +- .../coda/common/model/util/PICK_TYPES.html | 12 +- .../coda/common/model/util/SPECTRA_TYPES.html | 12 +- .../common/model/util/class-use/Durable.html | 8 +- .../LightweightIllegalStateException.html | 8 +- .../model/util/class-use/MESSAGE_HEADERS.html | 8 +- .../model/util/class-use/PICK_TYPES.html | 8 +- .../model/util/class-use/SPECTRA_TYPES.html | 8 +- .../common/model/util/package-summary.html | 8 +- .../coda/common/model/util/package-tree.html | 8 +- .../coda/common/model/util/package-use.html | 8 +- .../repository/DetachableJpaRepoImpl.html | 10 +- .../repository/DetachableJpaRepository.html | 8 +- .../repository/WaveformPickRepository.html | 8 +- .../common/repository/WaveformRepository.html | 8 +- .../class-use/DetachableJpaRepoImpl.html | 8 +- .../class-use/DetachableJpaRepository.html | 8 +- .../class-use/WaveformPickRepository.html | 8 +- .../class-use/WaveformRepository.html | 8 +- .../common/repository/package-summary.html | 8 +- .../coda/common/repository/package-tree.html | 8 +- .../coda/common/repository/package-use.html | 8 +- .../coda/common/service/api/BaseService.html | 8 +- .../coda/common/service/api/Listener.html | 8 +- .../service/api/NotificationService.html | 8 +- .../service/api/WaveformPickService.html | 8 +- .../common/service/api/WaveformService.html | 48 +- .../service/api/class-use/BaseService.html | 8 +- .../service/api/class-use/Listener.html | 8 +- .../api/class-use/NotificationService.html | 8 +- .../api/class-use/WaveformPickService.html | 8 +- .../api/class-use/WaveformService.html | 8 +- .../common/service/api/package-summary.html | 8 +- .../coda/common/service/api/package-tree.html | 8 +- .../coda/common/service/api/package-use.html | 8 +- .../service/impl/NotificationServiceImpl.html | 10 +- .../service/impl/WaveformPickServiceImpl.html | 10 +- .../service/impl/WaveformServiceImpl.html | 66 +- .../class-use/NotificationServiceImpl.html | 8 +- .../class-use/WaveformPickServiceImpl.html | 8 +- .../impl/class-use/WaveformServiceImpl.html | 8 +- .../common/service/impl/package-summary.html | 8 +- .../common/service/impl/package-tree.html | 8 +- .../coda/common/service/impl/package-use.html | 8 +- .../common/service/util/MetadataUtils.html | 10 +- .../util/WaveformToTimeSeriesConverter.html | 10 +- .../common/service/util/WaveformUtils.html | 10 +- .../service/util/class-use/MetadataUtils.html | 8 +- .../WaveformToTimeSeriesConverter.html | 8 +- .../service/util/class-use/WaveformUtils.html | 8 +- .../common/service/util/package-summary.html | 8 +- .../common/service/util/package-tree.html | 8 +- .../coda/common/service/util/package-use.html | 8 +- .../coda/common/util/NumberFormatFactory.html | 10 +- .../util/class-use/NumberFormatFactory.html | 8 +- .../coda/common/util/package-summary.html | 8 +- .../apps/coda/common/util/package-tree.html | 8 +- .../apps/coda/common/util/package-use.html | 8 +- .../web/EnvelopeJsonController.html | 10 +- .../web/EnvelopeParamsJsonController.html | 10 +- .../web/class-use/EnvelopeJsonController.html | 8 +- .../EnvelopeParamsJsonController.html | 8 +- .../application/web/package-summary.html | 8 +- .../application/web/package-tree.html | 8 +- .../envelope/application/web/package-use.html | 8 +- .../envelope/gui/EnvelopeGuiController.html | 10 +- .../envelope/gui/EnvelopeParamsPorter.html | 10 +- .../gui/LoadRatioEventsGuiController.html | 10 +- .../envelope/gui/LoadRatioEventsJSON.html | 10 +- .../gui/class-use/EnvelopeGuiController.html | 11 +- .../gui/class-use/EnvelopeParamsPorter.html | 8 +- .../LoadRatioEventsGuiController.html | 11 +- .../gui/class-use/LoadRatioEventsJSON.html | 8 +- .../controllers/EnvelopeParamsController.html | 10 +- .../WaveformLoadingController.html | 10 +- .../class-use/EnvelopeParamsController.html | 8 +- .../class-use/WaveformLoadingController.html | 8 +- .../gui/controllers/package-summary.html | 8 +- .../gui/controllers/package-tree.html | 8 +- .../envelope/gui/controllers/package-use.html | 8 +- .../envelope/gui/data/api/EnvelopeClient.html | 8 +- .../gui/data/api/EnvelopeParamsClient.html | 8 +- .../data/api/class-use/EnvelopeClient.html | 8 +- .../api/class-use/EnvelopeParamsClient.html | 8 +- .../gui/data/api/package-summary.html | 8 +- .../envelope/gui/data/api/package-tree.html | 8 +- .../envelope/gui/data/api/package-use.html | 8 +- .../data/client/EnvelopeParamsWebClient.html | 10 +- .../gui/data/client/EnvelopeWebClient.html | 10 +- .../class-use/EnvelopeParamsWebClient.html | 8 +- .../client/class-use/EnvelopeWebClient.html | 8 +- .../gui/data/client/package-summary.html | 8 +- .../gui/data/client/package-tree.html | 8 +- .../envelope/gui/data/client/package-use.html | 8 +- .../EnvelopeJobConfigLoadCompleteEvent.html | 10 +- .../EnvelopeJobConfigLoadCompleteEvent.html | 8 +- .../envelope/gui/events/package-summary.html | 8 +- .../envelope/gui/events/package-tree.html | 8 +- .../coda/envelope/gui/events/package-use.html | 8 +- .../coda/envelope/gui/package-summary.html | 8 +- .../apps/coda/envelope/gui/package-tree.html | 8 +- .../apps/coda/envelope/gui/package-use.html | 8 +- ...Default14BandEnvelopeJobConfiguration.html | 10 +- .../model/domain/EnvelopeBandParameters.html | 10 +- .../envelope/model/domain/EnvelopeJob.html | 16 +- .../domain/EnvelopeJobConfiguration.html | 10 +- .../envelope/model/domain/SpacingType.html | 12 +- ...Default14BandEnvelopeJobConfiguration.html | 8 +- .../class-use/EnvelopeBandParameters.html | 8 +- .../model/domain/class-use/EnvelopeJob.html | 8 +- .../class-use/EnvelopeJobConfiguration.html | 8 +- .../model/domain/class-use/SpacingType.html | 8 +- .../model/domain/package-summary.html | 8 +- .../envelope/model/domain/package-tree.html | 8 +- .../envelope/model/domain/package-use.html | 8 +- .../service/api/EnvelopeCreationService.html | 8 +- .../service/api/EnvelopeParamsService.html | 8 +- .../envelope/service/api/WaveformStacker.html | 8 +- .../class-use/EnvelopeCreationService.html | 8 +- .../api/class-use/EnvelopeParamsService.html | 8 +- .../api/class-use/WaveformStacker.html | 8 +- .../envelope/service/api/package-summary.html | 8 +- .../envelope/service/api/package-tree.html | 8 +- .../envelope/service/api/package-use.html | 8 +- .../impl/EnvelopeCreationServiceImpl.html | 10 +- .../impl/EnvelopeParamsServiceImpl.html | 10 +- .../service/impl/EnvelopeStacker.html | 10 +- .../EnvelopeCreationServiceImpl.html | 8 +- .../class-use/EnvelopeParamsServiceImpl.html | 8 +- .../impl/class-use/EnvelopeStacker.html | 8 +- .../service/impl/package-summary.html | 8 +- .../envelope/service/impl/package-tree.html | 8 +- .../envelope/service/impl/package-use.html | 8 +- .../data/client/EnvelopeLocalClient.html | 10 +- .../client/EnvelopeParamsLocalClient.html | 10 +- .../client/class-use/EnvelopeLocalClient.html | 8 +- .../class-use/EnvelopeParamsLocalClient.html | 8 +- .../data/client/package-summary.html | 8 +- .../standalone/data/client/package-tree.html | 8 +- .../standalone/data/client/package-use.html | 8 +- .../coda/envelope/util/BandGenerator.html | 8 +- .../envelope/util/LinearBandGenerator.html | 10 +- .../coda/envelope/util/LogBandGenerator.html | 10 +- .../util/class-use/BandGenerator.html | 8 +- .../util/class-use/LinearBandGenerator.html | 8 +- .../util/class-use/LogBandGenerator.html | 8 +- .../coda/envelope/util/package-summary.html | 8 +- .../apps/coda/envelope/util/package-tree.html | 8 +- .../apps/coda/envelope/util/package-use.html | 8 +- .../apps/coda/spectra/SpectraApplication.html | 10 +- .../spectra/class-use/SpectraApplication.html | 8 +- .../gui/RatioStatusProgressListener.html | 10 +- .../gui/SpectraRatioGuiController.html | 16 +- .../RatioStatusProgressListener.html | 8 +- .../class-use/SpectraRatioGuiController.html | 11 +- .../gui/events/RatioSegmentChangeEvent.html | 308 +++++ .../class-use/RatioSegmentChangeEvent.html | 150 +++ .../spectra/gui/events/package-summary.html | 168 +++ .../coda/spectra/gui/events/package-tree.html | 165 +++ .../coda/spectra/gui/events/package-use.html | 150 +++ .../coda/spectra/gui/package-summary.html | 8 +- .../apps/coda/spectra/gui/package-tree.html | 8 +- .../apps/coda/spectra/gui/package-use.html | 8 +- .../model/domain/MomentCornerEstimate.html | 16 +- .../spectra/model/domain/RatioEventData.html | 10 +- .../model/domain/RatioEventStationData.html | 10 +- .../model/domain/SpectraEvent.Fraction.html | 12 +- .../spectra/model/domain/SpectraEvent.html | 10 +- .../model/domain/SpectraRatioMeasurement.html | 16 +- .../domain/SpectraRatioMeasurementJob.html | 10 +- .../model/domain/SpectraRatioPairDetails.html | 130 +- .../SpectraRatioPairDetailsMetadata.html | 634 +++++++++ .../SpectraRatioPairDetailsMetadataImpl.html | 1173 +++++++++++++++++ .../SpectraRatioPairInversionResult.html | 366 ++++- .../SpectraRatioPairInversionResultJoint.html | 366 ++++- .../model/domain/SpectraRatiosReport.html | 16 +- .../class-use/MomentCornerEstimate.html | 54 +- .../domain/class-use/RatioEventData.html | 8 +- .../class-use/RatioEventStationData.html | 8 +- .../class-use/SpectraEvent.Fraction.html | 8 +- .../model/domain/class-use/SpectraEvent.html | 8 +- .../class-use/SpectraRatioMeasurement.html | 8 +- .../class-use/SpectraRatioMeasurementJob.html | 8 +- .../class-use/SpectraRatioPairDetails.html | 274 +++- .../SpectraRatioPairDetailsMetadata.html | 685 ++++++++++ .../SpectraRatioPairDetailsMetadataImpl.html | 150 +++ .../SpectraRatioPairInversionResult.html | 48 +- .../SpectraRatioPairInversionResultJoint.html | 48 +- .../domain/class-use/SpectraRatiosReport.html | 8 +- .../model/domain/messaging/EventPair.html | 16 +- .../SpectraRatioPairChangeEvent.html | 16 +- .../messaging/SpectraRatiosReportDTO.html | 16 +- .../domain/messaging/class-use/EventPair.html | 53 +- .../SpectraRatioPairChangeEvent.html | 8 +- .../class-use/SpectraRatiosReportDTO.html | 8 +- .../domain/messaging/package-summary.html | 8 +- .../model/domain/messaging/package-tree.html | 8 +- .../model/domain/messaging/package-use.html | 8 +- .../spectra/model/domain/package-summary.html | 31 +- .../spectra/model/domain/package-tree.html | 15 +- .../spectra/model/domain/package-use.html | 149 ++- .../domain/util/SpectraRatioPairOperator.html | 172 ++- .../util/SpectraRatiosReportByEventPair.html | 10 +- .../class-use/SpectraRatioPairOperator.html | 47 +- .../SpectraRatiosReportByEventPair.html | 8 +- .../model/domain/util/package-summary.html | 8 +- .../model/domain/util/package-tree.html | 8 +- .../model/domain/util/package-use.html | 29 +- .../apps/coda/spectra/package-summary.html | 8 +- .../gnem/apps/coda/spectra/package-tree.html | 8 +- .../gnem/apps/coda/spectra/package-use.html | 8 +- .../standalone/SpectraRatioStandalone.html | 10 +- .../class-use/SpectraRatioStandalone.html | 8 +- .../spectra/standalone/package-summary.html | 8 +- .../coda/spectra/standalone/package-tree.html | 8 +- .../coda/spectra/standalone/package-use.html | 8 +- docs/javadoc/help-doc.html | 8 +- docs/javadoc/index-all.html | 727 +++++++++- docs/javadoc/index.html | 174 +-- docs/javadoc/jquery/jquery-ui.min.css | 2 +- docs/javadoc/jquery/jquery-ui.min.js | 4 +- docs/javadoc/legal/jqueryUI.md | 2 +- .../gnem/core/geom/CartesianCoordinate.html | 16 +- .../llnl/gnem/core/geom/Coordinate.html | 8 +- .../core/geom/DoubleValuedCoordinate.html | 16 +- .../llnl/gnem/core/geom/ECEFCoordinate.html | 10 +- .../gnem/core/geom/GeographicCoordinate.html | 16 +- .../javadoc/llnl/gnem/core/geom/Location.html | 16 +- .../llnl/gnem/core/geom/NEDCoordinate.html | 10 +- .../geom/class-use/CartesianCoordinate.html | 8 +- .../gnem/core/geom/class-use/Coordinate.html | 8 +- .../class-use/DoubleValuedCoordinate.html | 8 +- .../core/geom/class-use/ECEFCoordinate.html | 8 +- .../geom/class-use/GeographicCoordinate.html | 8 +- .../gnem/core/geom/class-use/Location.html | 8 +- .../core/geom/class-use/NEDCoordinate.html | 8 +- .../llnl/gnem/core/geom/package-summary.html | 8 +- .../llnl/gnem/core/geom/package-tree.html | 8 +- .../llnl/gnem/core/geom/package-use.html | 8 +- .../gui/plotting/api/Axis.TickFormat.html | 12 +- .../gnem/core/gui/plotting/api/Axis.Type.html | 12 +- .../llnl/gnem/core/gui/plotting/api/Axis.html | 8 +- .../core/gui/plotting/api/AxisLimits.html | 16 +- .../gnem/core/gui/plotting/api/BasicPlot.html | 8 +- .../gnem/core/gui/plotting/api/ColorMaps.html | 12 +- .../gnem/core/gui/plotting/api/FillModes.html | 459 +++++++ .../core/gui/plotting/api/HoverModes.html | 500 +++++++ .../llnl/gnem/core/gui/plotting/api/Line.html | 230 +++- .../core/gui/plotting/api/LineStyles.html | 12 +- .../core/gui/plotting/api/ObjectGroup.html | 578 ++++++++ .../core/gui/plotting/api/PlotFactory.html | 64 +- .../core/gui/plotting/api/PlotLayout.html | 12 +- .../core/gui/plotting/api/PlotObject.html | 8 +- .../core/gui/plotting/api/PlottingUtils.html | 10 +- .../gnem/core/gui/plotting/api/Rectangle.html | 209 ++- .../gnem/core/gui/plotting/api/Symbol.html | 64 +- .../core/gui/plotting/api/SymbolStyles.html | 12 +- .../gnem/core/gui/plotting/api/Title.html | 8 +- .../core/gui/plotting/api/VerticalLine.html | 99 +- .../api/class-use/Axis.TickFormat.html | 8 +- .../gui/plotting/api/class-use/Axis.Type.html | 8 +- .../core/gui/plotting/api/class-use/Axis.html | 8 +- .../plotting/api/class-use/AxisLimits.html | 8 +- .../gui/plotting/api/class-use/BasicPlot.html | 48 +- .../gui/plotting/api/class-use/ColorMaps.html | 8 +- .../gui/plotting/api/class-use/FillModes.html | 275 ++++ .../plotting/api/class-use/HoverModes.html | 275 ++++ .../core/gui/plotting/api/class-use/Line.html | 37 +- .../plotting/api/class-use/LineStyles.html | 48 +- .../plotting/api/class-use/ObjectGroup.html | 357 +++++ .../plotting/api/class-use/PlotFactory.html | 33 +- .../plotting/api/class-use/PlotLayout.html | 8 +- .../plotting/api/class-use/PlotObject.html | 241 +++- .../plotting/api/class-use/PlottingUtils.html | 8 +- .../gui/plotting/api/class-use/Rectangle.html | 49 +- .../gui/plotting/api/class-use/Symbol.html | 8 +- .../plotting/api/class-use/SymbolStyles.html | 8 +- .../gui/plotting/api/class-use/Title.html | 8 +- .../plotting/api/class-use/VerticalLine.html | 21 +- .../gui/plotting/api/package-summary.html | 29 +- .../core/gui/plotting/api/package-tree.html | 11 +- .../core/gui/plotting/api/package-use.html | 68 +- .../gui/plotting/events/PlotAxisChange.html | 16 +- .../gui/plotting/events/PlotObjectClick.html | 10 +- .../gui/plotting/events/PlotShapeMove.html | 16 +- .../events/class-use/PlotAxisChange.html | 8 +- .../events/class-use/PlotObjectClick.html | 8 +- .../events/class-use/PlotShapeMove.html | 8 +- .../gui/plotting/events/package-summary.html | 8 +- .../gui/plotting/events/package-tree.html | 8 +- .../core/gui/plotting/events/package-use.html | 8 +- .../core/gui/plotting/fx/utils/FxUtils.html | 10 +- .../plotting/fx/utils/MouseEventHelpers.html | 10 +- .../plotting/fx/utils/class-use/FxUtils.html | 8 +- .../fx/utils/class-use/MouseEventHelpers.html | 8 +- .../plotting/fx/utils/package-summary.html | 8 +- .../gui/plotting/fx/utils/package-tree.html | 8 +- .../gui/plotting/fx/utils/package-use.html | 8 +- .../core/gui/plotting/plotly/BasicAxis.html | 10 +- .../core/gui/plotting/plotly/BasicLine.html | 362 ++++- .../gui/plotting/plotly/BasicObjectGroup.html | 787 +++++++++++ .../core/gui/plotting/plotly/BasicSymbol.html | 119 +- .../core/gui/plotting/plotly/BasicTitle.html | 10 +- .../core/gui/plotting/plotly/PlotData.html | 72 +- .../gui/plotting/plotly/PlotObjectData.html | 162 ++- .../core/gui/plotting/plotly/PlotPoints.html | 10 +- .../gui/plotting/plotly/PlotTrace.Style.html | 12 +- .../core/gui/plotting/plotly/PlotTrace.html | 10 +- .../core/gui/plotting/plotly/PlotlyPlot.html | 32 +- .../plotting/plotly/PlotlyWaveformPlot.html | 12 +- .../plotting/plotly/class-use/BasicAxis.html | 8 +- .../plotting/plotly/class-use/BasicLine.html | 8 +- .../plotly/class-use/BasicObjectGroup.html | 150 +++ .../plotly/class-use/BasicSymbol.html | 52 +- .../plotting/plotly/class-use/BasicTitle.html | 8 +- .../plotting/plotly/class-use/PlotData.html | 8 +- .../plotly/class-use/PlotObjectData.html | 8 +- .../plotting/plotly/class-use/PlotPoints.html | 8 +- .../plotly/class-use/PlotTrace.Style.html | 8 +- .../plotting/plotly/class-use/PlotTrace.html | 8 +- .../plotting/plotly/class-use/PlotlyPlot.html | 8 +- .../plotly/class-use/PlotlyWaveformPlot.html | 8 +- .../gui/plotting/plotly/package-summary.html | 26 +- .../gui/plotting/plotly/package-tree.html | 9 +- .../core/gui/plotting/plotly/package-use.html | 20 +- .../llnl/gnem/core/io/AbstractDataSource.html | 10 +- .../javadoc/llnl/gnem/core/io/DataSource.html | 8 +- .../llnl/gnem/core/io/FileDataSource.html | 10 +- .../javadoc/llnl/gnem/core/io/SAC/Iztype.html | 14 +- .../llnl/gnem/core/io/SAC/SACFileReader.html | 10 +- .../llnl/gnem/core/io/SAC/SACHeader.html | 14 +- .../gnem/core/io/SAC/class-use/Iztype.html | 8 +- .../core/io/SAC/class-use/SACFileReader.html | 8 +- .../gnem/core/io/SAC/class-use/SACHeader.html | 8 +- .../gnem/core/io/SAC/package-summary.html | 8 +- .../llnl/gnem/core/io/SAC/package-tree.html | 8 +- .../llnl/gnem/core/io/SAC/package-use.html | 8 +- .../core/io/class-use/AbstractDataSource.html | 8 +- .../gnem/core/io/class-use/DataSource.html | 8 +- .../core/io/class-use/FileDataSource.html | 8 +- .../llnl/gnem/core/io/package-summary.html | 8 +- .../llnl/gnem/core/io/package-tree.html | 8 +- .../llnl/gnem/core/io/package-use.html | 8 +- .../llnl/gnem/core/metadata/BandCode.html | 12 +- .../llnl/gnem/core/metadata/Channel.html | 10 +- .../gnem/core/metadata/InstrumentCode.html | 12 +- .../gnem/core/metadata/InstrumentType.html | 12 +- .../gnem/core/metadata/OrientationCode.html | 14 +- .../core/metadata/class-use/BandCode.html | 8 +- .../gnem/core/metadata/class-use/Channel.html | 8 +- .../metadata/class-use/InstrumentCode.html | 8 +- .../metadata/class-use/InstrumentType.html | 8 +- .../metadata/class-use/OrientationCode.html | 8 +- .../gnem/core/metadata/package-summary.html | 8 +- .../llnl/gnem/core/metadata/package-tree.html | 8 +- .../llnl/gnem/core/metadata/package-use.html | 8 +- .../llnl/gnem/core/polygon/BasePolygon.html | 10 +- .../llnl/gnem/core/polygon/BinarySearch.html | 10 +- .../gnem/core/polygon/CartesianPolygon.html | 10 +- .../llnl/gnem/core/polygon/Polygon.html | 10 +- .../llnl/gnem/core/polygon/PolygonSet.html | 12 +- .../gnem/core/polygon/PolygonSetType.html | 12 +- .../gnem/core/polygon/PolygonSetView.html | 8 +- .../llnl/gnem/core/polygon/SequenceNames.html | 10 +- .../llnl/gnem/core/polygon/TableNames.html | 10 +- .../llnl/gnem/core/polygon/Vertex.html | 16 +- .../core/polygon/class-use/BasePolygon.html | 8 +- .../core/polygon/class-use/BinarySearch.html | 8 +- .../polygon/class-use/CartesianPolygon.html | 8 +- .../gnem/core/polygon/class-use/Polygon.html | 8 +- .../core/polygon/class-use/PolygonSet.html | 8 +- .../polygon/class-use/PolygonSetType.html | 8 +- .../polygon/class-use/PolygonSetView.html | 8 +- .../core/polygon/class-use/SequenceNames.html | 8 +- .../core/polygon/class-use/TableNames.html | 8 +- .../gnem/core/polygon/class-use/Vertex.html | 8 +- .../gnem/core/polygon/class-use/line.html | 8 +- docs/javadoc/llnl/gnem/core/polygon/line.html | 10 +- .../gnem/core/polygon/package-summary.html | 8 +- .../llnl/gnem/core/polygon/package-tree.html | 8 +- .../llnl/gnem/core/polygon/package-use.html | 8 +- .../gnem/core/signalprocessing/Sequence.html | 10 +- .../signalprocessing/class-use/Sequence.html | 8 +- .../extended/SignalProcessingException.html | 12 +- .../class-use/SignalProcessingException.html | 8 +- .../extended/package-summary.html | 8 +- .../extended/package-tree.html | 8 +- .../extended/package-use.html | 8 +- .../filter/AnalogSecOrdSect.html | 10 +- .../filter/ButterworthAnalogFilter.html | 10 +- .../filter/ButterworthFilter.html | 10 +- .../signalprocessing/filter/HilbertIIR.html | 10 +- .../signalprocessing/filter/IIRFilter.html | 10 +- .../filter/SecOrdSection.html | 10 +- .../filter/class-use/AnalogSecOrdSect.html | 8 +- .../class-use/ButterworthAnalogFilter.html | 8 +- .../filter/class-use/ButterworthFilter.html | 8 +- .../filter/class-use/HilbertIIR.html | 8 +- .../filter/class-use/IIRFilter.html | 8 +- .../filter/class-use/SecOrdSection.html | 8 +- .../filter/package-summary.html | 8 +- .../signalprocessing/filter/package-tree.html | 8 +- .../signalprocessing/filter/package-use.html | 8 +- .../signalprocessing/package-summary.html | 8 +- .../core/signalprocessing/package-tree.html | 8 +- .../core/signalprocessing/package-use.html | 8 +- .../gnem/core/util/Epoch.TimeResolution.html | 12 +- docs/javadoc/llnl/gnem/core/util/Epoch.html | 18 +- .../gnem/core/util/FileInputArrayLoader.html | 10 +- .../gnem/core/util/FileSystemException.html | 12 +- .../gnem/core/util/FileUtil/FileManager.html | 10 +- .../gnem/core/util/FileUtil/ListOfFiles.html | 16 +- .../util/FileUtil/class-use/FileManager.html | 8 +- .../util/FileUtil/class-use/ListOfFiles.html | 8 +- .../core/util/FileUtil/package-summary.html | 8 +- .../gnem/core/util/FileUtil/package-tree.html | 8 +- .../gnem/core/util/FileUtil/package-use.html | 8 +- .../util/Geometry/CoordinateTransform.html | 10 +- .../core/util/Geometry/CoordinateType.html | 12 +- .../core/util/Geometry/DirectionCosines.html | 10 +- .../core/util/Geometry/DistanceAzimuth.html | 10 +- .../core/util/Geometry/ECEFCoordinate.html | 10 +- .../llnl/gnem/core/util/Geometry/EModel.html | 10 +- .../core/util/Geometry/ENUCoordinate.html | 12 +- .../llnl/gnem/core/util/Geometry/Ellipse.html | 10 +- .../util/Geometry/GeodeticCoordinate.html | 16 +- .../core/util/Geometry/NEZCoordinate.html | 16 +- .../Geometry/SphericalDirectionCosines.html | 10 +- .../class-use/CoordinateTransform.html | 8 +- .../Geometry/class-use/CoordinateType.html | 8 +- .../Geometry/class-use/DirectionCosines.html | 8 +- .../Geometry/class-use/DistanceAzimuth.html | 8 +- .../Geometry/class-use/ECEFCoordinate.html | 8 +- .../core/util/Geometry/class-use/EModel.html | 8 +- .../Geometry/class-use/ENUCoordinate.html | 8 +- .../core/util/Geometry/class-use/Ellipse.html | 8 +- .../class-use/GeodeticCoordinate.html | 8 +- .../Geometry/class-use/NEZCoordinate.html | 8 +- .../class-use/SphericalDirectionCosines.html | 8 +- .../core/util/Geometry/package-summary.html | 8 +- .../gnem/core/util/Geometry/package-tree.html | 8 +- .../gnem/core/util/Geometry/package-use.html | 8 +- .../util/MathFunctions/FitnessCriteria.html | 10 +- .../core/util/MathFunctions/MathFunction.html | 10 +- .../class-use/FitnessCriteria.html | 8 +- .../MathFunctions/class-use/MathFunction.html | 8 +- .../util/MathFunctions/package-summary.html | 8 +- .../core/util/MathFunctions/package-tree.html | 8 +- .../core/util/MathFunctions/package-use.html | 8 +- .../core/util/NumericalList.DoubleList.html | 10 +- .../core/util/NumericalList.FloatList.html | 10 +- .../core/util/NumericalList.NumberList.html | 10 +- .../llnl/gnem/core/util/NumericalList.html | 8 +- docs/javadoc/llnl/gnem/core/util/Pair.html | 12 +- docs/javadoc/llnl/gnem/core/util/PairT.html | 16 +- .../javadoc/llnl/gnem/core/util/Passband.html | 14 +- .../gnem/core/util/SeriesMath.Function.html | 8 +- .../llnl/gnem/core/util/SeriesMath.html | 10 +- .../llnl/gnem/core/util/StaChanKey.html | 18 +- .../llnl/gnem/core/util/StreamKey.html | 8 +- docs/javadoc/llnl/gnem/core/util/TimeT.html | 18 +- .../util/class-use/Epoch.TimeResolution.html | 8 +- .../llnl/gnem/core/util/class-use/Epoch.html | 8 +- .../util/class-use/FileInputArrayLoader.html | 8 +- .../util/class-use/FileSystemException.html | 8 +- .../class-use/NumericalList.DoubleList.html | 8 +- .../class-use/NumericalList.FloatList.html | 8 +- .../class-use/NumericalList.NumberList.html | 8 +- .../core/util/class-use/NumericalList.html | 8 +- .../llnl/gnem/core/util/class-use/Pair.html | 8 +- .../llnl/gnem/core/util/class-use/PairT.html | 8 +- .../gnem/core/util/class-use/Passband.html | 8 +- .../util/class-use/SeriesMath.Function.html | 8 +- .../gnem/core/util/class-use/SeriesMath.html | 8 +- .../gnem/core/util/class-use/StaChanKey.html | 8 +- .../gnem/core/util/class-use/StreamKey.html | 8 +- .../llnl/gnem/core/util/class-use/TimeT.html | 8 +- .../llnl/gnem/core/util/package-summary.html | 8 +- .../llnl/gnem/core/util/package-tree.html | 8 +- .../llnl/gnem/core/util/package-use.html | 8 +- .../util/randomNumbers/AlgorithmType.html | 12 +- .../randomNumbers/BaseRandomAlgorithm.html | 10 +- .../util/randomNumbers/RandomAlgorithm.html | 8 +- .../randomNumbers/RandomAlgorithmFactory.html | 10 +- .../core/util/randomNumbers/SimpleRandom.html | 10 +- .../class-use/AlgorithmType.html | 8 +- .../class-use/BaseRandomAlgorithm.html | 8 +- .../class-use/RandomAlgorithm.html | 8 +- .../class-use/RandomAlgorithmFactory.html | 8 +- .../randomNumbers/class-use/SimpleRandom.html | 8 +- .../util/randomNumbers/package-summary.html | 8 +- .../core/util/randomNumbers/package-tree.html | 8 +- .../core/util/randomNumbers/package-use.html | 8 +- .../util/seriesMathHelpers/Discontinuity.html | 12 +- .../DiscontinuityCollection.html | 12 +- .../DiscontinuityFinder.html | 10 +- .../core/util/seriesMathHelpers/Glitch.html | 14 +- .../core/util/seriesMathHelpers/MinMax.html | 10 +- .../util/seriesMathHelpers/RollingStats.html | 12 +- .../SampleStatistics.Order.html | 12 +- .../seriesMathHelpers/SampleStatistics.html | 12 +- .../class-use/Discontinuity.html | 8 +- .../class-use/DiscontinuityCollection.html | 8 +- .../class-use/DiscontinuityFinder.html | 8 +- .../seriesMathHelpers/class-use/Glitch.html | 8 +- .../seriesMathHelpers/class-use/MinMax.html | 8 +- .../class-use/RollingStats.html | 8 +- .../class-use/SampleStatistics.Order.html | 8 +- .../class-use/SampleStatistics.html | 8 +- .../seriesMathHelpers/package-summary.html | 8 +- .../util/seriesMathHelpers/package-tree.html | 8 +- .../util/seriesMathHelpers/package-use.html | 8 +- .../gnem/core/waveform/io/BinaryData.html | 10 +- .../core/waveform/io/DoubleBinaryData.html | 10 +- .../core/waveform/io/FloatBinaryData.html | 10 +- .../gnem/core/waveform/io/IntBinaryData.html | 10 +- .../waveform/io/class-use/BinaryData.html | 8 +- .../io/class-use/DoubleBinaryData.html | 8 +- .../io/class-use/FloatBinaryData.html | 8 +- .../waveform/io/class-use/IntBinaryData.html | 8 +- .../core/waveform/io/package-summary.html | 8 +- .../gnem/core/waveform/io/package-tree.html | 8 +- .../gnem/core/waveform/io/package-use.html | 8 +- .../core/waveform/merge/MergeException.html | 12 +- .../merge/class-use/MergeException.html | 8 +- .../core/waveform/merge/package-summary.html | 8 +- .../core/waveform/merge/package-tree.html | 8 +- .../gnem/core/waveform/merge/package-use.html | 8 +- .../responseProcessing/ResponseType.html | 12 +- .../class-use/ResponseType.html | 8 +- .../responseProcessing/package-summary.html | 8 +- .../responseProcessing/package-tree.html | 8 +- .../responseProcessing/package-use.html | 8 +- .../waveform/seismogram/SeismicSignal.html | 8 +- .../TimeSeries.BivariateFunction.html | 8 +- .../waveform/seismogram/TimeSeries.Norm.html | 12 +- .../seismogram/TimeSeries.SeriesListener.html | 8 +- .../core/waveform/seismogram/TimeSeries.html | 20 +- .../seismogram/class-use/SeismicSignal.html | 8 +- .../TimeSeries.BivariateFunction.html | 8 +- .../seismogram/class-use/TimeSeries.Norm.html | 8 +- .../class-use/TimeSeries.SeriesListener.html | 8 +- .../seismogram/class-use/TimeSeries.html | 8 +- .../waveform/seismogram/package-summary.html | 8 +- .../waveform/seismogram/package-tree.html | 8 +- .../core/waveform/seismogram/package-use.html | 8 +- docs/javadoc/member-search-index.js | 2 +- docs/javadoc/member-search-index.zip | Bin 0 -> 73830 bytes docs/javadoc/overview-summary.html | 4 +- docs/javadoc/overview-tree.html | 24 +- docs/javadoc/package-search-index.js | 2 +- docs/javadoc/package-search-index.zip | Bin 0 -> 783 bytes docs/javadoc/serialized-form.html | 12 +- docs/javadoc/type-search-index.js | 2 +- docs/javadoc/type-search-index.zip | Bin 0 -> 5195 bytes docs/swagger/openapi.json | 2 +- externals/pom.xml | 2 +- .../gnem/core/gui/plotting/api/FillModes.java | 29 + .../core/gui/plotting/api/HoverModes.java | 33 + .../llnl/gnem/core/gui/plotting/api/Line.java | 42 +- .../core/gui/plotting/api/ObjectGroup.java | 71 + .../core/gui/plotting/api/PlotFactory.java | 9 +- .../gnem/core/gui/plotting/api/Rectangle.java | 123 +- .../gnem/core/gui/plotting/api/Symbol.java | 8 +- .../core/gui/plotting/api/VerticalLine.java | 25 +- .../core/gui/plotting/plotly/BasicLine.java | 183 ++- .../gui/plotting/plotly/BasicObjectGroup.java | 402 ++++++ .../core/gui/plotting/plotly/BasicSymbol.java | 33 +- .../core/gui/plotting/plotly/PlotData.java | 13 +- .../gui/plotting/plotly/PlotObjectData.java | 60 +- .../core/gui/plotting/plotly/PlotTrace.java | 8 +- .../core/gui/plotting/plotly/PlotlyPlot.java | 93 +- mapping/pom.xml | 2 +- .../apps/coda/common/mapping/api/GeoMap.java | 7 +- pom.xml | 10 +- 2881 files changed, 50831 insertions(+), 15909 deletions(-) create mode 100644 calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/controllers/SpectraRatioLoadingController.java create mode 100644 calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/converters/param/SpectralRatioProjectLoader.java create mode 100644 calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/SpectraRatioLoader.java create mode 100644 calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/spectra/gui/events/RatioSegmentChangeEvent.java create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/controllers/SpectraRatioLoadingController.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/controllers/class-use/SpectraRatioLoadingController.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/param/SpectralRatioProjectLoader.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/param/class-use/SpectralRatioProjectLoader.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/SpectraRatioLoader.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/class-use/SpectraRatioLoader.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/package-summary.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/package-tree.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/package-use.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/RatioOptimizerMeasurement.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/class-use/RatioOptimizerMeasurement.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/SpectraRatioPairDetailsMetadataMixin.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/WaveformMetadataMixin.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/WaveformPickMixin.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/SpectraRatioPairDetailsMetadataMixin.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/WaveformMetadataMixin.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/WaveformPickMixin.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/RatioSegmentChangeEvent.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/class-use/RatioSegmentChangeEvent.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/package-summary.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/package-tree.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/package-use.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairDetailsMetadata.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairDetailsMetadataImpl.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/class-use/SpectraRatioPairDetailsMetadata.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/class-use/SpectraRatioPairDetailsMetadataImpl.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/legal/jquery.md create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/legal/jqueryUI.md create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/legal/jszip.md create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/legal/pako.md create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/FillModes.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/HoverModes.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/ObjectGroup.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/class-use/FillModes.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/class-use/HoverModes.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/class-use/ObjectGroup.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/plotly/BasicObjectGroup.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/plotly/class-use/BasicObjectGroup.html create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/member-search-index.zip create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/package-search-index.zip create mode 100644 calibration-service/calibration-application/src/main/resources/static/javadoc/type-search-index.zip create mode 100644 calibration-service/calibration-model/src/main/java/gov/llnl/gnem/apps/coda/calibration/model/domain/RatioOptimizerMeasurement.java create mode 100644 calibration-service/calibration-model/src/main/java/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/SpectraRatioPairDetailsMetadataMixin.java create mode 100644 calibration-service/calibration-model/src/main/java/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/WaveformMetadataMixin.java create mode 100644 calibration-service/calibration-model/src/main/java/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/WaveformPickMixin.java create mode 100644 calibration-service/calibration-model/src/main/java/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairDetailsMetadata.java create mode 100644 calibration-service/calibration-model/src/main/java/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairDetailsMetadataImpl.java create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/controllers/SpectraRatioLoadingController.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/controllers/class-use/SpectraRatioLoadingController.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/param/SpectralRatioProjectLoader.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/param/class-use/SpectralRatioProjectLoader.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/SpectraRatioLoader.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/class-use/SpectraRatioLoader.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/package-summary.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/package-tree.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/package-use.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/RatioOptimizerMeasurement.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/class-use/RatioOptimizerMeasurement.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/SpectraRatioPairDetailsMetadataMixin.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/WaveformMetadataMixin.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/WaveformPickMixin.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/SpectraRatioPairDetailsMetadataMixin.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/WaveformMetadataMixin.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/WaveformPickMixin.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/RatioSegmentChangeEvent.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/class-use/RatioSegmentChangeEvent.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/package-summary.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/package-tree.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/package-use.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairDetailsMetadata.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairDetailsMetadataImpl.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/class-use/SpectraRatioPairDetailsMetadata.html create mode 100644 docs/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/class-use/SpectraRatioPairDetailsMetadataImpl.html create mode 100644 docs/javadoc/llnl/gnem/core/gui/plotting/api/FillModes.html create mode 100644 docs/javadoc/llnl/gnem/core/gui/plotting/api/HoverModes.html create mode 100644 docs/javadoc/llnl/gnem/core/gui/plotting/api/ObjectGroup.html create mode 100644 docs/javadoc/llnl/gnem/core/gui/plotting/api/class-use/FillModes.html create mode 100644 docs/javadoc/llnl/gnem/core/gui/plotting/api/class-use/HoverModes.html create mode 100644 docs/javadoc/llnl/gnem/core/gui/plotting/api/class-use/ObjectGroup.html create mode 100644 docs/javadoc/llnl/gnem/core/gui/plotting/plotly/BasicObjectGroup.html create mode 100644 docs/javadoc/llnl/gnem/core/gui/plotting/plotly/class-use/BasicObjectGroup.html create mode 100644 docs/javadoc/member-search-index.zip create mode 100644 docs/javadoc/package-search-index.zip create mode 100644 docs/javadoc/type-search-index.zip create mode 100644 externals/src/main/java/llnl/gnem/core/gui/plotting/api/FillModes.java create mode 100644 externals/src/main/java/llnl/gnem/core/gui/plotting/api/HoverModes.java create mode 100644 externals/src/main/java/llnl/gnem/core/gui/plotting/api/ObjectGroup.java create mode 100644 externals/src/main/java/llnl/gnem/core/gui/plotting/plotly/BasicObjectGroup.java diff --git a/.github/workflows/maven-publish.yml b/.github/workflows/maven-publish.yml index 493f95fa..0d274185 100644 --- a/.github/workflows/maven-publish.yml +++ b/.github/workflows/maven-publish.yml @@ -54,7 +54,8 @@ jobs: overwrite: true file_glob: true - - name: Publish to GitHub Packages - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: mvn deploy + + # - name: Publish to GitHub Packages + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # run: mvn deploy diff --git a/calibration-gui/pom.xml b/calibration-gui/pom.xml index e1fb010c..28ff6a9f 100644 --- a/calibration-gui/pom.xml +++ b/calibration-gui/pom.xml @@ -5,7 +5,7 @@ gov.llnl.gnem.apps.coda.calibration coda-calibration - 1.0.20 + 1.0.21 calibration-gui diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/CodaGuiController.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/CodaGuiController.java index 3beec686..ddf7b487 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/CodaGuiController.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/CodaGuiController.java @@ -1,6 +1,6 @@ /* * Copyright (c) 2023, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory -* CODE-743439. +* CODE-743439, CODE-848318. * All rights reserved. * This file is part of CCT. For details, see https://github.com/LLNL/coda-calibration-tool. * @@ -53,6 +53,7 @@ import gov.llnl.gnem.apps.coda.calibration.gui.controllers.ScreenshotEnabledController; import gov.llnl.gnem.apps.coda.calibration.gui.controllers.ShapeController; import gov.llnl.gnem.apps.coda.calibration.gui.controllers.SiteController; +import gov.llnl.gnem.apps.coda.calibration.gui.controllers.SpectraRatioLoadingController; import gov.llnl.gnem.apps.coda.calibration.gui.controllers.parameters.ParametersController; import gov.llnl.gnem.apps.coda.calibration.gui.data.client.api.CalibrationClient; import gov.llnl.gnem.apps.coda.calibration.gui.data.client.api.ParameterClient; @@ -111,7 +112,7 @@ public class CodaGuiController { private static final String SCREENSHOT_TITLE = "CERT_Screenshot"; - private static final String ABOUT_TEXT = "Version 1.0.20"; + private static final String ABOUT_TEXT = "Version 1.0.21"; @FXML private Node rootElement; @@ -186,6 +187,8 @@ public class CodaGuiController { private ReferenceEventLoadingController refEventLoadingController; + private SpectraRatioLoadingController spectraRatioLoadingController; + private CalibrationClient calibrationClient; private DirectoryChooser sacDirFileChooser = new DirectoryChooser(); @@ -197,6 +200,8 @@ public class CodaGuiController { private FileChooser referenceEventFileChooser = new FileChooser(); private FileChooser psModelFileChooser = new FileChooser(); private FileChooser fiModelFileChooser = new FileChooser(); + private DirectoryChooser ratioDirFileChooser = new DirectoryChooser(); + private FileChooser ratioFileChooser = new FileChooser(); private final ExtensionFilter allFilesFilter = new ExtensionFilter("All Files", "*.*"); private ParamExporter paramExporter; @@ -229,16 +234,17 @@ public class CodaGuiController { @Autowired public CodaGuiController(LeafletMapController cctMapController, CertLeafletMapController certMapController, WaveformClient waveformClient, EnvelopeLoadingController waveformLoadingController, - CodaParamLoadingController codaParamLoadingController, ReferenceEventLoadingController refEventLoadingController, CalibrationClient calibrationClient, ParamExporter paramExporter, - LoadRatioEventsGuiController ratioLoadGui, WaveformGui waveformGui, DataController data, EventTableController eventTable, ParametersController param, ShapeController shape, - PathController path, SiteController site, MeasuredMwsController measuredMws, ParameterClient configClient, EnvelopeGuiController envelopeGui, SpectraRatioGuiController spectraGui, - HostnameVerifier hostnameVerifier, SSLContext sslContext, Environment env, EventBus bus) { + CodaParamLoadingController codaParamLoadingController, ReferenceEventLoadingController refEventLoadingController, SpectraRatioLoadingController spectraRatioLoadingController, + CalibrationClient calibrationClient, ParamExporter paramExporter, LoadRatioEventsGuiController ratioLoadGui, WaveformGui waveformGui, DataController data, EventTableController eventTable, + ParametersController param, ShapeController shape, PathController path, SiteController site, MeasuredMwsController measuredMws, ParameterClient configClient, + EnvelopeGuiController envelopeGui, SpectraRatioGuiController spectraGui, HostnameVerifier hostnameVerifier, SSLContext sslContext, Environment env, EventBus bus) { this.waveformClient = waveformClient; this.cctMapController = cctMapController; this.certMapController = certMapController; this.envelopeLoadingController = waveformLoadingController; this.codaParamLoadingController = codaParamLoadingController; this.refEventLoadingController = refEventLoadingController; + this.spectraRatioLoadingController = spectraRatioLoadingController; this.calibrationClient = calibrationClient; this.paramExporter = paramExporter; this.waveformGui = waveformGui; @@ -283,6 +289,12 @@ public CodaGuiController(LeafletMapController cctMapController, CertLeafletMapCo referenceEventFileChooser.getExtensionFilters().add(new ExtensionFilter("Reference Event Files (.txt,.dat)", "*.txt", "*.dat")); referenceEventFileChooser.getExtensionFilters().add(allFilesFilter); + ratioFileChooser.setTitle("Load Coda Ratio Project File"); + ratioFileChooser.getExtensionFilters().add(new ExtensionFilter("Coda Ratio Project File (.json)", "*.json")); + ratioFileChooser.getExtensionFilters().add(allFilesFilter); + + ratioDirFileChooser.setTitle("Directory to save Coda Ratio Project"); + eventTableRefreshFunction = () -> this.bus.post(new RefreshEventTableAction()); } @@ -319,11 +331,6 @@ private void changeAppMode() { } } - @FXML - private void openWaveformLoadingWindow() { - Optional.ofNullable(sacFileChooser.showOpenMultipleDialog(rootElement.getScene().getWindow())).ifPresent(envelopeLoadingController::loadFiles); - } - @FXML private void showMapWindow() { Platform.runLater(() -> { @@ -420,6 +427,11 @@ private void openFailureReportDisplay() { bus.post(new ShowFailureReportEvent()); } + @FXML + private void openWaveformLoadingWindow() { + Optional.ofNullable(sacFileChooser.showOpenMultipleDialog(rootElement.getScene().getWindow())).ifPresent(envelopeLoadingController::loadFiles); + } + @FXML private void openCalibrationDataSavingWindow(ActionEvent e) { //Save all parameters to an archive file and prompt the user about where to save it. @@ -440,6 +452,16 @@ private void openCalibrationDataSavingWindow(ActionEvent e) { } } + @FXML + private void openRatiosLoadingWindow() { + Optional.ofNullable(ratioFileChooser.showOpenMultipleDialog(rootElement.getScene().getWindow())).ifPresent(spectraRatioLoadingController::loadFiles); + } + + @FXML + private void openRatiosSavingWindow() { + Optional.ofNullable(ratioDirFileChooser.showDialog(rootElement.getScene().getWindow())).ifPresent(spectraRatioLoadingController::saveToDirectory); + } + @FXML private void openWaveformDirectorySavingWindow() { Optional.ofNullable(sacDirFileChooser.showDialog(rootElement.getScene().getWindow())).ifPresent(envelopeLoadingController::saveToDirectory); diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/GuiApplication.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/GuiApplication.java index 66b6134a..07149876 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/GuiApplication.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/GuiApplication.java @@ -89,7 +89,7 @@ public GuiApplication() { } public GuiApplication(ConfigurableApplicationContext springContext, EventBus bus, ApplicationMode mode) { - this.springContext = springContext; + GuiApplication.springContext = springContext; this.bus = bus; GuiApplication.startupMode = mode; } @@ -117,7 +117,7 @@ public void init() throws Exception { @Override public void start(Stage primaryStage) throws Exception { - this.primaryStage = primaryStage; + GuiApplication.primaryStage = primaryStage; try (InputStream icon1 = this.getClass().getResourceAsStream("/coda_32x32.png"); InputStream icon2 = this.getClass().getResourceAsStream("/coda_64x64.png"); InputStream icon3 = this.getClass().getResourceAsStream("/coda_128x128.png"); @@ -261,6 +261,6 @@ public Stage getPrimaryStage() { } public void setPrimaryStage(Stage primaryStage) { - this.primaryStage = primaryStage; + GuiApplication.primaryStage = primaryStage; } } diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/controllers/AbstractMeasurementController.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/controllers/AbstractMeasurementController.java index c0d500b0..8888c726 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/controllers/AbstractMeasurementController.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/controllers/AbstractMeasurementController.java @@ -1,6 +1,6 @@ /* * Copyright (c) 2023, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory -* CODE-743439. +* CODE-743439, CODE-848318. * All rights reserved. * * Licensed under the Apache License, Version 2.0 (the “Licensee”); you may not use this file except in compliance with the License. You may obtain a copy of the License at: @@ -298,7 +298,7 @@ public void initialize() { stressPlot = plotFactory.basicPlot(); stressPlot.getTitle().setText("Apparent Stress (MPa)"); stressPlot.getTitle().setFontSize(16); - stressPlot.addAxes(plotFactory.axis(Axis.Type.LOG_X, "Measured"), plotFactory.axis(Axis.Type.LOG_Y, "Comparison")); + stressPlot.addAxes(plotFactory.axis(Axis.Type.LOG_X, "Observed"), plotFactory.axis(Axis.Type.LOG_Y, "Comparison")); final AxisLimits stressXaxis = new AxisLimits(Axis.Type.X, 1.0, 1.0); final AxisLimits stressYaxis = new AxisLimits(Axis.Type.Y, 1.0, 1.0); stressPlot.setAxisLimits(stressXaxis, stressYaxis); @@ -328,7 +328,7 @@ public void initialize() { energyVsMomentPlot.attachToDisplayNode(energyVsMomentPane); apparentStressVsMomentPlot = plotFactory.basicPlot(); - apparentStressVsMomentPlot.getTitle().setText("Apparent Stress vs Moment"); + apparentStressVsMomentPlot.getTitle().setText("Observed Stress vs Moment"); apparentStressVsMomentPlot.getTitle().setFontSize(16); apparentStressVsMomentPlot.getTitle().setYOffset(0.92); apparentStressVsMomentPlot.addAxes(plotFactory.axis(Axis.Type.X, "log10 Mo (N-m)"), plotFactory.axis(Axis.Type.LOG_Y, "App. Stress (MPa)")); @@ -538,11 +538,13 @@ private void plotSpectra() { final boolean showPoorlyConstrainedBanner = likelyPoorlyConstrained; + final MeasuredMwDetails specMwInfo = mwDetails; + spectraControllers.forEach(spc -> { if (fittingSpectra != null && spc.shouldShowFits()) { - spc.getSpectralPlot().plotXYdata(toPlotPoints(selectedEventMeasurements, spc.getDataFunc()), fittingSpectra, null); + spc.getSpectralPlot().plotXYdata(toPlotPoints(selectedEventMeasurements, spc.getDataFunc()), fittingSpectra, specMwInfo, null); } else { - spc.getSpectralPlot().plotXYdata(toPlotPoints(selectedEventMeasurements, spc.getDataFunc()), null, null); + spc.getSpectralPlot().plotXYdata(toPlotPoints(selectedEventMeasurements, spc.getDataFunc()), null, specMwInfo, null); } spc.getSpectraDataMap().putAll(mapSpectraToPoint(selectedEventMeasurements, spc.getDataFunc())); @@ -702,9 +704,9 @@ protected void reloadData() { } double m0 = (1.5 * mw) + 9.1; - if (ev.getApparentStressInMpa() != null && ev.getApparentStressInMpa() != 0.0) { + if (ev.getEnergyStress() != null && ev.getEnergyStress() != 0.0) { apparentStressVsMomentPlot.addPlotObject( - plotFactory.createSymbol(SymbolStyles.CIRCLE, "", m0, ev.getApparentStressInMpa(), Color.BLACK, Color.BLACK, Color.BLACK, ev.getEventId(), false)); + plotFactory.createSymbol(SymbolStyles.CIRCLE, "", m0, ev.getEnergyStress(), Color.BLACK, Color.BLACK, Color.BLACK, ev.getEventId(), false)); } if (ev.getCornerFreq() != null && ev.getCornerFreq() != 0.0) { Symbol symbol = plotFactory.createSymbol(SymbolStyles.CIRCLE, "Data", ev.getCornerFreq(), m0, Color.BLACK, Color.BLACK, Color.BLACK, ev.getEventId(), false); @@ -751,7 +753,7 @@ protected void reloadData() { mwPlotSymbols.add(valSym); } - final Double stress = ev.getApparentStressInMpa(); + final Double stress = ev.getEnergyStress(); Double refStress = ev.getRefApparentStressInMpa(); if (stress != null) { diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/controllers/SpectraRatioLoadingController.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/controllers/SpectraRatioLoadingController.java new file mode 100644 index 00000000..89f149ae --- /dev/null +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/controllers/SpectraRatioLoadingController.java @@ -0,0 +1,204 @@ +/* +* Copyright (c) 2023, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory +* CODE-743439, CODE-848318. +* All rights reserved. +* This file is part of CCT. For details, see https://github.com/LLNL/coda-calibration-tool. +* +* Licensed under the Apache License, Version 2.0 (the “Licensee”); you may not use this file except in compliance with the License. You may obtain a copy of the License at: +* http://www.apache.org/licenses/LICENSE-2.0 +* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and limitations under the license. +* +* This work was performed under the auspices of the U.S. Department of Energy +* by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344. +*/ +package gov.llnl.gnem.apps.coda.calibration.gui.controllers; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.nio.file.FileSystems; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.PathMatcher; +import java.time.Duration; +import java.time.Instant; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.atomic.AtomicLong; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import com.google.common.eventbus.EventBus; + +import gov.llnl.gnem.apps.coda.calibration.gui.converters.ratios.SpectraRatioLoader; +import gov.llnl.gnem.apps.coda.calibration.gui.data.client.api.SpectraRatioClient; +import gov.llnl.gnem.apps.coda.calibration.gui.data.exporters.SpectraRatioExporter; +import gov.llnl.gnem.apps.coda.common.gui.controllers.ProgressGui; +import gov.llnl.gnem.apps.coda.common.gui.events.EnvelopeLoadStartingEvent; +import gov.llnl.gnem.apps.coda.common.gui.events.ShowFailureReportEvent; +import gov.llnl.gnem.apps.coda.common.gui.util.ProgressEventProgressListener; +import gov.llnl.gnem.apps.coda.common.gui.util.ProgressMonitor; +import gov.llnl.gnem.apps.coda.common.model.messaging.PassFailEvent; +import gov.llnl.gnem.apps.coda.common.model.messaging.Progress; +import gov.llnl.gnem.apps.coda.common.model.messaging.ProgressEvent; +import gov.llnl.gnem.apps.coda.common.model.messaging.Result; +import gov.llnl.gnem.apps.coda.common.model.util.LightweightIllegalStateException; +import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetailsMetadata; +import javafx.application.Platform; +import javafx.scene.input.MouseEvent; + +@Component +public class SpectraRatioLoadingController { + + private static final Logger log = LoggerFactory.getLogger(SpectraRatioLoadingController.class); + private SpectraRatioClient client; + private EventBus bus; + + protected static final Long LOCAL_FAIL_EVENT = -1l; + protected int maxBatching = 20; + + protected AtomicLong idCounter = new AtomicLong(); + + private PathMatcher fileMatcher = FileSystems.getDefault().getPathMatcher("regex:(?i).*\\.(json)"); + private SpectraRatioLoader ratioLoader; + private SpectraRatioExporter ratioExporter; + + @Autowired + public SpectraRatioLoadingController(SpectraRatioLoader ratioLoader, SpectraRatioExporter ratioExporter, SpectraRatioClient client, EventBus bus) { + this.ratioLoader = ratioLoader; + this.ratioExporter = ratioExporter; + this.client = client; + this.bus = bus; + } + + public void saveToDirectory(File exportDirectory) { + CompletableFuture.runAsync(() -> { + try { + if (exportDirectory.isDirectory() && exportDirectory.canWrite()) { + Progress fileProcessingProgress = new Progress(0l, 0l); + ProgressEvent processingProgressEvent = new ProgressEvent(idCounter.getAndIncrement(), fileProcessingProgress); + ProgressMonitor processingMonitor = new ProgressMonitor("Exporting Ratio Project", new ProgressEventProgressListener(bus, processingProgressEvent)); + + try (final BufferedWriter fileWriter = new BufferedWriter(new FileWriter(exportDirectory.toPath().resolve("CERT-Project-" + Instant.now().toEpochMilli() + ".json").toFile()))) { + ProgressGui progressGui = ProgressGui.getInstance(); + progressGui.show(); + progressGui.addProgressMonitor(processingMonitor); + fileProcessingProgress.setTotal(1l); + bus.post(processingProgressEvent); + client.getRatiosMetadata().doOnComplete(() -> { + fileProcessingProgress.setCurrent(1l); + bus.post(processingProgressEvent); + }).filter(x -> x != null).filter(x -> x.getId() != null).subscribe(x -> { + ratioExporter.writeSpectraRatioPairDetails(fileWriter, x); + }); + } catch (RuntimeException | IOException e) { + log.error(e.getMessage(), e); + } + } + } catch (IllegalStateException e) { + log.error("Unable to instantiate saving progress display {}", e.getMessage(), e); + } + }); + } + + public void loadFiles(List inputFiles) { + Progress progress = new Progress(-1l, 0l); + ProgressEvent progressEvent = new ProgressEvent(idCounter.getAndIncrement(), progress); + ProgressMonitor progressMonitor = new ProgressMonitor("Loading Ratio Project", new ProgressEventProgressListener(bus, progressEvent)); + loadFiles(inputFiles, () -> { + progress.setTotal(1l); + progress.setCurrent(1l); + bus.post(progressEvent); + }, progressMonitor); + } + + public void loadFiles(List inputFiles, Runnable completionCallback, ProgressMonitor... additionalBars) { + CompletableFuture.runAsync(() -> { + try (Stream fileStream = inputFiles.stream()) { + List files = new ArrayList<>(); + fileStream.forEach(input -> { + try (Stream walkStream = Files.walk(input.toPath(), 10)) { + files.addAll(walkStream.filter(p -> p.toFile().isFile() && fileMatcher.matches(p)).map(Path::toFile).collect(Collectors.toList())); + } catch (IOException e) { + log.trace(e.getMessage(), e); + } + }); + + if (!files.isEmpty()) { + bus.post(new EnvelopeLoadStartingEvent()); + Progress fileProcessingProgress = new Progress(-1l, 0l); + Progress fileFailedProgress = new Progress(-1l, 0l); + ProgressEvent processingProgressEvent = new ProgressEvent(idCounter.getAndIncrement(), fileProcessingProgress); + ProgressEvent processingFailedProgressEvent = new ProgressEvent(idCounter.getAndIncrement(), fileFailedProgress); + ProgressMonitor processingMonitor = new ProgressMonitor("Ratio Project File Loading", new ProgressEventProgressListener(bus, processingProgressEvent)); + ProgressMonitor processingFailedMonitor = new ProgressMonitor("Ratio Project Processing Failures", new ProgressEventProgressListener(bus, processingFailedProgressEvent)); + processingFailedMonitor.addEventFilter(MouseEvent.MOUSE_CLICKED, e -> bus.post(new ShowFailureReportEvent())); + Platform.runLater(() -> processingFailedMonitor.getProgressBar().getStyleClass().add("red-bar")); + + try { + ProgressGui progressGui = ProgressGui.getInstance(); + progressGui.show(); + progressGui.addProgressMonitor(processingMonitor); + progressGui.addProgressMonitor(processingFailedMonitor); + + if (additionalBars != null) { + for (ProgressMonitor bar : additionalBars) { + progressGui.addProgressMonitor(bar); + } + } + + fileProcessingProgress.setTotal(0l); + bus.post(processingProgressEvent); + + fileFailedProgress.setTotal(0l); + bus.post(processingFailedProgressEvent); + + for (File file : files) { + List> results = ratioLoader.convertFile(file); + try { + List successfulResults = results.parallelStream() + .filter(Result::isSuccess) + .map(result -> result.getResultPayload().get()) + .collect(Collectors.toList()); + + List loadFailures = new ArrayList<>(); + client.loadRatioMetadata(idCounter.getAndIncrement(), successfulResults).doOnNext(ret -> loadFailures.add(ret)).retry(3).blockLast(Duration.ofHours(1l)); + + if (loadFailures.size() > 0) { + fileFailedProgress.setTotal(fileFailedProgress.getTotal() + loadFailures.size()); + fileFailedProgress.setCurrent(fileFailedProgress.getCurrent() + loadFailures.size()); + bus.post(processingFailedProgressEvent); + loadFailures.forEach( + r -> bus.post(new PassFailEvent(LOCAL_FAIL_EVENT, "", new Result<>(false, Collections.singletonList(new LightweightIllegalStateException(r)), null)))); + } + + fileProcessingProgress.setTotal(fileProcessingProgress.getTotal() + successfulResults.size()); + fileProcessingProgress.setCurrent(fileProcessingProgress.getCurrent() + successfulResults.size() - loadFailures.size()); + bus.post(processingProgressEvent); + } catch (RuntimeException ex) { + log.trace(ex.getMessage(), ex); + } + } + } catch (RuntimeException e) { + log.error(e.getMessage(), e); + } + + } + } catch (IllegalStateException e) { + log.error("Unable to instantiate loading display {}", e.getMessage(), e); + } + if (completionCallback != null) { + completionCallback.run(); + } + }); + } +} diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/converters/param/SpectralRatioProjectLoader.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/converters/param/SpectralRatioProjectLoader.java new file mode 100644 index 00000000..72f4dd19 --- /dev/null +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/converters/param/SpectralRatioProjectLoader.java @@ -0,0 +1,73 @@ +/* +* Copyright (c) 2023, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory +* CODE-743439, CODE-848318. +* All rights reserved. +* +* Licensed under the Apache License, Version 2.0 (the “Licensee”); you may not use this file except in compliance with the License. You may obtain a copy of the License at: +* http://www.apache.org/licenses/LICENSE-2.0 +* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and limitations under the license. +* +* This work was performed under the auspices of the U.S. Department of Energy +* by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344. +*/ +package gov.llnl.gnem.apps.coda.calibration.gui.converters.param; + +import java.io.File; +import java.io.IOException; +import java.nio.file.FileSystems; +import java.nio.file.Files; +import java.nio.file.PathMatcher; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; + +import gov.llnl.gnem.apps.coda.common.model.messaging.Result; +import gov.llnl.gnem.apps.coda.common.model.util.LightweightIllegalStateException; +import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetailsMetadata; + +public class SpectralRatioProjectLoader { + + private final PathMatcher filter = FileSystems.getDefault().getPathMatcher("regex:(?i).*\\.json"); + + private final ObjectMapper mapper; + + public SpectralRatioProjectLoader() { + mapper = new ObjectMapper(); + mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); + } + + public Result> convertFile(File file) { + return convertFileToSpectraRatioPairDetailsMetadata(file); + } + + private Result> convertFileToSpectraRatioPairDetailsMetadata(File file) { + Result> res = new Result<>(false, null); + try { + List lines = Files.readAllLines(file.toPath()); + List data = new ArrayList<>(); + + for (String line : lines) { + try { + data.add(mapper.readValue(line, SpectraRatioPairDetailsMetadata.class)); + } catch (JsonProcessingException e) { + return exceptionalResult(e); + } + } + res.setResultPayload(Optional.of(data)); + } catch (IOException e) { + return exceptionalResult(new LightweightIllegalStateException(String.format("Error parsing (%s): %s", file.getName(), e.getMessage()), e)); + } + return res; + } + + private Result> exceptionalResult(Exception error) { + List exceptions = new ArrayList<>(); + exceptions.add(error); + return new Result>(false, exceptions, null); + } +} diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/SpectraRatioLoader.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/SpectraRatioLoader.java new file mode 100644 index 00000000..920715c8 --- /dev/null +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/SpectraRatioLoader.java @@ -0,0 +1,75 @@ +/* +* Copyright (c) 2023, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory +* CODE-743439, CODE-848318. +* All rights reserved. +* This file is part of CCT. For details, see https://github.com/LLNL/coda-calibration-tool. +* +* Licensed under the Apache License, Version 2.0 (the “Licensee”); you may not use this file except in compliance with the License. You may obtain a copy of the License at: +* http://www.apache.org/licenses/LICENSE-2.0 +* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and limitations under the license. +* +* This work was performed under the auspices of the U.S. Department of Energy +* by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344. +*/ +package gov.llnl.gnem.apps.coda.calibration.gui.converters.ratios; + +import java.io.File; +import java.io.IOException; +import java.nio.file.FileSystems; +import java.nio.file.PathMatcher; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import com.fasterxml.jackson.core.Version; +import com.fasterxml.jackson.databind.MappingIterator; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.module.SimpleAbstractTypeResolver; +import com.fasterxml.jackson.databind.module.SimpleModule; + +import gov.llnl.gnem.apps.coda.calibration.model.domain.WaveformMetadataImpl; +import gov.llnl.gnem.apps.coda.common.model.domain.WaveformMetadata; +import gov.llnl.gnem.apps.coda.common.model.messaging.Result; +import gov.llnl.gnem.apps.coda.common.model.util.LightweightIllegalStateException; +import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetailsMetadata; +import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetailsMetadataImpl; + +@Component +public class SpectraRatioLoader { + private final Logger log = LoggerFactory.getLogger(this.getClass()); + final PathMatcher filter = FileSystems.getDefault().getPathMatcher("regex:(?i).*json"); + + private ObjectMapper streamedMapper = new ObjectMapper(); + + public SpectraRatioLoader() { + SimpleModule module = new SimpleModule("SpectraRatioMetadataMapper", Version.unknownVersion()); + SimpleAbstractTypeResolver resolver = new SimpleAbstractTypeResolver(); + resolver.addMapping(SpectraRatioPairDetailsMetadata.class, SpectraRatioPairDetailsMetadataImpl.class); + resolver.addMapping(WaveformMetadata.class, WaveformMetadataImpl.class); + module.setAbstractTypes(resolver); + streamedMapper.registerModule(module); + } + + public List> convertFile(File file) { + if (file != null && file.exists() && file.isFile() && filter.matches(file.toPath())) { + List> results = new ArrayList<>(); + try (MappingIterator it = streamedMapper.readerFor(SpectraRatioPairDetailsMetadata.class).readValues(file)) { + while (it.hasNextValue()) { + SpectraRatioPairDetailsMetadata ratio = it.nextValue(); + results.add(new Result<>(true, ratio)); + } + } catch (IOException e) { + Result result = new Result<>(false, null); + result.getErrors().add(e); + results.add(result); + } + return results; + } + return Collections.singletonList(new Result<>(false, Collections.singletonList(new LightweightIllegalStateException("File " + file + " does not exist or is not a file.")), null)); + } +} diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/client/SpectraRatioWebClient.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/client/SpectraRatioWebClient.java index f34a7f9d..6e71a895 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/client/SpectraRatioWebClient.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/client/SpectraRatioWebClient.java @@ -26,8 +26,11 @@ import gov.llnl.gnem.apps.coda.calibration.gui.data.client.api.SpectraRatioClient; import gov.llnl.gnem.apps.coda.spectra.model.domain.RatioEventData; import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioMeasurementJob; +import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetails; +import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetailsMetadata; import gov.llnl.gnem.apps.coda.spectra.model.domain.messaging.SpectraRatiosReportDTO; import gov.llnl.gnem.apps.coda.spectra.model.domain.util.SpectraRatiosReportByEventPair; +import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @Component @@ -67,4 +70,24 @@ public Mono makeSpectraRatioMeasurementsFromRati .map(SpectraRatiosReportDTO::getReport) .map(SpectraRatiosReportByEventPair::new); } + + @Override + public Mono updateRatio(SpectraRatioPairDetails ratio) { + return client.post().uri("/spectra-ratios/update-ratio").bodyValue(ratio).retrieve().bodyToMono(SpectraRatioPairDetails.class); + } + + @Override + public Flux getRatios() { + return client.get().uri("/spectra-ratios/all").retrieve().bodyToFlux(SpectraRatioPairDetails.class); + } + + @Override + public Flux getRatiosMetadata() { + return client.get().uri("/spectra-ratios/all-metadata-only").retrieve().bodyToFlux(SpectraRatioPairDetailsMetadata.class); + } + + @Override + public Flux loadRatioMetadata(long id, List ratios) { + return client.post().uri("/spectra-ratios/load-ratios-metadata").bodyValue(ratios).retrieve().bodyToFlux(String.class); + } } diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/client/api/SpectraRatioClient.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/client/api/SpectraRatioClient.java index 2a778092..7ba7d328 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/client/api/SpectraRatioClient.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/client/api/SpectraRatioClient.java @@ -1,6 +1,6 @@ /* -* Copyright (c) 2018, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory -* CODE-743439. +* Copyright (c) 2023, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory +* CODE-743439, CODE-848318. * All rights reserved. * This file is part of CCT. For details, see https://github.com/LLNL/coda-calibration-tool. * @@ -18,7 +18,10 @@ import java.util.Set; import gov.llnl.gnem.apps.coda.spectra.model.domain.RatioEventData; +import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetails; +import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetailsMetadata; import gov.llnl.gnem.apps.coda.spectra.model.domain.util.SpectraRatiosReportByEventPair; +import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; public interface SpectraRatioClient { @@ -27,4 +30,11 @@ public interface SpectraRatioClient { public Mono makeSpectraRatioMeasurementsFromRatioData(Set smallEventIds, Set largeEventIds, List ratioEventData); + public Mono updateRatio(SpectraRatioPairDetails ratio); + + public Flux getRatios(); + + public Flux getRatiosMetadata(); + + public Flux loadRatioMetadata(long andIncrement, List ratios); } \ No newline at end of file diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/exporters/JsonTempFileWriter.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/exporters/JsonTempFileWriter.java index 649d2b0f..39689b49 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/exporters/JsonTempFileWriter.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/exporters/JsonTempFileWriter.java @@ -29,9 +29,13 @@ import org.springframework.stereotype.Component; import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.core.JsonFactory; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectWriter; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.JsonNodeType; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -58,11 +62,16 @@ import gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.ShapeFitterConstraintsFileMixin; import gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.SharedFrequencyBandParametersFileMixin; import gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.SiteFrequencyBandParametersFileMixin; +import gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.SpectraRatioPairDetailsMetadataMixin; import gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.ValidationMwParametersFileMixin; +import gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.WaveformMetadataMixin; +import gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.WaveformPickMixin; import gov.llnl.gnem.apps.coda.common.model.domain.FrequencyBand; import gov.llnl.gnem.apps.coda.common.model.domain.SharedFrequencyBandParameters; import gov.llnl.gnem.apps.coda.common.model.domain.Station; -import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetails; +import gov.llnl.gnem.apps.coda.common.model.domain.WaveformMetadata; +import gov.llnl.gnem.apps.coda.common.model.domain.WaveformPick; +import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetailsMetadata; @Component public class JsonTempFileWriter implements SpectraTempFileWriter, ParamTempFileWriter, MeasuredMwTempFileWriter, ReferenceMwTempFileWriter, ValidationMwTempFileWriter, SpectraRatioTempFileWriter { @@ -75,6 +84,8 @@ public class JsonTempFileWriter implements SpectraTempFileWriter, ParamTempFileW private ObjectMapper mapper; + private ObjectMapper streamedMapper; + public JsonTempFileWriter() { mapper = new ObjectMapper(); mapper.setSerializationInclusion(Include.NON_NULL); @@ -87,6 +98,20 @@ public JsonTempFileWriter() { mapper.addMixIn(MdacParametersFI.class, MdacFiFileMixin.class); mapper.addMixIn(MdacParametersPS.class, MdacPsFileMixin.class); mapper.addMixIn(ValidationMwParameters.class, ValidationMwParametersFileMixin.class); + mapper.addMixIn(SpectraRatioPairDetailsMetadata.class, SpectraRatioPairDetailsMetadataMixin.class); + mapper.addMixIn(WaveformMetadata.class, WaveformMetadataMixin.class); + mapper.addMixIn(WaveformPick.class, WaveformPickMixin.class); + + //For writing to an output stream we don't control so + //Jackson doesn't attempt to close it when we go out of scope + JsonFactory jsonFactory = new JsonFactory(); + jsonFactory.configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET, false); + jsonFactory.configure(JsonParser.Feature.AUTO_CLOSE_SOURCE, false); + + streamedMapper = new ObjectMapper(jsonFactory); + streamedMapper.addMixIn(SpectraRatioPairDetailsMetadata.class, SpectraRatioPairDetailsMetadataMixin.class); + streamedMapper.addMixIn(WaveformMetadata.class, WaveformMetadataMixin.class); + streamedMapper.addMixIn(WaveformPick.class, WaveformPickMixin.class); } @Override @@ -142,12 +167,12 @@ public void writeMeasuredMws(Path folder, String filename, List spectraRatioPairDetails) { + public void writeSpectraRatioDetails(Path folder, List spectraRatioPairDetails) { writeSpectraRatioDetails(folder, RATIO_JSON_NAME, spectraRatioPairDetails); } @Override - public void writeSpectraRatioDetails(Path folder, String filename, List spectraRatioPairDetails) { + public void writeSpectraRatioDetails(Path folder, String filename, List spectraRatioPairDetails) { try { JsonNode document = createOrGetDocument(folder, filename); writeSpectraRatioEvents(createOrGetFile(folder, filename), document, spectraRatioPairDetails); @@ -166,6 +191,20 @@ public void writeSpectraValues(Path folder, String filename, List measurements) throws IOException { writeArrayNodeToFile(file, document, measurements, CalibrationJsonConstants.SPECTRA); } @@ -215,7 +254,7 @@ private void writeMeasuredEvents(File file, JsonNode document, List spectraRatioPairDetails) throws IOException { + private void writeSpectraRatioEvents(File file, JsonNode document, List spectraRatioPairDetails) throws IOException { writeArrayNodeToFile(file, document, spectraRatioPairDetails, "spectra-ratio-pair-details"); } @@ -224,13 +263,17 @@ private void writeArrayNodeToFile(File file, JsonNode document, Collection 0) { writeFieldNodeToFile(file, document, field, arrayNode); } } + private void writeMetadataHeaders(File file, JsonNode document) throws IOException { + writeFieldNodeToFile(file, document, CalibrationJsonConstants.SCHEMA_FIELD, mapper.valueToTree(CalibrationJsonConstants.SCHEMA_VALUE)); + writeFieldNodeToFile(file, document, CalibrationJsonConstants.TYPE_FIELD, mapper.valueToTree(CalibrationJsonConstants.TYPE_VALUE)); + } + private void writeFieldNodeToFile(File file, JsonNode document, String field, JsonNode node) throws IOException { if (node != null) { Files.deleteIfExists(file.toPath()); @@ -283,4 +326,5 @@ private File createOrGetFile(Path folder, String filename) throws IOException { File file = Files.createFile(folder.resolve(filename)).toFile(); return file; } + } diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/exporters/SpectraRatioExporter.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/exporters/SpectraRatioExporter.java index 9976e9b8..04979626 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/exporters/SpectraRatioExporter.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/exporters/SpectraRatioExporter.java @@ -14,6 +14,7 @@ */ package gov.llnl.gnem.apps.coda.calibration.gui.data.exporters; +import java.io.BufferedWriter; import java.io.File; import java.io.IOException; import java.nio.file.Path; @@ -27,7 +28,7 @@ import gov.llnl.gnem.apps.coda.calibration.gui.data.exporters.api.SpectraRatioTempFileWriter; import gov.llnl.gnem.apps.coda.common.gui.util.CommonGuiUtils; -import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetails; +import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetailsMetadata; @Component public class SpectraRatioExporter { @@ -40,10 +41,10 @@ public SpectraRatioExporter(List spectraRatioWriters this.spectraRatioWriters = spectraRatioWriters; } - public File createExportArchive(List ratiosByEventPair, Path directory) throws IOException { + public File createExportArchive(List ratiosByEventPair, Path directory) throws IOException { if (spectraRatioWriters != null) { - List spectraRatioDetails = new ArrayList<>(ratiosByEventPair); + List spectraRatioDetails = new ArrayList<>(ratiosByEventPair); for (SpectraRatioTempFileWriter writer : spectraRatioWriters) { writer.writeSpectraRatioDetails(directory, spectraRatioDetails); } @@ -52,9 +53,15 @@ public File createExportArchive(List ratiosByEventPair, return CommonGuiUtils.zipDirectory(directory); } - public void writeSpectraRatioPairDetails(Path path, String filename, List spectraRatioDetails) { + public void writeSpectraRatioPairDetails(Path path, String filename, List spectraRatioDetails) { for (SpectraRatioTempFileWriter writer : spectraRatioWriters) { writer.writeSpectraRatioDetails(path, filename, spectraRatioDetails); } } + + public void writeSpectraRatioPairDetails(BufferedWriter fileWriter, SpectraRatioPairDetailsMetadata ratio) { + for (SpectraRatioTempFileWriter writer : spectraRatioWriters) { + writer.writeSpectraRatioDetails(fileWriter, ratio); + } + } } diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/exporters/api/SpectraRatioTempFileWriter.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/exporters/api/SpectraRatioTempFileWriter.java index 77caa9fb..b64da66d 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/exporters/api/SpectraRatioTempFileWriter.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/data/exporters/api/SpectraRatioTempFileWriter.java @@ -14,13 +14,16 @@ */ package gov.llnl.gnem.apps.coda.calibration.gui.data.exporters.api; +import java.io.BufferedWriter; import java.nio.file.Path; import java.util.List; -import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetails; +import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetailsMetadata; public interface SpectraRatioTempFileWriter { - public void writeSpectraRatioDetails(Path folder, List spectraRatioPairDetails); + public void writeSpectraRatioDetails(Path folder, List spectraRatioPairDetails); - public void writeSpectraRatioDetails(Path folder, String filename, List spectraRatioPairDetails); + public void writeSpectraRatioDetails(Path folder, String filename, List spectraRatioPairDetails); + + public void writeSpectraRatioDetails(BufferedWriter fileWriter, SpectraRatioPairDetailsMetadata spectraRatioPairDetails); } diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/CertLeafletMapController.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/CertLeafletMapController.java index 615154e2..f02dc0dd 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/CertLeafletMapController.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/CertLeafletMapController.java @@ -1,6 +1,6 @@ /* -* Copyright (c) 2018, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory -* CODE-743439. +* Copyright (c) 2023, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory +* CODE-743439, CODE-848318. * All rights reserved. * This file is part of CCT. For details, see https://github.com/LLNL/coda-calibration-tool. * @@ -21,8 +21,11 @@ import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.time.Instant; +import java.util.ArrayList; import java.util.Collection; +import java.util.List; import java.util.Objects; +import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.function.Consumer; @@ -41,6 +44,7 @@ import gov.llnl.gnem.apps.coda.common.mapping.api.GeoMap; import gov.llnl.gnem.apps.coda.common.mapping.api.GeoShape; import gov.llnl.gnem.apps.coda.common.mapping.api.Icon; +import gov.llnl.gnem.apps.coda.common.model.domain.Event; import javafx.application.Platform; import javafx.embed.swing.SwingFXUtils; import javafx.event.ActionEvent; @@ -73,12 +77,15 @@ public class CertLeafletMapController implements GeoMap { private LeafletMap mapImpl; + private MapPlottingUtilities iconFactories; + private DirectoryChooser screenshotFolderChooser = new DirectoryChooser(); private MapProperties mapProps; - private CertLeafletMapController(@Autowired(required = false) MapProperties mapProps) { + private CertLeafletMapController(@Autowired(required = false) MapProperties mapProps, final MapPlottingUtilities iconFactory) { this.mapProps = mapProps; + this.iconFactories = iconFactory; this.mapImpl = new LeafletMap(); } @@ -100,6 +107,51 @@ public void initialize() { }); } + public void replaceIcons(List oldIcons, List newIcons) { + mapImpl.removeIcons(oldIcons); + mapImpl.addIcons(newIcons); + } + + public void setEventIconsActive(final List events) { + Set icons = mapImpl.getIcons(); + if (icons != null) { + List iconsToReplace = new ArrayList<>(); + List newIconsToUse = new ArrayList<>(); + + icons.forEach(i -> { + events.forEach(e -> { + if (i.getFriendlyName().equals(e.getEventId())) { + iconsToReplace.add(i); + newIconsToUse.add(iconFactories.createEventIconForeground(e)); + } + }); + }); + if (iconsToReplace != null) { + replaceIcons(iconsToReplace, newIconsToUse); + } + } + } + + public void setEventIconsInActive(final List events) { + Set icons = mapImpl.getIcons(); + if (icons != null) { + List iconsToReplace = new ArrayList<>(); + List newIconsToUse = new ArrayList<>(); + + icons.forEach(i -> { + events.forEach(e -> { + if (i.getFriendlyName().equals(e.getEventId())) { + iconsToReplace.add(i); + newIconsToUse.add(iconFactories.createEventIcon(e)); + } + }); + }); + if (iconsToReplace != null) { + replaceIcons(iconsToReplace, newIconsToUse); + } + } + } + @Override public void show() { // No op for now @@ -115,6 +167,11 @@ public void clearIcons() { mapImpl.clearIcons(); } + @Override + public Set getIcons() { + return mapImpl.getIcons(); + } + @Override public void addLayer(WMSLayerDescriptor layer) { mapImpl.addLayer(layer); diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/CodaWaveformPlotManager.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/CodaWaveformPlotManager.java index 700e1172..45439691 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/CodaWaveformPlotManager.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/CodaWaveformPlotManager.java @@ -46,7 +46,6 @@ import gov.llnl.gnem.apps.coda.common.gui.data.client.api.WaveformClient; import gov.llnl.gnem.apps.coda.common.gui.util.EventStaFreqStringComparator; import gov.llnl.gnem.apps.coda.common.gui.util.SnapshotUtils; -import gov.llnl.gnem.apps.coda.common.mapping.api.GeoMap; import gov.llnl.gnem.apps.coda.common.mapping.api.Icon; import gov.llnl.gnem.apps.coda.common.model.domain.Pair; import gov.llnl.gnem.apps.coda.common.model.domain.Station; @@ -107,7 +106,8 @@ public class CodaWaveformPlotManager { private final ShapeMeasurementClient shapeClient; private final ParameterClient paramsClient; private final PeakVelocityClient peakVelocityClient; - private final GeoMap map; + private final LeafletMapController cctMap; + private final CertLeafletMapController certMap; private final MapPlottingUtilities mapPlotUtils; private final ToolBar multiPageToolbar; private final ToolBar multiFrequencyToolbar; @@ -325,12 +325,13 @@ public class CodaWaveformPlotManager { }; public CodaWaveformPlotManager(final WaveformClient waveformClient, final ShapeMeasurementClient shapeClient, final ParameterClient paramsClient, final PeakVelocityClient peakVelocityClient, - final GeoMap map, final MapPlottingUtilities mapPlotUtils) { + final CertLeafletMapController certMap, final LeafletMapController cctMap, final MapPlottingUtilities mapPlotUtils) { this.waveformClient = waveformClient; this.shapeClient = shapeClient; this.paramsClient = paramsClient; this.peakVelocityClient = peakVelocityClient; - this.map = map; + this.cctMap = cctMap; + this.certMap = certMap; this.mapPlotUtils = mapPlotUtils; this.borderPane = new BorderPane(); this.waveformPanel = new VBox(); @@ -612,7 +613,8 @@ private void plotWaveform(long waveformId) { if (waveform != null) { final Collection icons = mapWaveform(waveform); mappedIcons.addAll(icons); - map.addIcons(icons); + cctMap.addIcons(icons); + certMap.addIcons(icons); if (plot != null) { plot.setMargin(null, null, null, null); plot.getxAxis().setText(TIME_SECONDS_FROM_ORIGIN); @@ -642,7 +644,8 @@ private void setWaveformsByEventStation(long waveformId) { private void clear() { final List oldIcons = mappedIcons; mappedIcons = new ArrayList<>(); - map.removeIcons(oldIcons); + cctMap.removeIcons(oldIcons); + certMap.removeIcons(oldIcons); synchronized (bagLock) { plotBag.addAll(orderedWaveformPlots.values().stream().filter(plot -> { plot.setAxisChangeListener(null); @@ -801,9 +804,11 @@ private Collection mapWaveform(final Waveform waveform) { public void setVisible(final boolean visible) { if (visible) { - map.addIcons(mappedIcons); + cctMap.addIcons(mappedIcons); + certMap.addIcons(mappedIcons); } else { - map.removeIcons(mappedIcons); + cctMap.removeIcons(mappedIcons); + certMap.removeIcons(mappedIcons); } } @@ -917,7 +922,8 @@ private void setPlots(final List> plotPairs) { orderedWaveformPlots.put(index, plotPair.getY()); final Collection icons = mapWaveform(waveform); mappedIcons.addAll(icons); - map.addIcons(icons); + cctMap.addIcons(icons); + certMap.addIcons(icons); if (plot != null) { if (plotPairs.size() > 1) { if (i == plotPairs.size() - 1) { diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/LeafletMap.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/LeafletMap.java index 656205a4..c2d655bf 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/LeafletMap.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/LeafletMap.java @@ -1,6 +1,6 @@ /* -* Copyright (c) 2020, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory -* CODE-743439. +* Copyright (c) 2023, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory +* CODE-743439, CODE-848318. * All rights reserved. * This file is part of CCT. For details, see https://github.com/LLNL/coda-calibration-tool. * @@ -208,6 +208,10 @@ public void clearIcons() { clearIconLayer(); } + public Set getIcons() { + return icons; + } + private void clearIconLayer() { if (mapReady.get()) { Platform.runLater(() -> webView.getEngine().executeScript("clearIcons();")); diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/LeafletMapController.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/LeafletMapController.java index 7101044e..3d97ce6f 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/LeafletMapController.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/LeafletMapController.java @@ -1,6 +1,6 @@ /* -* Copyright (c) 2018, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory -* CODE-743439. +* Copyright (c) 2023, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory +* CODE-743439, CODE-848318. * All rights reserved. * This file is part of CCT. For details, see https://github.com/LLNL/coda-calibration-tool. * @@ -23,6 +23,7 @@ import java.time.Instant; import java.util.Collection; import java.util.Objects; +import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.function.Consumer; @@ -130,6 +131,11 @@ public long getIconCount() { return mapImpl.getIconCount(); } + @Override + public Set getIcons() { + return mapImpl.getIcons(); + } + @Override public void clearIcons() { mapImpl.clearIcons(); diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/PlotlyPlotFactory.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/PlotlyPlotFactory.java index b0bc90a7..3e585c34 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/PlotlyPlotFactory.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/PlotlyPlotFactory.java @@ -1,6 +1,6 @@ /* -* Copyright (c) 2021, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory -* CODE-743439. +* Copyright (c) 2023, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory +* CODE-743439, CODE-848318. * All rights reserved. * * Licensed under the Apache License, Version 2.0 (the “Licensee”); you may not use this file except in compliance with the License. You may obtain a copy of the License at: @@ -30,9 +30,9 @@ import llnl.gnem.core.gui.plotting.plotly.BasicLine; import llnl.gnem.core.gui.plotting.plotly.BasicSymbol; import llnl.gnem.core.gui.plotting.plotly.BasicTitle; -import llnl.gnem.core.gui.plotting.plotly.PlotlyPlot; import llnl.gnem.core.gui.plotting.plotly.PlotData; import llnl.gnem.core.gui.plotting.plotly.PlotTrace; +import llnl.gnem.core.gui.plotting.plotly.PlotlyPlot; @Service public class PlotlyPlotFactory implements PlotFactory { @@ -57,6 +57,11 @@ public Line line(final double[] xVals, final double[] yVals, final Color color, return new BasicLine(xVals, yVals, color, style, pxThickness); } + @Override + public Line lineWithErrorBars(final double[] xVals, final double[] yVals, final double[] errorMin, final double[] errorMax) { + return new BasicLine(xVals, yVals, errorMin, errorMax, Color.BLACK, LineStyles.SOLID, 2); + } + @Override public Line lineX(String label, double startingX, double xIncrement, float[] xData, Color color, LineStyles style, int pxThickness) { return new BasicLine(label, startingX, xIncrement, xData, color, style, pxThickness); @@ -72,6 +77,12 @@ public Rectangle rectangle(final double x1, final double x2, final double yRatio return new Rectangle(x1, x2, yRatio, label, color); } + @Override + public Rectangle rectangle(final double x1, final double x2, final int pxWidth, final double yRatio, final String label, final Color edgeColor, final Color fillColor, final boolean draggable, + boolean logScaleX) { + return new Rectangle(x1, x2, pxWidth, yRatio, label, edgeColor, fillColor, draggable, logScaleX); + } + @Override public Symbol createSymbol(final SymbolStyles style, final String name, final double x, final double y, final Color color, final Color edgeColor, final Color textColor, final String text, final boolean textVisible) { diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioDetailPlot.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioDetailPlot.java index 8e7e8957..209cfc5e 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioDetailPlot.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioDetailPlot.java @@ -600,7 +600,9 @@ public void resetCuts() { int numerEndIdx = numeratorSeries.getIndexForTime(new TimeT(ratioDetails.getNumerEndCutSec()).add(numerOriginTime).getEpochTime()); int denomEndIdx = denominatorSeries.getIndexForTime(new TimeT(ratioDetails.getDenomEndCutSec()).add(denomOriginTime).getEpochTime()); + this.ratioDetails.setUserEdited(false); this.ratioDetails.updateCutTimesAndRecalculateDiff(numerStartIdx, denomStartIdx, numerEndIdx, denomEndIdx); + if (this.cutSegmentChangeListener != null) { CompletableFuture.runAsync(() -> { cutSegmentProperty.firePropertyChange(new PropertyChangeEvent(this, "segment_change", null, null)); @@ -616,18 +618,22 @@ protected void handlePickMovedState(PlotShapeMove move) { case NUMERATOR_START_CUT_LABEL: log.trace("Numerator start cut moved."); adjustStartCuts(move.getX0()); + this.ratioDetails.setUserEdited(true); break; case NUMERATOR_END_CUT_LABEL: log.trace("Numerator end cut moved."); adjustEndCuts(move.getX0()); + this.ratioDetails.setUserEdited(true); break; case NUMERATOR_CUT_LABEL: log.trace("Numerator cut moved."); shiftCutByTime(move.getX0(), true); + this.ratioDetails.setUserEdited(true); break; case DENOMINATOR_CUT_LABEL: log.trace("Denominator cut moved."); shiftCutByTime(move.getX0(), false); + this.ratioDetails.setUserEdited(true); break; default: log.trace("No cut moved."); diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioMeasurementSpectraPlotManager.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioMeasurementSpectraPlotManager.java index c31e7ae8..15be1414 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioMeasurementSpectraPlotManager.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioMeasurementSpectraPlotManager.java @@ -1,6 +1,6 @@ /* * Copyright (c) 2023, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory -* CODE-743439. +* CODE-743439, CODE-848318. * All rights reserved. * This file is part of CCT. For details, see https://github.com/LLNL/coda-calibration-tool. * @@ -25,6 +25,7 @@ import java.text.NumberFormat; import java.time.Duration; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -38,6 +39,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.common.eventbus.EventBus; + import gov.llnl.gnem.apps.coda.calibration.gui.controllers.SpectraRatioPlotController; import gov.llnl.gnem.apps.coda.calibration.gui.data.client.api.SpectraClient; import gov.llnl.gnem.apps.coda.calibration.gui.data.exporters.SpectraRatioExporter; @@ -58,6 +61,7 @@ import gov.llnl.gnem.apps.coda.common.model.messaging.Result; import gov.llnl.gnem.apps.coda.common.model.util.SPECTRA_TYPES; import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetails; +import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetailsMetadataImpl; import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairInversionResult; import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairInversionResultJoint; import gov.llnl.gnem.apps.coda.spectra.model.domain.messaging.EventPair; @@ -98,7 +102,6 @@ import llnl.gnem.core.gui.plotting.api.PlotFactory; import llnl.gnem.core.gui.plotting.api.PlotObject; import llnl.gnem.core.gui.plotting.api.SymbolStyles; -import llnl.gnem.core.gui.plotting.api.VerticalLine; import llnl.gnem.core.gui.plotting.events.PlotObjectClick; import llnl.gnem.core.gui.plotting.plotly.PlotObjectData; import llnl.gnem.core.gui.plotting.plotly.PlotTrace; @@ -130,7 +133,7 @@ public class RatioMeasurementSpectraPlotManager { private Map symbolMap; private List spectraRatioPairOperatorList; - private Map symbolStyleMap; + private Map> symbolStyleMap; private SpectraClient spectraClient; private final Property shouldFocus = new SimpleBooleanProperty(false); @@ -228,9 +231,11 @@ public class RatioMeasurementSpectraPlotManager { private PlotObjectData bestMomentPointPlotData; private SpectraRatioExporter spectraRatioExporter; + private EventBus bus; - public RatioMeasurementSpectraPlotManager(final SymbolStyleMapFactory styleFactory, CertLeafletMapController mapImpl, MapPlottingUtilities iconFactory, SpectraClient spectraClient, + public RatioMeasurementSpectraPlotManager(EventBus bus, final SymbolStyleMapFactory styleFactory, CertLeafletMapController mapImpl, MapPlottingUtilities iconFactory, SpectraClient spectraClient, SpectraRatioExporter spectraRatioExporter) { + this.bus = bus; this.symbolStyleMapFactory = styleFactory; this.mapImpl = mapImpl; this.iconFactory = iconFactory; @@ -319,6 +324,9 @@ protected void updateItem(EventPair pair, boolean empty) { ratioSpectralPlotController.setYAxisResizable(true); ratioSpectralPlotController.setShouldShowFits(true); + // Map to store styles for each event pair + symbolStyleMap = new HashMap<>(); + SpectralPlot plot = getRatioSpectraPlot(); plot.setLabels("Seismic Envelope Ratio Spectra", X_AXIS_LABEL, Y_AXIS_LABEL); plot.getSubplot().addPlotObjectObserver(getPlotpointObserver(ratioSpectralPlotController::getSpectraDataMap)); @@ -516,7 +524,7 @@ public void downloadPlots(final ActionEvent e) { Path tmpFolder = Files.createTempDirectory(Long.toString(System.currentTimeMillis())); tmpFolder.toFile().deleteOnExit(); exportScreenshots(tmpFolder.toFile()); - exportArchive = spectraRatioExporter.createExportArchive(ratiosByEventPair, tmpFolder); + exportArchive = spectraRatioExporter.createExportArchive(ratiosByEventPair.stream().map(SpectraRatioPairDetailsMetadataImpl::new).collect(Collectors.toList()), tmpFolder); if (exportArchive != null) { Files.move(exportArchive.toPath(), selectedFile.toPath(), StandardCopyOption.REPLACE_EXISTING); } @@ -530,44 +538,22 @@ public void downloadPlots(final ActionEvent e) { private void plotStationData(EventPair eventPair) { List ratiosByEventPair = ratioMeasurementReport.getRatiosList(getEventPair()); - symbolStyleMap = symbolStyleMapFactory.build(new ArrayList<>(ratioMeasurementReport.getReport().getData().get(eventPair).keySet()), Station::getStationName); + + // Create new spectra style map if none exists for the specified event pair + if (symbolStyleMap.get(eventPair) == null) { + Map symbolMapStyle = symbolStyleMapFactory.build(new ArrayList<>(ratioMeasurementReport.getReport().getData().get(eventPair).keySet()), Station::getStationName); + symbolStyleMap.put(eventPair, symbolMapStyle); + } + spectraRatioPairOperatorList = ratiosByEventPair.stream().map(SpectraRatioPairOperator::new).collect(Collectors.toList()); + symbolMap.clear(); symbolMap.putAll(mapFunctionToPoint(spectraRatioPairOperatorList, SpectraRatioPairOperator::getDiffAvg)); ratioSpectralPlotController.getSpectraDataMap().clear(); - getRatioSpectraPlot().clearPlot(); ratioSpectralPlotController.getSpectraDataMap().putAll(symbolMap); - getRatioSpectraPlot().plotXYdata(toPlotPoints(SpectraRatioPairOperator::getDiffAvg), null, Y_AXIS_LABEL); - - Map inversionData = ratioMeasurementReport.getReport().getInversionEstimates(); - ratioSummaryValues.clear(); - ratioSummaryTable.getItems().clear(); - - addEventDataToTable("Event Pair Data", eventPair); - - if (inversionData != null) { - plotInversionPairData(inversionData, eventPair); - addInversionDataToTable(inversionData.get(eventPair), "Pair Inversion Data"); - } - Map jointInversionData = ratioMeasurementReport.getReport().getJointInversionEstimates(); - if (jointInversionData != null) { - plotJointInversionData(jointInversionData, eventPair); - addInversionDataToTable(jointInversionData.get(eventPair), "Joint Inversion Data"); - } - - updateMomentRatioLines(); - - try { - runGuiUpdate(() -> { - getRatioSpectraPlot().getSubplot().fullReplot(); - }); - } catch (InvocationTargetException e) { - log.debug(e.getMessage(), e); - } catch (InterruptedException e) { - log.debug(e.getMessage(), e); - } + updateSpectraPlot(eventPair); } private void plotInversionPairData(Map inversionData, EventPair eventPair) { @@ -595,6 +581,14 @@ private SpectraRatioPairInversionResult mapJointInversionResultToInversionResult .setEventIdB(eventRecord.getEventIdB()) .setMomentEstimateA(eventRecord.getMomentEstimateA()) .setMomentEstimateB(eventRecord.getMomentEstimateB()) + .setCornerEstimateA1Max(eventRecord.getCornerEstimateA1Max()) + .setCornerEstimateA1Min(eventRecord.getCornerEstimateA1Min()) + .setCornerEstimateB1Max(eventRecord.getCornerEstimateB1Max()) + .setCornerEstimateB1Min(eventRecord.getCornerEstimateB1Min()) + .setCornerEstimateA2Max(eventRecord.getCornerEstimateA2Max()) + .setCornerEstimateA2Min(eventRecord.getCornerEstimateA2Min()) + .setCornerEstimateB2Max(eventRecord.getCornerEstimateB2Max()) + .setCornerEstimateB2Min(eventRecord.getCornerEstimateB2Min()) .setApparentStressEstimateA(eventRecord.getApparentStressEstimateA()) .setApparentStressEstimateB(eventRecord.getApparentStressEstimateB()) .setCornerEstimateA(eventRecord.getCornerEstimateA()) @@ -706,7 +700,24 @@ private void plotInversionData(String dataLabelPrefix, Map avgRatioPoints = toPlotPoints(eventPair, SpectraRatioPairOperator::getDiffAvg).stream().map(PlotPoint::getY).collect(Collectors.toList()); + Double minY = Collections.min(avgRatioPoints); + Double maxY = Collections.max(avgRatioPoints); + + // Make Pair inversion corner frequency lines smaller than joint + double offset = (maxY - minY) * 0.1; + if (dataLabelPrefix.equals("Pair")) { + minY += offset; + maxY -= offset; + } + + double errorA = bestFit.getCornerEstimateA1Max(); + double errorB = bestFit.getCornerEstimateB1Max(); + double errorMinusA = bestFit.getCornerEstimateA1Min(); + double errorMinusB = bestFit.getCornerEstimateB1Min(); + + setCornerFrequencyLines(bestFit.getCornerEstimateA(), bestFit.getCornerEstimateB(), errorA, errorB, errorMinusA, errorMinusB, ratioShapeColor, maxY, minY); Line fitRatioShape = plotMomentRatioShape( spectraClient.getSpecificSpectra(bestFit.getMomentEstimateA(), bestFit.getApparentStressEstimateA(), 0.001, 30.0, 100).block(Duration.ofMinutes(10l)), @@ -846,12 +857,13 @@ public Map mapFunctionToPoint(final List toPlotPoints(final Function func) { + private List toPlotPoints(final EventPair eventPair, final Function func) { List allPlotPoints = new ArrayList<>(); + Map symbolStyles = symbolStyleMap.get(eventPair); spectraRatioPairOperatorList.forEach(ratioDetails -> { FrequencyBand freqValue = ratioDetails.getFrequency(); - PlotPoint pp = symbolStyleMap.get(ratioDetails.getDenomWaveform().getStream().getStation().getStationName()); + PlotPoint pp = symbolStyles.get(ratioDetails.getDenomWaveform().getStream().getStation().getStationName()); if (pp != null) { pp.setX(centerFreq(freqValue.getLowFrequency(), freqValue.getHighFrequency())); pp.setY(func.apply(ratioDetails)); @@ -974,18 +986,10 @@ private void setMomentRefRatioLines(double momentRatio, double refRatio) { getRatioSpectraPlot().getSubplot().addPlotObject(refLine); } - private void setCornerFrequencyLines(double cornerEstimateA, double cornerEstimateB, Color lineColor) { - - VerticalLine lineA = plotFactory.verticalLine(cornerEstimateA, 50.0, dfmt2.format(cornerEstimateA)); - lineA.setFillColor(lineColor); - VerticalLine lineB = plotFactory.verticalLine(cornerEstimateB, 50.0, dfmt2.format(cornerEstimateB)); - lineB.setFillColor(lineColor); - - lineA.setLogScaleX(true); - lineB.setLogScaleX(true); - - getRatioSpectraPlot().getSubplot().addPlotObject(lineA); - getRatioSpectraPlot().getSubplot().addPlotObject(lineB); + private void setCornerFrequencyLines(double cornerEstimateA, double cornerEstimateB, double errorA, double errorB, double errorMinusA, double errorMinusB, Color lineColor, Double yTop, + Double yBottom) { + getRatioSpectraPlot().plotCornerFrequency("~Fc Low", cornerEstimateA, errorA, errorMinusA, yTop, yBottom, lineColor); + getRatioSpectraPlot().plotCornerFrequency("~Fc High", cornerEstimateB, errorB, errorMinusB, yTop, yBottom, lineColor); } protected void runGuiUpdate(final Runnable runnable) throws InvocationTargetException, InterruptedException { @@ -1102,7 +1106,7 @@ public Result getRatioDetailsFromStationAndFreq(Station private void createRatioWaveformPlotPopup(SpectraRatioPairOperator ratioDetails) { - RatioMeasurementWaveformPlotManager ratioWaveformPlots = new RatioMeasurementWaveformPlotManager(mapImpl, iconFactory); + RatioMeasurementWaveformPlotManager ratioWaveformPlots = new RatioMeasurementWaveformPlotManager(bus, mapImpl, iconFactory); ratioWaveformPlots.setParentSpectra(this); ratioWaveformPlots.setCurrentEvent(ratioMeasurementReport.getStationsForEventPair(getEventPair())); @@ -1139,8 +1143,9 @@ private void createRatioWaveformPlotPopup(SpectraRatioPairOperator ratioDetails) } private void createSpectraPlotPopup() { - List numerPoints = new ArrayList<>(toPlotPoints(SpectraRatioPairOperator::getNumerAvg)); - List denomPoints = new ArrayList<>(toPlotPoints(SpectraRatioPairOperator::getDenomAvg)); + EventPair eventPair = getEventPair(); + List numerPoints = new ArrayList<>(toPlotPoints(eventPair, SpectraRatioPairOperator::getNumerAvg)); + List denomPoints = new ArrayList<>(toPlotPoints(eventPair, SpectraRatioPairOperator::getDenomAvg)); SpectraPlotManager spectraPlotManager = new SpectraPlotManager(getEventPair(), numerPoints, denomPoints); final FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/fxml/SpectraPlotGui.fxml")); @@ -1199,13 +1204,48 @@ public void triggerKeyEvent(final KeyEvent event) { log.trace("Key Pressed on Ratio Spectra Plot"); } - protected void updatePlotPoint() { + protected void updatePlotPoint(EventPair eventPair) { + EventPair currentPair = getEventPair(); symbolMap = mapFunctionToPoint(spectraRatioPairOperatorList, SpectraRatioPairOperator::getDiffAvg); - ratioSpectralPlotController.getSpectraDataMap().clear(); - ratioSpectralPlotController.getSpectraDataMap().putAll(symbolMap); - ratioSpectralPlotController.getSpectralPlot().plotXYdata(toPlotPoints(SpectraRatioPairOperator::getDiffAvg), null, Y_AXIS_LABEL); + + if (eventPair.getX().getEventId() == currentPair.getX().getEventId() && eventPair.getY().getEventId() == currentPair.getY().getEventId()) { + updateSpectraPlot(eventPair); + } + } + + protected void updateSpectraPlot(EventPair eventPair) { + + getRatioSpectraPlot().clearPlot(); + getRatioSpectraPlot().plotXYdata(toPlotPoints(eventPair, SpectraRatioPairOperator::getDiffAvg), null, null, Y_AXIS_LABEL); + + Map inversionData = ratioMeasurementReport.getReport().getInversionEstimates(); + ratioSummaryValues.clear(); + ratioSummaryTable.getItems().clear(); + + addEventDataToTable("Event Pair Data", eventPair); + + if (inversionData != null) { + plotInversionPairData(inversionData, eventPair); + addInversionDataToTable(inversionData.get(eventPair), "Pair Inversion Data"); + } + + Map jointInversionData = ratioMeasurementReport.getReport().getJointInversionEstimates(); + if (jointInversionData != null) { + plotJointInversionData(jointInversionData, eventPair); + addInversionDataToTable(jointInversionData.get(eventPair), "Joint Inversion Data"); + } updateMomentRatioLines(); + + try { + runGuiUpdate(() -> { + getRatioSpectraPlot().getSubplot().fullReplot(); + }); + } catch (InvocationTargetException e) { + log.debug(e.getMessage(), e); + } catch (InterruptedException e) { + log.debug(e.getMessage(), e); + } } public void exportScreenshots(final File folder) { diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioMeasurementWaveformPlotManager.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioMeasurementWaveformPlotManager.java index 75cc972e..57157450 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioMeasurementWaveformPlotManager.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioMeasurementWaveformPlotManager.java @@ -28,6 +28,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.common.eventbus.EventBus; + import gov.llnl.gnem.apps.coda.common.gui.util.NumberFormatFactory; import gov.llnl.gnem.apps.coda.common.gui.util.SnapshotUtils; import gov.llnl.gnem.apps.coda.common.model.domain.FrequencyBand; @@ -35,6 +37,7 @@ import gov.llnl.gnem.apps.coda.common.model.domain.Station; import gov.llnl.gnem.apps.coda.common.model.domain.Waveform; import gov.llnl.gnem.apps.coda.common.model.messaging.Result; +import gov.llnl.gnem.apps.coda.spectra.gui.events.RatioSegmentChangeEvent; import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetails; import gov.llnl.gnem.apps.coda.spectra.model.domain.util.SpectraRatioPairOperator; import javafx.application.Platform; @@ -74,6 +77,7 @@ public class RatioMeasurementWaveformPlotManager { private static final Logger log = LoggerFactory.getLogger(RatioMeasurementWaveformPlotManager.class); private final NumberFormat dfmt4 = NumberFormatFactory.fourDecimalOneLeadingZero(); private RatioMeasurementSpectraPlotManager parentSpectraPlot; + private EventBus bus; private RatioDetailPlot selectedSinglePlot; private RatioDetailPlot ratioDiffWavePlot; @@ -206,7 +210,8 @@ public class RatioMeasurementWaveformPlotManager { showHideRatioWaveform(ratioWindowModeBoolean); }; - public RatioMeasurementWaveformPlotManager(CertLeafletMapController mapImpl, MapPlottingUtilities iconFactory) { + public RatioMeasurementWaveformPlotManager(EventBus bus, CertLeafletMapController mapImpl, MapPlottingUtilities iconFactory) { + this.bus = bus; this.mapImpl = mapImpl; this.iconFactory = iconFactory; freqBandLabel = new Label("Frequency Band"); @@ -256,7 +261,7 @@ public void setCurrentStation(Station station) { } // Ensure frequency index fits new station - if (curFreqIndex > curFrequencies.size()) { + if (curFreqIndex >= curFrequencies.size()) { curFreqIndex = curFrequencies.size() - 1; } @@ -478,13 +483,15 @@ private void updatePlotAxes(PlotAxisChange change) { private void updatePlot() { if (selectedSinglePlot != null) { if (this.parentSpectraPlot != null) { - this.parentSpectraPlot.updatePlotPoint(); + this.parentSpectraPlot.updatePlotPoint(selectedSinglePlot.getRatioDetails().getEventPair()); } Platform.runLater(() -> { setDisplayText(selectedSinglePlot.getRatioDetails()); selectedSinglePlot.plotRatio(); ratioDiffWavePlot.plotDiffRatio(); }); + + bus.post(new RatioSegmentChangeEvent(selectedSinglePlot.getRatioDetails())); } } diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioMeasurementsGui.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioMeasurementsGui.java index 877c0cf5..c33bc5e5 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioMeasurementsGui.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/RatioMeasurementsGui.java @@ -28,6 +28,7 @@ import gov.llnl.gnem.apps.coda.calibration.gui.data.exporters.SpectraRatioExporter; import gov.llnl.gnem.apps.coda.calibration.model.messaging.RatioMeasurementEvent; import gov.llnl.gnem.apps.coda.common.gui.plotting.SymbolStyleMapFactory; +import gov.llnl.gnem.apps.coda.spectra.gui.events.RatioSegmentChangeEvent; import gov.llnl.gnem.apps.coda.spectra.model.domain.util.SpectraRatiosReportByEventPair; import javafx.application.Platform; import javafx.beans.property.Property; @@ -46,23 +47,27 @@ public class RatioMeasurementsGui { private final MapPlottingUtilities iconFactory; private SpectraClient spectraClient; private SpectraRatioExporter spectraRatioExporter; + private SpectraRatioClient spectraRatioClient; private final SymbolStyleMapFactory symbolStyleFactory; private final Property shouldFocus = new SimpleBooleanProperty(false); + private EventBus bus; @Autowired public RatioMeasurementsGui(final EventBus bus, final SymbolStyleMapFactory styleFactory, final CertLeafletMapController mapImpl, final MapPlottingUtilities iconFactory, SpectraClient spectraClient, SpectraRatioClient spectraRatioClient, SpectraRatioExporter spectraRatioExporter) { bus.register(this); + this.bus = bus; this.mapImpl = mapImpl; this.iconFactory = iconFactory; this.spectraClient = spectraClient; this.spectraRatioExporter = spectraRatioExporter; + this.spectraRatioClient = spectraRatioClient; this.symbolStyleFactory = styleFactory; } private void createSpectraPlotPopup(SpectraRatiosReportByEventPair ratioReport) { - RatioMeasurementSpectraPlotManager spectraRatioPlotManager = new RatioMeasurementSpectraPlotManager(symbolStyleFactory, mapImpl, iconFactory, spectraClient, spectraRatioExporter); + RatioMeasurementSpectraPlotManager spectraRatioPlotManager = new RatioMeasurementSpectraPlotManager(bus, symbolStyleFactory, mapImpl, iconFactory, spectraClient, spectraRatioExporter); spectraRatioPlotManager.setRatioMeasurements(ratioReport); final FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/fxml/SpectraRatioPlotGui.fxml")); @@ -106,6 +111,11 @@ private void listener(final RatioMeasurementEvent event) { } } + @Subscribe + private void listener(final RatioSegmentChangeEvent event) { + spectraRatioClient.updateRatio(event.getRatioDetails().getRatio()); + } + public Property focusProperty() { return shouldFocus; } diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/SpectraPlotManager.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/SpectraPlotManager.java index 979d854d..c422cf82 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/SpectraPlotManager.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/SpectraPlotManager.java @@ -107,7 +107,7 @@ public SpectralPlot plotSpectra(List plotPoints, String plotTitle, Pa if (plotPoints != null && plotPoints.size() > 1) { SpectralPlot plot = new SpectralPlot(); setDisplayText(plot, plotTitle); - plot.plotXYdata(plotPoints, null, AVG_LINE_LABEL); + plot.plotXYdata(plotPoints, null, null, AVG_LINE_LABEL); plot.setLabels(plotTitle, X_AXIS_LABEL, Y_AXIS_LABEL); Platform.runLater(() -> { diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/SpectralPlot.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/SpectralPlot.java index c1c6e405..611937af 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/SpectralPlot.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/SpectralPlot.java @@ -1,6 +1,6 @@ /* -* Copyright (c) 2021, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory -* CODE-743439. +* Copyright (c) 2023, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory +* CODE-743439, CODE-848318. * All rights reserved. * This file is part of CCT. For details, see https://github.com/LLNL/coda-calibration-tool. * @@ -17,11 +17,13 @@ import java.io.Serializable; import java.text.NumberFormat; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import gov.llnl.gnem.apps.coda.calibration.model.domain.MeasuredMwDetails; import gov.llnl.gnem.apps.coda.calibration.model.domain.Spectra; import gov.llnl.gnem.apps.coda.common.gui.plotting.LabeledPlotPoint; import gov.llnl.gnem.apps.coda.common.gui.plotting.PlotPoint; @@ -42,13 +44,17 @@ import llnl.gnem.core.gui.plotting.api.Axis; import llnl.gnem.core.gui.plotting.api.AxisLimits; import llnl.gnem.core.gui.plotting.api.BasicPlot; +import llnl.gnem.core.gui.plotting.api.FillModes; +import llnl.gnem.core.gui.plotting.api.HoverModes; import llnl.gnem.core.gui.plotting.api.Line; import llnl.gnem.core.gui.plotting.api.LineStyles; +import llnl.gnem.core.gui.plotting.api.ObjectGroup; import llnl.gnem.core.gui.plotting.api.PlotFactory; import llnl.gnem.core.gui.plotting.api.PlotObject; import llnl.gnem.core.gui.plotting.api.PlottingUtils; import llnl.gnem.core.gui.plotting.api.Symbol; import llnl.gnem.core.gui.plotting.api.SymbolStyles; +import llnl.gnem.core.gui.plotting.plotly.BasicObjectGroup; public class SpectralPlot extends Pane implements Serializable { @@ -187,7 +193,7 @@ protected void plotXYdata(final List points) { * calibration spectra *

*/ - public void plotXYdata(final List plots, final List spectra, final String label) { + public void plotXYdata(final List plots, final List spectra, final MeasuredMwDetails mwDetails, final String label) { plot.clear(); if (plots.size() > 1) { @@ -214,7 +220,7 @@ public void plotXYdata(final List plots, final List spectra, if (spectra != null) { for (final Spectra spec : spectra) { if (plotCorners && spec.getCornerFrequency() != null) { - plotCornerFrequency(spec.getCornerFrequency()); + plotCornerFrequency("~Fc", spec, mwDetails, Color.BLACK); } plotSpectraObject(plot, spec); } @@ -227,8 +233,91 @@ public void plotXYdata(final List plots, final List spectra, plot.replot(); } - private void plotCornerFrequency(final double cornerFreq) { - plot.addPlotObject(plotFactory.verticalLine(cornerFreq, 50, "~Fc (" + dfmt.format(cornerFreq) + ")").setDraggable(false).setLogScaleX(true).setFillColor(Color.BLACK)); + private void plotCornerFrequency(final String name, final Spectra spec, final MeasuredMwDetails mwDetails, final Color color) { + List mwValuesY = spec.getSpectraXY().stream().map(d -> d.getY() - 7.0).collect(Collectors.toList()); + + Double minY = Collections.min(mwValuesY); + Double maxY = Collections.max(mwValuesY); + Double cF = spec.getCornerFrequency(); + + double error = 0.0; + double errorMinus = 0.0; + + if (mwDetails != null) { + error = mwDetails.getCornerFreq2Max(); + errorMinus = mwDetails.getCornerFreq2Min(); + } + + ObjectGroup cornerFreqLine = buildVerticalLineWithHorizontalErrorBars(name, cF, maxY, minY, error, errorMinus, color); + cornerFreqLine.plotGroup(plot); + } + + public void plotCornerFrequency(String name, final Double cornerFreq, final Double error, final Double errorMinus, final Double topY, final Double bottomY, final Color color) { + ObjectGroup cornerFreqLine = buildVerticalLineWithHorizontalErrorBars(name, cornerFreq, topY, bottomY, error, errorMinus, color); + cornerFreqLine.getLegendObject().setFillColor(Color.BLACK); + cornerFreqLine.plotGroup(plot); + } + + public ObjectGroup buildVerticalLineWithHorizontalErrorBars(final String name, final Double x, final Double topY, final Double bottomY, final Double error, final Double errorMinus, + final Color color) { + + final double[] xPos = new double[1]; + final double[] shadowX = new double[5]; + final double[] shadowY = new double[5]; + final double[] maxY = new double[1]; + final double[] midY = new double[1]; + final double[] minY = new double[1]; + final double[] e1 = new double[1]; + final double[] e2 = new double[1]; + final double[] height = new double[1]; + + xPos[0] = x; + maxY[0] = topY; + minY[0] = bottomY; + midY[0] = (topY + bottomY) / 2.0; + e1[0] = error - x; + e2[0] = x - errorMinus; + height[0] = (topY - bottomY) / 2.0; + + // Setting shadow box coordinates + shadowX[0] = errorMinus; + shadowX[1] = errorMinus; + shadowX[2] = error; + shadowX[3] = error; + shadowX[4] = errorMinus; + shadowY[0] = topY; + shadowY[1] = bottomY; + shadowY[2] = bottomY; + shadowY[3] = topY; + shadowY[4] = topY; + + Line shadowBox = plotFactory.line(shadowX, shadowY, color.deriveColor(0.0, 1.0, 1.0, 0.1), LineStyles.SOLID, 1); + shadowBox.setFillMode(FillModes.TO_SELF); // Fills the area between the lines + shadowBox.setHoverMode(HoverModes.SKIP); // Skips hover actions for the shadow box + + Line valueLine = plotFactory.lineWithErrorBars(xPos, midY, height, height); + valueLine.setFillColor(color); + valueLine.setUseHorizontalErrorBars(false); + + Line topErrorLine = plotFactory.lineWithErrorBars(xPos, maxY, e1, e2); + topErrorLine.setFillColor(color); + topErrorLine.setUseHorizontalErrorBars(true); + + Line botErrorLine = plotFactory.lineWithErrorBars(xPos, minY, e1, e2); + botErrorLine.setFillColor(color); + botErrorLine.setUseHorizontalErrorBars(true); + + ObjectGroup cornerFreqBar = new BasicObjectGroup(plotFactory, name); + cornerFreqBar.setHoverName(name); + cornerFreqBar.setHoverTemplate("%{x:.2f} (" + dfmt.format(errorMinus) + ", " + dfmt.format(error) + ")"); + + // Order matters! Add shadow first to plot it under error bars. + cornerFreqBar.addPlotObject(shadowBox); + cornerFreqBar.addPlotObject(valueLine); + cornerFreqBar.addPlotObject(topErrorLine); + cornerFreqBar.addPlotObject(botErrorLine); + + return cornerFreqBar; } private void plotSpectraObject(final BasicPlot jsubplot, final Spectra spectra) { diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/WaveformGui.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/WaveformGui.java index 5cd19525..48c329b1 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/WaveformGui.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/calibration/gui/plotting/WaveformGui.java @@ -30,7 +30,6 @@ import gov.llnl.gnem.apps.coda.calibration.gui.data.client.api.ShapeMeasurementClient; import gov.llnl.gnem.apps.coda.common.gui.data.client.api.WaveformClient; import gov.llnl.gnem.apps.coda.common.gui.events.WaveformSelectionEvent; -import gov.llnl.gnem.apps.coda.common.mapping.api.GeoMap; import javafx.application.Platform; import javafx.beans.property.Property; import javafx.beans.property.SimpleBooleanProperty; @@ -68,20 +67,22 @@ public class WaveformGui { private final ShapeMeasurementClient shapeClient; private final ParameterClient paramsClient; private final PeakVelocityClient peakVelocityClient; - private final GeoMap map; + private final CertLeafletMapController certMap; + private final LeafletMapController cctMap; private final MapPlottingUtilities mapPlotUtilities; private final Property shouldFocus = new SimpleBooleanProperty(false); private final DirectoryChooser screenshotFolderChooser = new DirectoryChooser(); @Autowired - public WaveformGui(final WaveformClient waveformClient, final ShapeMeasurementClient shapeClient, final ParameterClient paramsClient, final PeakVelocityClient peakVelocityClient, final GeoMap map, - final MapPlottingUtilities mapPlotUtilities, final EventBus bus) { + public WaveformGui(final WaveformClient waveformClient, final ShapeMeasurementClient shapeClient, final ParameterClient paramsClient, final PeakVelocityClient peakVelocityClient, + final LeafletMapController cctMap, final CertLeafletMapController certMap, final MapPlottingUtilities mapPlotUtilities, final EventBus bus) { this.waveformClient = waveformClient; this.shapeClient = shapeClient; this.paramsClient = paramsClient; this.peakVelocityClient = peakVelocityClient; - this.map = map; this.mapPlotUtilities = mapPlotUtilities; + this.cctMap = cctMap; + this.certMap = certMap; bus.register(this); Platform.runLater(() -> { final FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/fxml/WaveformGui.fxml")); @@ -122,13 +123,14 @@ private void listener(final WaveformSelectionEvent event) { @FXML public void initialize() { final Label label = new Label("\uE3B0"); + label.getStyleClass().add("material-icons-medium"); label.setMaxHeight(16); label.setMinWidth(16); snapshotButton.setGraphic(label); snapshotButton.setContentDisplay(ContentDisplay.CENTER); screenshotFolderChooser.setTitle("Screenshot Export Folder"); - waveformPlotManager = new CodaWaveformPlotManager(waveformClient, shapeClient, paramsClient, peakVelocityClient, map, mapPlotUtilities); + waveformPlotManager = new CodaWaveformPlotManager(waveformClient, shapeClient, paramsClient, peakVelocityClient, certMap, cctMap, mapPlotUtilities); waveformPlotManager.attachToDisplayNode(waveformPlotNode); stage.setOnCloseRequest(evt -> { waveformPlotManager.setSavedAxisLimits(null); diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/envelope/gui/controllers/WaveformLoadingController.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/envelope/gui/controllers/WaveformLoadingController.java index 07d5ac67..c03e6f19 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/envelope/gui/controllers/WaveformLoadingController.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/envelope/gui/controllers/WaveformLoadingController.java @@ -181,7 +181,7 @@ public void stackEnvelopes(SortedMap> evidStaFreqMap) { bus.post(progressEvent); evidStaFreqMap.entrySet().parallelStream().forEach(entry -> { - if (entry.getValue().size() > 1) { + if (!entry.getValue().isEmpty()) { List files = entry.getValue(); Map> waveformsByFreqAndSta = new HashMap<>(); @@ -241,7 +241,7 @@ private Waveform stackEnvelopes(List waves) { // FIXME: Duplicate of the one in service. // Need a common-utils because this pulls in stuff from Externals for TimeSeries etc so I can't cheat and slam it into the common model. Waveform base = null; - if (waves != null && waves.size() > 1) { + if (waves != null && !waves.isEmpty()) { try { base = waves.get(0); TimeSeries seis = convertToTimeSeries(base); @@ -272,7 +272,7 @@ private Waveform stackEnvelopes(List waves) { log.info(e.getMessage(), e); } } else { - log.info("Waveform with only one channel found for list {}, skipping stacking", waves); + log.info("Empty list provided for creating envelopes, skipping"); } return base; } diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/spectra/gui/SpectraRatioGuiController.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/spectra/gui/SpectraRatioGuiController.java index 2a61551d..2a5535b6 100644 --- a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/spectra/gui/SpectraRatioGuiController.java +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/spectra/gui/SpectraRatioGuiController.java @@ -1,6 +1,6 @@ /* * Copyright (c) 2023, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory -* CODE-743439. +* CODE-743439, CODE-848318. * All rights reserved. * This file is part of CCT. For details, see https://github.com/LLNL/coda-calibration-tool. * @@ -39,18 +39,21 @@ import gov.llnl.gnem.apps.coda.calibration.gui.data.client.api.EventClient; import gov.llnl.gnem.apps.coda.calibration.gui.data.client.api.SpectraClient; import gov.llnl.gnem.apps.coda.calibration.gui.data.client.api.SpectraRatioClient; +import gov.llnl.gnem.apps.coda.calibration.gui.plotting.CertLeafletMapController; import gov.llnl.gnem.apps.coda.calibration.model.domain.Spectra; import gov.llnl.gnem.apps.coda.calibration.model.messaging.RatioMeasurementEvent; import gov.llnl.gnem.apps.coda.calibration.model.messaging.RatioStatusEvent; import gov.llnl.gnem.apps.coda.calibration.model.messaging.RatioStatusEvent.Status; import gov.llnl.gnem.apps.coda.common.gui.events.ShowFailureReportEvent; import gov.llnl.gnem.apps.coda.common.gui.util.MaybeNumericStringComparator; +import gov.llnl.gnem.apps.coda.common.model.domain.Event; import gov.llnl.gnem.apps.coda.common.model.messaging.Result; import gov.llnl.gnem.apps.coda.common.model.util.SPECTRA_TYPES; import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraEvent; import javafx.application.Platform; import javafx.beans.binding.Bindings; import javafx.collections.FXCollections; +import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; import javafx.fxml.FXML; import javafx.scene.control.Alert; @@ -62,6 +65,7 @@ import javafx.scene.control.TableColumn.CellDataFeatures; import javafx.scene.control.TableView; import javafx.stage.Stage; +import llnl.gnem.core.util.Geometry.EModel; @Component public class SpectraRatioGuiController implements RefreshableController { @@ -83,6 +87,9 @@ public class SpectraRatioGuiController implements RefreshableController { @FXML private TableColumn dateCol; + @FXML + private TableColumn distanceCol; + @FXML private TableColumn numCol; @@ -98,6 +105,9 @@ public class SpectraRatioGuiController implements RefreshableController { @FXML private MenuItem deselectRowsBtn; + @FXML + private MenuItem calculateDistanceBtn; + @FXML private Button calcRatioBtn; @@ -108,6 +118,9 @@ public class SpectraRatioGuiController implements RefreshableController { private EventClient eventClient; private SpectraClient spectraClient; private SpectraRatioClient spectraRatioClient; + private CertLeafletMapController certMapController; + + private Event selectedEventForDistCalc; private EventBus bus; private boolean calculationProcessing = false; @@ -129,11 +142,12 @@ public class SpectraRatioGuiController implements RefreshableController { private Stage stage; - public SpectraRatioGuiController(EventClient eventClient, SpectraClient spectraClient, SpectraRatioClient spectraRatioClient, EventBus bus, ConfigurableApplicationContext springContext) - throws IOException { + public SpectraRatioGuiController(EventClient eventClient, SpectraClient spectraClient, CertLeafletMapController certMapController, SpectraRatioClient spectraRatioClient, EventBus bus, + ConfigurableApplicationContext springContext) throws IOException { this.eventClient = eventClient; this.spectraClient = spectraClient; this.spectraRatioClient = spectraRatioClient; + this.certMapController = certMapController; this.bus = bus; } @@ -177,6 +191,18 @@ private Double getEventRefMw(SpectraEvent event) { return eventSpectra.getMw(); } + private Double getEventDistance(SpectraEvent spectraEvent) { + Event event = eventClient.getEvent(spectraEvent.getEventID()).block(); + + // Calculate event distance based from selected event + if (event != null && selectedEventForDistCalc != null) { + + return EModel.getDistanceWGS84(event.getLatitude(), event.getLongitude(), selectedEventForDistCalc.getLatitude(), selectedEventForDistCalc.getLongitude()); + } + + return 0.0; + } + public void loadEnvelopes() { requestData(); } @@ -185,11 +211,22 @@ public void loadEnvelopes() { public void initialize() { bus.register(this); this.alertPopup = new Alert(Alert.AlertType.INFORMATION); + this.selectedEventForDistCalc = null; alertPopup.setTitle("Notice"); alertPopup.setHeaderText(null); alertPopup.setContentText("You need to select at least 1 numerator event and 1 denominator event to calculate ratios."); tableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); + tableView.getSelectionModel().getSelectedItems().addListener(new ListChangeListener() { + @Override + public void onChanged(Change c) { + List events = c.getList().stream().map(s -> eventClient.getEvent(s.getEventID()).block()).collect(Collectors.toList()); + List allEvents = tableView.getItems().stream().map(s -> eventClient.getEvent(s.getEventID()).block()).collect(Collectors.toList()); + certMapController.setEventIconsInActive(allEvents); + certMapController.setEventIconsActive(events); + } + }); + eventCol.setCellValueFactory(x -> Bindings.createStringBinding(() -> Optional.ofNullable(x).map(CellDataFeatures::getValue).map(SpectraEvent::getEventID).orElseGet(String::new))); eventCol.comparatorProperty().set(new MaybeNumericStringComparator()); @@ -213,6 +250,8 @@ public void initialize() { }).orElseGet(CheckBox::new))); numCol.comparatorProperty().set((c1, c2) -> Boolean.compare(c1.isSelected(), c2.isSelected())); + distanceCol.setCellValueFactory(x -> Bindings.createObjectBinding(() -> Optional.ofNullable(x).map(CellDataFeatures::getValue).map(this::getEventDistance).orElseGet(null))); + denCol.setCellValueFactory(x -> Bindings.createObjectBinding(() -> Optional.ofNullable(x).map(CellDataFeatures::getValue).map(event -> { CheckBox box = new CheckBox(); box.setSelected(event.isDenominator()); @@ -279,6 +318,14 @@ private void deselectRows() { } } + @FXML + private void calculateDistance() { + if (tableView != null) { + selectedEventForDistCalc = eventClient.getEvent(tableView.getSelectionModel().getSelectedItems().get(0).getEventID()).block(); + tableView.refresh(); + } + } + @FXML private void calculateSpectraRatio() { diff --git a/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/spectra/gui/events/RatioSegmentChangeEvent.java b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/spectra/gui/events/RatioSegmentChangeEvent.java new file mode 100644 index 00000000..e475ced6 --- /dev/null +++ b/calibration-gui/src/main/java/gov/llnl/gnem/apps/coda/spectra/gui/events/RatioSegmentChangeEvent.java @@ -0,0 +1,31 @@ +/* +* Copyright (c) 2023, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory +* CODE-743439, CODE-848318 +* All rights reserved. +* This file is part of CCT. For details, see https://github.com/LLNL/coda-calibration-tool. +* +* Licensed under the Apache License, Version 2.0 (the “Licensee”); you may not use this file except in compliance with the License. You may obtain a copy of the License at: +* http://www.apache.org/licenses/LICENSE-2.0 +* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and limitations under the license. +* +* This work was performed under the auspices of the U.S. Department of Energy +* by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344. +*/ +package gov.llnl.gnem.apps.coda.spectra.gui.events; + +import gov.llnl.gnem.apps.coda.spectra.model.domain.util.SpectraRatioPairOperator; + +public class RatioSegmentChangeEvent { + + private final SpectraRatioPairOperator ratioDetails; + + public RatioSegmentChangeEvent(SpectraRatioPairOperator ratioDetails) { + this.ratioDetails = ratioDetails; + } + + public SpectraRatioPairOperator getRatioDetails() { + return ratioDetails; + } + +} diff --git a/calibration-gui/src/main/resources/fxml/CertGui.fxml b/calibration-gui/src/main/resources/fxml/CertGui.fxml index 3d3b5ef6..9a362cad 100644 --- a/calibration-gui/src/main/resources/fxml/CertGui.fxml +++ b/calibration-gui/src/main/resources/fxml/CertGui.fxml @@ -37,6 +37,7 @@ + @@ -49,7 +50,7 @@ - + diff --git a/calibration-gui/src/main/resources/fxml/SpectraRatioGui.fxml b/calibration-gui/src/main/resources/fxml/SpectraRatioGui.fxml index 59b28290..d24208df 100644 --- a/calibration-gui/src/main/resources/fxml/SpectraRatioGui.fxml +++ b/calibration-gui/src/main/resources/fxml/SpectraRatioGui.fxml @@ -24,9 +24,10 @@ - - - + + + + @@ -39,6 +40,7 @@ + diff --git a/calibration-service/calibration-application/pom.xml b/calibration-service/calibration-application/pom.xml index 7249b698..9bf5022e 100644 --- a/calibration-service/calibration-application/pom.xml +++ b/calibration-service/calibration-application/pom.xml @@ -3,7 +3,7 @@ gov.llnl.gnem.apps.coda.calibration calibration-service - 1.0.20 + 1.0.21 4.0.0 @@ -112,7 +112,7 @@ org.springframework.boot spring-boot-maven-plugin - true + true gov.llnl.gnem.apps.coda.calibration.CalibrationApplication runnable true diff --git a/calibration-service/calibration-application/src/main/java/gov/llnl/gnem/apps/coda/calibration/application/web/SpectraRatioJsonController.java b/calibration-service/calibration-application/src/main/java/gov/llnl/gnem/apps/coda/calibration/application/web/SpectraRatioJsonController.java index e6e352eb..dcd9e69d 100644 --- a/calibration-service/calibration-application/src/main/java/gov/llnl/gnem/apps/coda/calibration/application/web/SpectraRatioJsonController.java +++ b/calibration-service/calibration-application/src/main/java/gov/llnl/gnem/apps/coda/calibration/application/web/SpectraRatioJsonController.java @@ -38,6 +38,7 @@ import gov.llnl.gnem.apps.coda.spectra.model.domain.RatioEventData; import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioMeasurementJob; import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetails; +import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetailsMetadata; import gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatiosReport; import gov.llnl.gnem.apps.coda.spectra.model.domain.messaging.SpectraRatiosReportDTO; @@ -59,6 +60,11 @@ public List getMeasurements() { return service.findAll(); } + @GetMapping(name = "getMeasurementsMetadata", path = "/all-metadata-only", produces = MediaType.APPLICATION_JSON_VALUE) + public List getMeasurementsMetadata() { + return service.findAllMetadataOnly(); + } + @PostMapping(value = "/measure-spectra-ratio-from-waveforms", name = "measureSpectraRatio", produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity measureSpectraRatioFromWaveforms(@RequestBody SpectraRatioMeasurementJob job) { return measureSpectraRatioFromWaveforms(job.getAutoPickingEnabled(), job.getPersistResults(), job.getSmallEventIds(), job.getLargeEventIds()); @@ -69,6 +75,24 @@ public ResponseEntity measureSpectraRatioFromRatioData(@RequestBody SpectraRa return measureSpectraRatioFromRatioData(job.getSmallEventIds(), job.getLargeEventIds(), job.getRatioEventData()); } + @PostMapping(value = "/update-ratio", name = "updateSpectraRatio", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateSpectraRatio(@RequestBody SpectraRatioPairDetails ratio) { + try { + return ResponseEntity.ok().body(service.update(ratio)); + } catch (RuntimeException e) { + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getLocalizedMessage()); + } + } + + @PostMapping(value = "/load-ratios-metadata", name = "loadRatioMetadata", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity loadRatioMetadata(@RequestBody List ratios) { + try { + return ResponseEntity.ok().body(service.loadRatioMetadata(ratios)); + } catch (RuntimeException e) { + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getLocalizedMessage()); + } + } + private ResponseEntity measureSpectraRatioFromRatioData(Set smallEventIds, Set largeEventIds, List ratioEventData) { log.trace("Received request to measure spectra ratio"); diff --git a/calibration-service/calibration-application/src/main/resources/static/img/import_complete.png b/calibration-service/calibration-application/src/main/resources/static/img/import_complete.png index 1f54137682b2af95bbb3d49e102858606f24cd3a..15af0dc75b09d914eb521ab9b46a9e9aef4e17ac 100644 GIT binary patch literal 390655 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 & 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�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 Xh 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%0D?WVqfaD%+wuS~0a^-wrKt`EHAA?mR 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�vso(uxFT=#f*@o36)&7 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 iQpn|Ukw}E&`2PV4p4ZvlQdJ`W0000Coda Calibration Tool Documentation + + + + @@ -29,6 +35,11 @@

@@ -165,9 +177,9 @@
-

Coda Calibration Tool (CCT) 1.0.20 documentation +

Coda Calibration Tool (CCT) 1.0.21 documentation

-

2022-07-31; Version 1.0; Authors Barno, Justin | Mayeda, Kevin

+

2023-12-20; Version 1.1; Authors Barno, Justin | Mayeda, Kevin

About CCT

The Coda Calibration Tool (CCT) is a Java-based application that stems from a collaborative project by scientists from the USNDC (AFTAC/SDS) and DOE (LLNL) as well as significant input from seismologists @@ -204,17 +216,17 @@

Getting Started

Downloading CCT

The latest version of the Coda Calibration Tool (CCT) can be found on the release page

-

The standalone CCT jar file is calibration-standalone-1.0.20-runnable.jar while the REST services only - are available in calibration-application-1.0.20-runnable.jar.

+

The standalone CCT jar file is calibration-standalone-1.0.21-runnable.jar while the REST services only + are available in calibration-application-1.0.21-runnable.jar.

Downloading SF Bay Area example tarfile

The complete SF Bay Area calibration which includes SAC waveforms, stacked envelopes and JavaScript Object Notation (JSON) parameter files can be downloaded here

+ href="https://doi.org/10.5281/zenodo.10019686">downloaded here

Running CCT

You can launch CCT by executing Java from the command line as:

-

java -Xmx12g -jar calibration-standalone-1.0.20-runnable.jar

+

java -Xmx12g -jar calibration-standalone-1.0.21-runnable.jar

Or, if you have Java 11+ as:

-

java -XX:MaxRAMPercentage=70.0 -jar calibration-standalone-1.0.20-runnable.jar

+

java -XX:MaxRAMPercentage=70.0 -jar calibration-standalone-1.0.21-runnable.jar

Generally your -Xmx flag should be set to, at most, ~70% of the physical RAM available on the machine.

You can add the --spring.profiles.active=file flag to the Java call if your dataset is @@ -251,8 +263,8 @@

Creating Envelopes with SAC W

Initial Waveform Data

  1. CCT requires SAC files. Horizontal components are preferred, but you can use verticals, just don’t - mix them and keep in separate folders. Envelope tool will stack all components for an event recorded - at station X.
  2. + mix them and keep in separate folders. The envelope tool will stack all components for an event + recorded at station X.

The tool will use the SAC header variables for the event name (KEVNM) and station name (KSTNM) in the SAC header to create the names for the envelope files.

@@ -332,8 +344,8 @@

Envelope Formation

Close the Envelope Tool when the progress bar completes. The envelopes will be created in the following directory structure: ...Data_new/Envelopes/YEAR/MONTH/EVID/STATION/STA_COMP_EVID_FREQ1_FREQ2_VEL_.ENV In subsequent - steps, you can import all stack envelopes created in this envelope tool with "File > Import stack - directory…" and choose the "Envelopes" directory.

+ steps, you can import all stack envelopes created in this envelope tool with "File > Load Stack + Directory…" and choose the "Envelopes" directory.

San Francisco Bay Example Dataset

@@ -400,8 +412,8 @@

Untar Example File and Description

Step-by-Step Bay Area CCT Example

-

Read in necesssary data

-

Read in stacked envelopes using the pulldown tab: File>Import Stack Directory… +

Read in necessary data

+

Load in stacked envelopes using the pulldown tab: File>Load Stack Directory… img

Figure. 6, Importing stacked envelopes in a directory.

Select the Envelopes_stack_Kevin_picks directory

@@ -411,8 +423,18 @@

Read in necesssary data

img

Figure. 7, Dialog showing amount of envelopes imported, errors (if any), and if the process has completed.

-

Next, read in the Coda Parameter file: File>Import Coda Param...

+

Next, load the Coda Parameter file: File>Load Calibration...

Select the Calibration_Parameters_Kevin.json file (This reads instantly)

+
+

Note

+

The example SF Bay Area JSON file has been fine-tuned over multiple calibration iterations. When + applying to a new region, you will have to re-run CCT multiple times to adjust picks, remove bad data, + adjust minimum and maximum window lengths, and possibly SNR pre-sets.

+

Each time you must export the calibration JSON file to save your changes and use the latest JSON in + the next iteration. Keep re-running CCT and repeat the above steps to refine the calibration until you + are satisfied with the results. The final calibration JSON file that you export can then be used for + routine processing for the region.

+

To view the data in map form, click the Map button in the upper right. In the upper right map pop-up, select the tile pull-down in the upper right. Be sure the application.properties file is in the working directory if you want to use custom layers. You can click on a station or event to see the corresponding @@ -525,19 +547,18 @@

Sorting & Re-Picking Events

then all ‘ap’ marks will disappear.

Important

-

To save all the new picks in the current session, under File choose Export Waveforms and you can - choose the same Envelope directory, in this case Envelope_stack_Kevin_picks, or create a new - directory. The next time you run the calibration, the tool will use the new f-marker - picks.

+

To save all the new picks in the current session, under File choose Save Waveforms and you can choose + the same Envelope directory, in this case Envelope_stack_Kevin_picks, or create a new directory. The + next time you run the calibration, the tool will use the new f-marker picks.

Parameters tab

Allows users to view the calibration parameters during the current calibration and make adjustments, specifically the window length limits (Min and Max) as well as SNR levels (in log 10). These changes will ONLY be kept if you export the calibration - (File->Export Calibration). You will then have to use the newly created + (File->Save Calibration). You will then have to use the newly created Calibration_Parameters.json file for the subsequent calibration refinement.

img -

Figure. 13, The parameters table that defines the core of a calibraition. +
Figure. 13, The parameters table that defines the core of a calibration.

Shape tab

Allows users to view empirical envelope shape parameters and velocity fits to the observed data as a @@ -622,7 +643,7 @@

Site tab

  • -

    Model Fit Mw****

    +

    Model Fit Mw

    • Mw derived from omega-square fitting to observed data
    @@ -640,7 +661,7 @@

    Site tab

  • -

    Reference Mw****

    +

    Reference Mw

    • Independent Mw derived a priori, preferably from waveform modeling.
    • @@ -689,7 +710,7 @@

      Measured Mws tab

      using the REST services CCT provides.

      Oftentimes we impose a more strict set of guidelines for calibration, whereas for routine event processing we might relax the minimum window length or change the SNR levels. Save your - Mws with File -> Export Measured Mws…

      + Mws with File -> Save Measured Mws…

      Glossary of terms

      • @@ -1302,7 +1323,7 @@

        Configuration variables

  • + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class SpectraRatioLoadingController

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • gov.llnl.gnem.apps.coda.calibration.gui.controllers.SpectraRatioLoadingController
      • +
      +
    • +
    +
    +
      +
    • +
      +
      @Component
      +public class SpectraRatioLoadingController
      +extends Object
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Field Detail

        + + + +
          +
        • +

          LOCAL_FAIL_EVENT

          +
          protected static final Long LOCAL_FAIL_EVENT
          +
        • +
        + + + +
          +
        • +

          maxBatching

          +
          protected int maxBatching
          +
        • +
        + + + +
          +
        • +

          idCounter

          +
          protected AtomicLong idCounter
          +
        • +
        +
      • +
      +
      + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          saveToDirectory

          +
          public void saveToDirectory​(File exportDirectory)
          +
        • +
        + + + +
          +
        • +

          loadFiles

          +
          public void loadFiles​(List<File> inputFiles)
          +
        • +
        + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/controllers/SpectraRatioPlotController.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/controllers/SpectraRatioPlotController.html index d9419975..e4eb9cb0 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/controllers/SpectraRatioPlotController.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/controllers/SpectraRatioPlotController.html @@ -2,10 +2,10 @@ - -SpectraRatioPlotController (coda-calibration 1.0.20 API) + +SpectraRatioPlotController (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@ + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    gov.llnl.gnem.apps.coda.calibration.gui.controllers.SpectraRatioLoadingController

    +
    +
    + +
    +
    + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/controllers/class-use/SpectraRatioPlotController.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/controllers/class-use/SpectraRatioPlotController.html index 64a3f804..7cdf71ee 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/controllers/class-use/SpectraRatioPlotController.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/controllers/class-use/SpectraRatioPlotController.html @@ -2,10 +2,10 @@ - -Uses of Class gov.llnl.gnem.apps.coda.calibration.gui.controllers.SpectraRatioPlotController (coda-calibration 1.0.20 API) + +Uses of Class gov.llnl.gnem.apps.coda.calibration.gui.controllers.SpectraRatioPlotController (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@ + + + + + + + + + +
    + +
    + +
    +
    + +

    Class SpectralRatioProjectLoader

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • gov.llnl.gnem.apps.coda.calibration.gui.converters.param.SpectralRatioProjectLoader
      • +
      +
    • +
    +
    +
      +
    • +
      +
      public class SpectralRatioProjectLoader
      +extends Object
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/param/class-use/CodaJsonParamLoader.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/param/class-use/CodaJsonParamLoader.html index 225a9833..fb41c608 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/param/class-use/CodaJsonParamLoader.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/param/class-use/CodaJsonParamLoader.html @@ -2,10 +2,10 @@ - -Uses of Class gov.llnl.gnem.apps.coda.calibration.gui.converters.param.CodaJsonParamLoader (coda-calibration 1.0.20 API) + +Uses of Class gov.llnl.gnem.apps.coda.calibration.gui.converters.param.CodaJsonParamLoader (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@ + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    gov.llnl.gnem.apps.coda.calibration.gui.converters.param.SpectralRatioProjectLoader

    +
    +
    No usage of gov.llnl.gnem.apps.coda.calibration.gui.converters.param.SpectralRatioProjectLoader
    +
    + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/param/package-summary.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/param/package-summary.html index cf92fbea..b75e52a3 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/param/package-summary.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/param/package-summary.html @@ -2,10 +2,10 @@ - -gov.llnl.gnem.apps.coda.calibration.gui.converters.param (coda-calibration 1.0.20 API) + +gov.llnl.gnem.apps.coda.calibration.gui.converters.param (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@ + + + + + + + + + +
    + +
    + +
    +
    + +

    Class SpectraRatioLoader

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • gov.llnl.gnem.apps.coda.calibration.gui.converters.ratios.SpectraRatioLoader
      • +
      +
    • +
    +
    +
      +
    • +
      +
      @Component
      +public class SpectraRatioLoader
      +extends Object
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/class-use/SpectraRatioLoader.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/class-use/SpectraRatioLoader.html new file mode 100644 index 00000000..2ed786ba --- /dev/null +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/class-use/SpectraRatioLoader.html @@ -0,0 +1,195 @@ + + + + + +Uses of Class gov.llnl.gnem.apps.coda.calibration.gui.converters.ratios.SpectraRatioLoader (coda-calibration 1.0.21-SNAPSHOT API) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    gov.llnl.gnem.apps.coda.calibration.gui.converters.ratios.SpectraRatioLoader

    +
    +
    + +
    +
    + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/package-summary.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/package-summary.html new file mode 100644 index 00000000..d3c9d523 --- /dev/null +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/package-summary.html @@ -0,0 +1,168 @@ + + + + + +gov.llnl.gnem.apps.coda.calibration.gui.converters.ratios (coda-calibration 1.0.21-SNAPSHOT API) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package gov.llnl.gnem.apps.coda.calibration.gui.converters.ratios

    +
    +
    + +
    +
    +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/package-tree.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/package-tree.html new file mode 100644 index 00000000..fa6a8a98 --- /dev/null +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/package-tree.html @@ -0,0 +1,165 @@ + + + + + +gov.llnl.gnem.apps.coda.calibration.gui.converters.ratios Class Hierarchy (coda-calibration 1.0.21-SNAPSHOT API) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package gov.llnl.gnem.apps.coda.calibration.gui.converters.ratios

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/package-use.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/package-use.html new file mode 100644 index 00000000..7a477627 --- /dev/null +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/ratios/package-use.html @@ -0,0 +1,185 @@ + + + + + +Uses of Package gov.llnl.gnem.apps.coda.calibration.gui.converters.ratios (coda-calibration 1.0.21-SNAPSHOT API) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Package
    gov.llnl.gnem.apps.coda.calibration.gui.converters.ratios

    +
    + +
    +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/sac/CodaStackedSacFileLoader.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/sac/CodaStackedSacFileLoader.html index 7931ee9e..36b3711b 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/sac/CodaStackedSacFileLoader.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/gui/converters/sac/CodaStackedSacFileLoader.html @@ -2,10 +2,10 @@ - -CodaStackedSacFileLoader (coda-calibration 1.0.20 API) + +CodaStackedSacFileLoader (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@ + + + + + + + + + +
    + +
    + +
    +
    + +

    Class RatioOptimizerMeasurement

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • gov.llnl.gnem.apps.coda.calibration.model.domain.RatioOptimizerMeasurement
      • +
      +
    • +
    +
    +
      +
    • +
      +
      public class RatioOptimizerMeasurement
      +extends Object
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          RatioOptimizerMeasurement

          +
          public RatioOptimizerMeasurement​(float sum,
          +                                 Double momentA,
          +                                 Double stressA,
          +                                 Double cornerFreqA,
          +                                 Double momentB,
          +                                 Double stressB,
          +                                 Double cornerFreqB)
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getFit

          +
          public float getFit()
          +
        • +
        + + + +
          +
        • +

          getMomentA

          +
          public Double getMomentA()
          +
        • +
        + + + +
          +
        • +

          getStressA

          +
          public Double getStressA()
          +
        • +
        + + + +
          +
        • +

          getCornerFreqA

          +
          public Double getCornerFreqA()
          +
        • +
        + + + +
          +
        • +

          getMomentB

          +
          public Double getMomentB()
          +
        • +
        + + + +
          +
        • +

          getStressB

          +
          public Double getStressB()
          +
        • +
        + + + +
          +
        • +

          getCornerFreqB

          +
          public Double getCornerFreqB()
          +
        • +
        + + + +
          +
        • +

          hashCode

          +
          public int hashCode()
          +
          +
          Overrides:
          +
          hashCode in class Object
          +
          +
        • +
        + + + +
          +
        • +

          equals

          +
          public boolean equals​(Object obj)
          +
          +
          Overrides:
          +
          equals in class Object
          +
          +
        • +
        + + + + +
      • +
      +
      +
    • +
    +
    +
    +
    + +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/ReferenceMwParameters.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/ReferenceMwParameters.html index f1eacb9e..b0d2c193 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/ReferenceMwParameters.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/ReferenceMwParameters.html @@ -2,10 +2,10 @@ - -ReferenceMwParameters (coda-calibration 1.0.20 API) + +ReferenceMwParameters (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@ + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    gov.llnl.gnem.apps.coda.calibration.model.domain.RatioOptimizerMeasurement

    +
    +
    No usage of gov.llnl.gnem.apps.coda.calibration.model.domain.RatioOptimizerMeasurement
    +
    + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/class-use/ReferenceMwParameters.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/class-use/ReferenceMwParameters.html index 6196559e..5024cf2d 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/class-use/ReferenceMwParameters.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/class-use/ReferenceMwParameters.html @@ -2,10 +2,10 @@ - -Uses of Class gov.llnl.gnem.apps.coda.calibration.model.domain.ReferenceMwParameters (coda-calibration 1.0.20 API) + +Uses of Class gov.llnl.gnem.apps.coda.calibration.model.domain.ReferenceMwParameters (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@ + + + + + + + + + +
    + +
    + +
    +
    + +

    Class SpectraRatioPairDetailsMetadataMixin

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.SpectraRatioPairDetailsMetadataMixin
      • +
      +
    • +
    +
    +
      +
    • +
      +
      public class SpectraRatioPairDetailsMetadataMixin
      +extends Object
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          SpectraRatioPairDetailsMetadataMixin

          +
          public SpectraRatioPairDetailsMetadataMixin()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/ValidationMwParametersFileMixin.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/ValidationMwParametersFileMixin.html index 93d405fd..051d19a4 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/ValidationMwParametersFileMixin.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/ValidationMwParametersFileMixin.html @@ -2,10 +2,10 @@ - -ValidationMwParametersFileMixin (coda-calibration 1.0.20 API) + +ValidationMwParametersFileMixin (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@ + + + + + + + + + +
    + +
    + +
    +
    + +

    Class WaveformMetadataMixin

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.WaveformMetadataMixin
      • +
      +
    • +
    +
    +
      +
    • +
      +
      public class WaveformMetadataMixin
      +extends Object
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          WaveformMetadataMixin

          +
          public WaveformMetadataMixin()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/WaveformPickMixin.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/WaveformPickMixin.html new file mode 100644 index 00000000..ace7d31c --- /dev/null +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/WaveformPickMixin.html @@ -0,0 +1,270 @@ + + + + + +WaveformPickMixin (coda-calibration 1.0.21-SNAPSHOT API) + + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class WaveformPickMixin

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.WaveformPickMixin
      • +
      +
    • +
    +
    +
      +
    • +
      +
      public class WaveformPickMixin
      +extends Object
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          WaveformPickMixin

          +
          public WaveformPickMixin()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/MdacFiFileMixin.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/MdacFiFileMixin.html index a9175e31..d7a37eb9 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/MdacFiFileMixin.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/MdacFiFileMixin.html @@ -2,10 +2,10 @@ - -Uses of Class gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.MdacFiFileMixin (coda-calibration 1.0.20 API) + +Uses of Class gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.MdacFiFileMixin (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@ + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.SpectraRatioPairDetailsMetadataMixin

    +
    +
    No usage of gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.SpectraRatioPairDetailsMetadataMixin
    +
    + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/ValidationMwParametersFileMixin.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/ValidationMwParametersFileMixin.html index ec7d478e..11649474 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/ValidationMwParametersFileMixin.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/ValidationMwParametersFileMixin.html @@ -2,10 +2,10 @@ - -Uses of Class gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.ValidationMwParametersFileMixin (coda-calibration 1.0.20 API) + +Uses of Class gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.ValidationMwParametersFileMixin (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@ + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.WaveformMetadataMixin

    +
    +
    No usage of gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.WaveformMetadataMixin
    +
    + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/WaveformPickMixin.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/WaveformPickMixin.html new file mode 100644 index 00000000..984cb5b6 --- /dev/null +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/class-use/WaveformPickMixin.html @@ -0,0 +1,150 @@ + + + + + +Uses of Class gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.WaveformPickMixin (coda-calibration 1.0.21-SNAPSHOT API) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.WaveformPickMixin

    +
    +
    No usage of gov.llnl.gnem.apps.coda.calibration.model.domain.mixins.WaveformPickMixin
    +
    + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/package-summary.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/package-summary.html index 169b35c9..bf762232 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/package-summary.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/model/domain/mixins/package-summary.html @@ -2,10 +2,10 @@ - -gov.llnl.gnem.apps.coda.calibration.model.domain.mixins (coda-calibration 1.0.20 API) + +gov.llnl.gnem.apps.coda.calibration.model.domain.mixins (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@ @@ -93,7 +99,7 @@
  • Detail: 
  • Field | 
  • Constr | 
  • -
  • Method
  • +
  • Method
  • @@ -139,6 +145,35 @@

    Interface

    Method Summary

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    All Methods Instance Methods Abstract Methods 
    Modifier and TypeMethodDescription
    voiddeleteAllNotInIdsList​(List<Long> ids) 
    List<SpectraRatioPairDetailsMetadata>findAllMetdataOnly() 
    List<SpectraRatioPairDetails>findByUserEditedTrue() 
    SpectraRatioPairDetailsfindByWaveformIds​(Long numerId, + Long denomId) 
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          deleteAllNotInIdsList

          +
          @Modifying
          +@Query("delete from SpectraRatioPairDetails ratio where ratio.id NOT IN :ids")
          +void deleteAllNotInIdsList​(@Param("ids")
          +                           List<Long> ids)
          +
        • +
        + + + + + + + +
          +
        • +

          findByWaveformIds

          +
          @Query("select ratio from SpectraRatioPairDetails ratio where ratio.numerWaveform.id = :numerId and ratio.denomWaveform.id = :denomId")
          +SpectraRatioPairDetails findByWaveformIds​(@Param("numerId")
          +                                          Long numerId,
          +                                          @Param("denomId")
          +                                          Long denomId)
          +
        • +
        +
      • +
      +
      +
    • +
    +
    @@ -235,7 +330,7 @@

    Methods inherited from interface org.springframework.data.repository.qu
  • Detail: 
  • Field | 
  • Constr | 
  • -
  • Method
  • +
  • Method
  • diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/repository/SpectraRatioPairInversionSampleRepository.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/repository/SpectraRatioPairInversionSampleRepository.html index cb118212..e8594a33 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/repository/SpectraRatioPairInversionSampleRepository.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/calibration/repository/SpectraRatioPairInversionSampleRepository.html @@ -2,10 +2,10 @@ - -SpectraRatioPairInversionSampleRepository (coda-calibration 1.0.20 API) + +SpectraRatioPairInversionSampleRepository (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@ + + + + + + + + + +
    + +
    + +
    +
    + +

    Class RatioSegmentChangeEvent

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • gov.llnl.gnem.apps.coda.spectra.gui.events.RatioSegmentChangeEvent
      • +
      +
    • +
    +
    +
      +
    • +
      +
      public class RatioSegmentChangeEvent
      +extends Object
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/class-use/RatioSegmentChangeEvent.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/class-use/RatioSegmentChangeEvent.html new file mode 100644 index 00000000..a0709681 --- /dev/null +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/class-use/RatioSegmentChangeEvent.html @@ -0,0 +1,150 @@ + + + + + +Uses of Class gov.llnl.gnem.apps.coda.spectra.gui.events.RatioSegmentChangeEvent (coda-calibration 1.0.21-SNAPSHOT API) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    gov.llnl.gnem.apps.coda.spectra.gui.events.RatioSegmentChangeEvent

    +
    +
    No usage of gov.llnl.gnem.apps.coda.spectra.gui.events.RatioSegmentChangeEvent
    +
    + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/package-summary.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/package-summary.html new file mode 100644 index 00000000..863f0958 --- /dev/null +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/package-summary.html @@ -0,0 +1,168 @@ + + + + + +gov.llnl.gnem.apps.coda.spectra.gui.events (coda-calibration 1.0.21-SNAPSHOT API) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Package gov.llnl.gnem.apps.coda.spectra.gui.events

    +
    +
    + +
    +
    +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/package-tree.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/package-tree.html new file mode 100644 index 00000000..ef90c229 --- /dev/null +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/package-tree.html @@ -0,0 +1,165 @@ + + + + + +gov.llnl.gnem.apps.coda.spectra.gui.events Class Hierarchy (coda-calibration 1.0.21-SNAPSHOT API) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Hierarchy For Package gov.llnl.gnem.apps.coda.spectra.gui.events

    +Package Hierarchies: + +
    +
    +
    +

    Class Hierarchy

    + +
    +
    +
    +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/package-use.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/package-use.html new file mode 100644 index 00000000..6a334f94 --- /dev/null +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/events/package-use.html @@ -0,0 +1,150 @@ + + + + + +Uses of Package gov.llnl.gnem.apps.coda.spectra.gui.events (coda-calibration 1.0.21-SNAPSHOT API) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Package
    gov.llnl.gnem.apps.coda.spectra.gui.events

    +
    +
    No usage of gov.llnl.gnem.apps.coda.spectra.gui.events
    +
    +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/package-summary.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/package-summary.html index 824fa9b8..36070a77 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/package-summary.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/gui/package-summary.html @@ -2,10 +2,10 @@ - -gov.llnl.gnem.apps.coda.spectra.gui (coda-calibration 1.0.20 API) + +gov.llnl.gnem.apps.coda.spectra.gui (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@ + + + + + + + + + +
    + +
    + +
    +
    + +

    Interface SpectraRatioPairDetailsMetadata

    +
    +
    +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getId

          +
          Long getId()
          +
        • +
        + + + +
          +
        • +

          getVersion

          +
          Integer getVersion()
          +
        • +
        + + + + + + + + + + + +
          +
        • +

          getDiffAvg

          +
          Double getDiffAvg()
          +
        • +
        + + + +
          +
        • +

          getNumerAvg

          +
          Double getNumerAvg()
          +
        • +
        + + + +
          +
        • +

          getDenomAvg

          +
          Double getDenomAvg()
          +
        • +
        + + + + + + + + + + + +
          +
        • +

          getCutSegmentLength

          +
          int getCutSegmentLength()
          +
        • +
        + + + +
          +
        • +

          getCutTimeLength

          +
          double getCutTimeLength()
          +
        • +
        + + + +
          +
        • +

          getNumerWaveStartSec

          +
          Double getNumerWaveStartSec()
          +
        • +
        + + + +
          +
        • +

          getDenomWaveStartSec

          +
          Double getDenomWaveStartSec()
          +
        • +
        + + + +
          +
        • +

          getNumerWaveEndSec

          +
          Double getNumerWaveEndSec()
          +
        • +
        + + + +
          +
        • +

          getDenomWaveEndSec

          +
          Double getDenomWaveEndSec()
          +
        • +
        + + + +
          +
        • +

          getNumerPeakSec

          +
          Double getNumerPeakSec()
          +
        • +
        + + + +
          +
        • +

          getDenomPeakSec

          +
          Double getDenomPeakSec()
          +
        • +
        + + + +
          +
        • +

          getNumerFMarkerSec

          +
          Double getNumerFMarkerSec()
          +
        • +
        + + + +
          +
        • +

          getDenomFMarkerSec

          +
          Double getDenomFMarkerSec()
          +
        • +
        + + + +
          +
        • +

          getNumerStartCutSec

          +
          Double getNumerStartCutSec()
          +
        • +
        + + + +
          +
        • +

          getDenomStartCutSec

          +
          Double getDenomStartCutSec()
          +
        • +
        + + + +
          +
        • +

          getNumerEndCutSec

          +
          Double getNumerEndCutSec()
          +
        • +
        + + + +
          +
        • +

          getDenomEndCutSec

          +
          Double getDenomEndCutSec()
          +
        • +
        + + + +
          +
        • +

          getNumerStartCutIdx

          +
          int getNumerStartCutIdx()
          +
        • +
        + + + +
          +
        • +

          getDenomStartCutIdx

          +
          int getDenomStartCutIdx()
          +
        • +
        + + + +
          +
        • +

          getNumerEndCutIdx

          +
          int getNumerEndCutIdx()
          +
        • +
        + + + +
          +
        • +

          getDenomEndCutIdx

          +
          int getDenomEndCutIdx()
          +
        • +
        + + + +
          +
        • +

          getUserEdited

          +
          boolean getUserEdited()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairDetailsMetadataImpl.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairDetailsMetadataImpl.html new file mode 100644 index 00000000..283ea22a --- /dev/null +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairDetailsMetadataImpl.html @@ -0,0 +1,1173 @@ + + + + + +SpectraRatioPairDetailsMetadataImpl (coda-calibration 1.0.21-SNAPSHOT API) + + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Class SpectraRatioPairDetailsMetadataImpl

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetailsMetadataImpl
      • +
      +
    • +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairInversionResult.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairInversionResult.html index be92d7be..8a4f54fa 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairInversionResult.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/SpectraRatioPairInversionResult.html @@ -2,10 +2,10 @@ - -SpectraRatioPairInversionResult (coda-calibration 1.0.20 API) + +SpectraRatioPairInversionResult (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,13 +22,13 @@ + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Interface
    gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetailsMetadata

    +
    +
    + +
    +
    + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/class-use/SpectraRatioPairDetailsMetadataImpl.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/class-use/SpectraRatioPairDetailsMetadataImpl.html new file mode 100644 index 00000000..debf67d9 --- /dev/null +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/class-use/SpectraRatioPairDetailsMetadataImpl.html @@ -0,0 +1,150 @@ + + + + + +Uses of Class gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetailsMetadataImpl (coda-calibration 1.0.21-SNAPSHOT API) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetailsMetadataImpl

    +
    +
    No usage of gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairDetailsMetadataImpl
    +
    + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/class-use/SpectraRatioPairInversionResult.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/class-use/SpectraRatioPairInversionResult.html index 2352738d..1eb23522 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/class-use/SpectraRatioPairInversionResult.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/gov/llnl/gnem/apps/coda/spectra/model/domain/class-use/SpectraRatioPairInversionResult.html @@ -2,10 +2,10 @@ - -Uses of Class gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairInversionResult (coda-calibration 1.0.20 API) + +Uses of Class gov.llnl.gnem.apps.coda.spectra.model.domain.SpectraRatioPairInversionResult (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@ + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum FillModes

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
      +
        +
      • + + +

        Enum Constant Detail

        + + + +
          +
        • +

          DEFAULT

          +
          public static final FillModes DEFAULT
          +
        • +
        + + + +
          +
        • +

          TO_ZERO_Y

          +
          public static final FillModes TO_ZERO_Y
          +
        • +
        + + + +
          +
        • +

          TO_ZERO_X

          +
          public static final FillModes TO_ZERO_X
          +
        • +
        + + + +
          +
        • +

          TO_NEXT_Y

          +
          public static final FillModes TO_NEXT_Y
          +
        • +
        + + + +
          +
        • +

          TO_NEXT_X

          +
          public static final FillModes TO_NEXT_X
          +
        • +
        + + + +
          +
        • +

          TO_SELF

          +
          public static final FillModes TO_SELF
          +
        • +
        + + + +
          +
        • +

          TO_NEXT

          +
          public static final FillModes TO_NEXT
          +
        • +
        +
      • +
      +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static FillModes[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (FillModes c : FillModes.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static FillModes valueOf​(String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          IllegalArgumentException - if this enum type has no constant with the specified name
          +
          NullPointerException - if the argument is null
          +
          +
        • +
        + + + +
          +
        • +

          getFillModeName

          +
          public String getFillModeName()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/HoverModes.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/HoverModes.html new file mode 100644 index 00000000..29afd3b9 --- /dev/null +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/HoverModes.html @@ -0,0 +1,500 @@ + + + + + +HoverModes (coda-calibration 1.0.21-SNAPSHOT API) + + + + + + + + + + + + + + + +
    + +
    + +
    +
    + +

    Enum HoverModes

    +
    +
    + +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      Serializable, Comparable<HoverModes>
      +
      +
      +
      public enum HoverModes
      +extends Enum<HoverModes>
      +
      Hovermode values described here: + https://plotly.com/javascript/reference/layout/#layout-hovermode
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
      + +
      + +
      +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static HoverModes[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (HoverModes c : HoverModes.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static HoverModes valueOf​(String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          IllegalArgumentException - if this enum type has no constant with the specified name
          +
          NullPointerException - if the argument is null
          +
          +
        • +
        + + + +
          +
        • +

          getHoverModeName

          +
          public String getHoverModeName()
          +
        • +
        +
      • +
      +
      +
    • +
    +
    +
    +
    + + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/Line.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/Line.html index 1b894bfe..89aab77c 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/Line.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/Line.html @@ -2,10 +2,10 @@ - -Line (coda-calibration 1.0.20 API) + +Line (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,13 +22,13 @@ + + + + + + + + + +
    + +
    + +
    +
    + +

    Interface ObjectGroup

    +
    +
    +
    +
      +
    • +
      +
      All Known Implementing Classes:
      +
      BasicObjectGroup
      +
      +
      +
      public interface ObjectGroup
      +
    • +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/PlotFactory.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/PlotFactory.html index 49efb03b..55c49a9f 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/PlotFactory.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/PlotFactory.html @@ -2,10 +2,10 @@ - -PlotFactory (coda-calibration 1.0.20 API) + +PlotFactory (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,13 +22,13 @@ + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    llnl.gnem.core.gui.plotting.api.FillModes

    +
    +
    + +
    +
    + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/class-use/HoverModes.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/class-use/HoverModes.html new file mode 100644 index 00000000..39c062e7 --- /dev/null +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/class-use/HoverModes.html @@ -0,0 +1,275 @@ + + + + + +Uses of Class llnl.gnem.core.gui.plotting.api.HoverModes (coda-calibration 1.0.21-SNAPSHOT API) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    llnl.gnem.core.gui.plotting.api.HoverModes

    +
    +
    + +
    +
    + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/class-use/Line.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/class-use/Line.html index a89a1a6f..14cc28ff 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/class-use/Line.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/class-use/Line.html @@ -2,10 +2,10 @@ - -Uses of Interface llnl.gnem.core.gui.plotting.api.Line (coda-calibration 1.0.20 API) + +Uses of Interface llnl.gnem.core.gui.plotting.api.Line (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@ + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Interface
    llnl.gnem.core.gui.plotting.api.ObjectGroup

    +
    +
    + +
    +
    + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/class-use/PlotFactory.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/class-use/PlotFactory.html index ff3c0752..091e1468 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/class-use/PlotFactory.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/api/class-use/PlotFactory.html @@ -2,10 +2,10 @@ - -Uses of Interface llnl.gnem.core.gui.plotting.api.PlotFactory (coda-calibration 1.0.20 API) + +Uses of Interface llnl.gnem.core.gui.plotting.api.PlotFactory (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@ + + + + + + + + + +
    + +
    + +
    +
    + +

    Class BasicObjectGroup

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • llnl.gnem.core.gui.plotting.plotly.BasicObjectGroup
      • +
      +
    • +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + +
    + +

    Copyright © 2023. All rights reserved.

    +
    + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/plotly/BasicSymbol.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/plotly/BasicSymbol.html index 27fa30c9..d1eb47f0 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/plotly/BasicSymbol.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/plotly/BasicSymbol.html @@ -2,10 +2,10 @@ - -BasicSymbol (coda-calibration 1.0.20 API) + +BasicSymbol (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,13 +22,13 @@ + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    llnl.gnem.core.gui.plotting.plotly.BasicObjectGroup

    +
    +
    No usage of llnl.gnem.core.gui.plotting.plotly.BasicObjectGroup
    +
    + + + diff --git a/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/plotly/class-use/BasicSymbol.html b/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/plotly/class-use/BasicSymbol.html index abb7a376..68762c75 100644 --- a/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/plotly/class-use/BasicSymbol.html +++ b/calibration-service/calibration-application/src/main/resources/static/javadoc/llnl/gnem/core/gui/plotting/plotly/class-use/BasicSymbol.html @@ -2,10 +2,10 @@ - -Uses of Class llnl.gnem.core.gui.plotting.plotly.BasicSymbol (coda-calibration 1.0.20 API) + +Uses of Class llnl.gnem.core.gui.plotting.plotly.BasicSymbol (coda-calibration 1.0.21-SNAPSHOT API) - + @@ -22,7 +22,7 @@