Fixing workspace
This commit is contained in:
parent
ce25ac24b1
commit
682c8805a2
@ -47,6 +47,7 @@ allprojects {
|
||||
|
||||
compileTestKotlin {
|
||||
kotlinOptions {
|
||||
freeCompilerArgs = ['-Xenable-jvm-default']
|
||||
jvmTarget = "1.8"
|
||||
javaParameters = true
|
||||
}
|
||||
|
@ -54,7 +54,17 @@ val Envelope.dataStream: InputStream
|
||||
get() = if (this.meta.getString("compression", "none") == "zlib") {
|
||||
//TODO move to new type of data
|
||||
val inflatter = Inflater()
|
||||
inflatter.setInput(data.read.array())
|
||||
val array: ByteArray = with(data.buffer) {
|
||||
if (hasArray()) {
|
||||
array()
|
||||
} else {
|
||||
ByteArray(this.limit()).also {
|
||||
this.position(0)
|
||||
get(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
inflatter.setInput(array)
|
||||
val bos = ByteArrayOutputStream()
|
||||
val buffer = ByteArray(8192)
|
||||
while (!inflatter.finished()) {
|
||||
|
@ -98,7 +98,8 @@ class ClassicNumassPoint(private val envelope: Envelope) : NumassPoint {
|
||||
}
|
||||
|
||||
|
||||
override val frames: Stream<NumassFrame> = Stream.empty()
|
||||
override val frames: Stream<NumassFrame>
|
||||
get() = Stream.empty()
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
@ -119,7 +119,7 @@ class MergeDataAction : ManyToOneAction<Table, Table>() {
|
||||
curPoint
|
||||
}.forEach { res.add(it) }
|
||||
|
||||
return ListTable(MetaTableFormat.forNames(parnames), res)
|
||||
return ListTable(MetaTableFormat.forNames(*parnames), res)
|
||||
|
||||
}
|
||||
|
||||
|
@ -7,6 +7,7 @@ package inr.numass.tasks
|
||||
|
||||
import hep.dataforge.data.DataNode
|
||||
import hep.dataforge.data.DataTree
|
||||
import hep.dataforge.kodex.useMeta
|
||||
import hep.dataforge.meta.Meta
|
||||
import hep.dataforge.meta.MetaBuilder
|
||||
import hep.dataforge.stat.fit.FitAction
|
||||
@ -71,7 +72,9 @@ object NumassFitScanTask : AbstractTask<FitResult>() {
|
||||
|
||||
override fun buildModel(model: TaskModel.Builder, meta: Meta) {
|
||||
model.configure(meta.getMetaOrEmpty("scan"))
|
||||
model.configure { it -> it.putNode(meta.getMetaOrEmpty("fit")) }
|
||||
model.configure {
|
||||
meta.useMeta("fit"){putNode(it)}
|
||||
}
|
||||
model.dependsOn("filter", meta)
|
||||
}
|
||||
|
||||
|
@ -5,11 +5,13 @@ import hep.dataforge.data.DataSet
|
||||
import hep.dataforge.data.DataTree
|
||||
import hep.dataforge.data.DataUtils
|
||||
import hep.dataforge.description.ValueDef
|
||||
import hep.dataforge.description.ValueDefs
|
||||
import hep.dataforge.fx.plots.FXPlotManager
|
||||
import hep.dataforge.fx.plots.plus
|
||||
import hep.dataforge.kodex.buildMeta
|
||||
import hep.dataforge.kodex.configure
|
||||
import hep.dataforge.kodex.task
|
||||
import hep.dataforge.kodex.useMeta
|
||||
import hep.dataforge.meta.Meta
|
||||
import hep.dataforge.meta.MetaUtils
|
||||
import hep.dataforge.plots.PlotFrame
|
||||
@ -50,11 +52,30 @@ val selectTask = task("select") {
|
||||
}
|
||||
}
|
||||
|
||||
@ValueDef(name = "showPlot", type = [ValueType.BOOLEAN], info = "Show plot after complete")
|
||||
val analyzeTask = task("analyze") {
|
||||
model { meta ->
|
||||
dependsOn(selectTask, meta);
|
||||
configure(MetaUtils.optEither(meta, "analyzer", "prepare").orElse(Meta.empty()))
|
||||
}
|
||||
pipe<NumassSet, Table> { set ->
|
||||
SmartAnalyzer().analyzeSet(set, meta).also { res ->
|
||||
val outputMeta = meta.builder.putNode("data", set.meta)
|
||||
context.io.output(name, stage = "numass.analyze").push(NumassUtils.wrap(res, outputMeta))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ValueDefs(
|
||||
ValueDef(name = "showPlot", type = [ValueType.BOOLEAN], info = "Show plot after complete"),
|
||||
ValueDef(name = "monitorVoltage", type = [ValueType.NUMBER], info = "The voltage for monitor point")
|
||||
)
|
||||
val monitorTableTask = task("monitor") {
|
||||
model { meta ->
|
||||
dependsOn(selectTask, meta)
|
||||
configure(meta.getMetaOrEmpty("analyzer"))
|
||||
configure(meta.getMetaOrEmpty("monitor"))
|
||||
configure{
|
||||
meta.useMeta("analyzer"){putNode(it)}
|
||||
}
|
||||
}
|
||||
join<NumassSet, Table> { data ->
|
||||
val monitorVoltage = meta.getDouble("monitorVoltage", 16000.0);
|
||||
@ -96,19 +117,6 @@ val monitorTableTask = task("monitor") {
|
||||
}
|
||||
}
|
||||
|
||||
val analyzeTask = task("analyze") {
|
||||
model { meta ->
|
||||
dependsOn(selectTask, meta);
|
||||
configure(MetaUtils.optEither(meta, "analyzer", "prepare").orElse(Meta.empty()))
|
||||
}
|
||||
pipe<NumassSet, Table> { set ->
|
||||
SmartAnalyzer().analyzeSet(set, meta).also { res ->
|
||||
val outputMeta = meta.builder.putNode("data", set.meta)
|
||||
context.io.output(name, stage = "numass.analyze").push(NumassUtils.wrap(res, outputMeta))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val mergeTask = task("merge") {
|
||||
model { meta ->
|
||||
dependsOn(analyzeTask, meta)
|
||||
@ -127,7 +135,7 @@ val mergeEmptyTask = task("empty") {
|
||||
.removeNode("data")
|
||||
.removeNode("empty")
|
||||
.setNode("data", meta.getMeta("empty"))
|
||||
.setValue("merge." + MERGE_NAME, meta.getString("merge." + MERGE_NAME, "") + "_empty");
|
||||
.setValue("merge.$MERGE_NAME", meta.getString("merge.$MERGE_NAME", "") + "_empty");
|
||||
dependsOn(mergeTask, newMeta)
|
||||
}
|
||||
transform<Table> { data ->
|
||||
@ -185,7 +193,7 @@ val transformTask = task("transform") {
|
||||
}
|
||||
configure(MetaUtils.optEither(meta, "transform", "prepare").orElse(Meta.empty()))
|
||||
}
|
||||
action<Table, Table>(TransformDataAction());
|
||||
action<Table, Table>(TransformDataAction())
|
||||
}
|
||||
|
||||
val filterTask = task("filter") {
|
||||
|
@ -1,6 +1,7 @@
|
||||
package inr.numass.viewer
|
||||
|
||||
import hep.dataforge.fx.dfIcon
|
||||
import hep.dataforge.fx.except
|
||||
import hep.dataforge.fx.plots.PlotContainer
|
||||
import hep.dataforge.fx.runGoal
|
||||
import hep.dataforge.fx.ui
|
||||
@ -72,7 +73,7 @@ class AmplitudeView : View(title = "Numass amplitude spectrum plot", icon = Imag
|
||||
private val data: ObservableMap<String, CachedPoint> = FXCollections.observableHashMap()
|
||||
private val plots: ObservableMap<String, Goal<Plottable>> = FXCollections.observableHashMap()
|
||||
|
||||
val isEmpty = booleanBinding(data) { data.isEmpty() }
|
||||
val isEmpty = booleanBinding(data) { isEmpty() }
|
||||
|
||||
private val progress = object : DoubleBinding() {
|
||||
init {
|
||||
@ -107,7 +108,7 @@ class AmplitudeView : View(title = "Numass amplitude spectrum plot", icon = Imag
|
||||
/**
|
||||
* Put or replace current plot with name `key`
|
||||
*/
|
||||
fun add(key: String, point: CachedPoint) {
|
||||
operator fun set(key: String, point: CachedPoint) {
|
||||
data[key] = point
|
||||
}
|
||||
|
||||
@ -116,6 +117,7 @@ class AmplitudeView : View(title = "Numass amplitude spectrum plot", icon = Imag
|
||||
}
|
||||
|
||||
private fun invalidate() {
|
||||
isEmpty.invalidate()
|
||||
data.forEach { key, point ->
|
||||
plots.computeIfAbsent(key) {
|
||||
runGoal<Plottable>("loadAmplitudeSpectrum_$key") {
|
||||
@ -149,6 +151,8 @@ class AmplitudeView : View(title = "Numass amplitude spectrum plot", icon = Imag
|
||||
} ui { plot ->
|
||||
frame.add(plot)
|
||||
progress.invalidate()
|
||||
} except {
|
||||
throw it
|
||||
}
|
||||
}
|
||||
plots.keys.filter { !data.containsKey(it) }.forEach { remove(it) }
|
||||
|
@ -47,6 +47,7 @@ class HVView : View(title = "High voltage time plot", icon = ImageView(dfIcon))
|
||||
|
||||
init {
|
||||
data.addListener { change: MapChangeListener.Change<out String, out NumassSet> ->
|
||||
isEmpty.invalidate()
|
||||
if (change.wasRemoved()) {
|
||||
frame.remove(change.key)
|
||||
}
|
||||
@ -69,8 +70,8 @@ class HVView : View(title = "High voltage time plot", icon = ImageView(dfIcon))
|
||||
}
|
||||
|
||||
|
||||
fun add(id: String, set: NumassSet) {
|
||||
data.put(id, set)
|
||||
operator fun set(id: String, set: NumassSet) {
|
||||
data[id] = set
|
||||
}
|
||||
|
||||
fun remove(id: String) {
|
||||
|
@ -195,7 +195,7 @@ class MainView(val context: Context = Global.getContext("viewer")) : View(title
|
||||
val point = NumassPoint.read(it)
|
||||
runLater {
|
||||
contentView = AmplitudeView().apply {
|
||||
add(path.toString(), CachedPoint(point))
|
||||
set(path.toString(), CachedPoint(point))
|
||||
}
|
||||
infoView = PointInfoView(CachedPoint(point))
|
||||
}
|
||||
|
@ -36,7 +36,9 @@ class SlowControlView : View(title = "Numass slow control view", icon = ImageVie
|
||||
}
|
||||
|
||||
val data: ObservableMap<String, TableLoader> = FXCollections.observableHashMap();
|
||||
val isEmpty = booleanBinding(data) { data.isEmpty() }
|
||||
val isEmpty = booleanBinding(data) {
|
||||
data.isEmpty()
|
||||
}
|
||||
|
||||
init {
|
||||
data.addListener { change: MapChangeListener.Change<out String, out TableLoader> ->
|
||||
@ -64,6 +66,7 @@ class SlowControlView : View(title = "Numass slow control view", icon = ImageVie
|
||||
plot.add(it);
|
||||
}
|
||||
}
|
||||
isEmpty.invalidate()
|
||||
}
|
||||
}
|
||||
|
||||
@ -83,8 +86,8 @@ class SlowControlView : View(title = "Numass slow control view", icon = ImageVie
|
||||
}
|
||||
}
|
||||
|
||||
fun add(id: String, loader: TableLoader) {
|
||||
this.data.put(id, loader)
|
||||
operator fun set(id: String, loader: TableLoader) {
|
||||
this.data[id] = loader
|
||||
}
|
||||
|
||||
fun remove(id: String) {
|
||||
|
@ -106,6 +106,7 @@ class SpectrumView : View(title = "Numass spectrum plot", icon = ImageView(dfIco
|
||||
if (change.wasAdded()) {
|
||||
updateView()
|
||||
}
|
||||
isEmpty.invalidate()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -39,15 +39,15 @@ class StorageView(val storage: Storage) : View(title = "Numass storage", icon =
|
||||
when (content) {
|
||||
is CachedPoint -> {
|
||||
if (selected) {
|
||||
ampView.add(id, content)
|
||||
ampView[id] = content
|
||||
} else {
|
||||
ampView.remove(id)
|
||||
}
|
||||
}
|
||||
is CachedSet -> {
|
||||
if (selected) {
|
||||
spectrumView.set(id, content)
|
||||
hvView.add(id, content)
|
||||
spectrumView[id] = content
|
||||
hvView[id] = content
|
||||
} else {
|
||||
spectrumView.remove(id)
|
||||
hvView.remove(id)
|
||||
@ -55,7 +55,7 @@ class StorageView(val storage: Storage) : View(title = "Numass storage", icon =
|
||||
}
|
||||
is TableLoader -> {
|
||||
if (selected) {
|
||||
scView.add(id, content)
|
||||
scView.set(id, content)
|
||||
} else {
|
||||
scView.remove(id)
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ class ViewerComponentsTest : View(title = "Numass viewer test", icon = ImageView
|
||||
fun update(set: NumassSet) {
|
||||
amp.setAll(set.points.filter { it.voltage != 16000.0 }.associateBy({ "point_${it.voltage}" }) { CachedPoint(it) });
|
||||
sp.set("test", CachedSet(set));
|
||||
hv.add(set.name, set)
|
||||
hv.set(set.name, set)
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user