J
2026-05-27 11:02:09 -04:00
{
"components" : [
{
"component" : "PipelineFlowView" ,
"id" : "1a80b2d1-2db7-4a58-8f9b-9bc882671ff0" ,
"layout" : {
"cols" : 12 ,
"order" : 0 ,
"rows" : 1 ,
"x" : 0 ,
"y" : 0
} ,
"props" : {
"connections" : [
{
"from" : "69bd3deeff031ee6e72c0a9d-1776345526320" ,
"to" : "69bd3deeff031ee6e72c0aa0-1776345543621"
} ,
{
"from" : "69bd3deeff031ee6e72c0aa0-1776345543621" ,
"to" : "69bd3deeff031ee6e72c0a9b-1776345577288"
} ,
{
"from" : "69bd3deeff031ee6e72c0a9b-1776345577288" ,
"to" : "69bd3deeff031ee6e72c0a9f-1776345584342"
} ,
{
"from" : "69bd3deeff031ee6e72c0aa1-1776345548184" ,
"to" : "69bd3deeff031ee6e72c0aa2-1776345597091"
} ,
{
"from" : "69bd3deeff031ee6e72c0aa1-1776345548184" ,
"to" : "69bd3deeff031ee6e72c0aa2-1776345597091"
} ,
{
"from" : "69bd3deeff031ee6e72c0aa1-1776345548184" ,
"to" : "69bd3deeff031ee6e72c0aa2-1776345597091"
} ,
{
"from" : "69bd3deeff031ee6e72c0aa1-1776345548184" ,
"to" : "69bd3deeff031ee6e72c0aa2-1776345597091"
} ,
{
"from" : "69bd3deeff031ee6e72c0aa1-1776345548184" ,
"to" : "69bd3deeff031ee6e72c0aa2-1776345597091"
} ,
{
"from" : "69bd3deeff031ee6e72c0a9f-1776345584342" ,
"to" : "69bd3deeff031ee6e72c0a9c-1776345675756"
} ,
{
"from" : "69bd3deeff031ee6e72c0a9c-1776345675756" ,
"to" : "69bd3deeff031ee6e72c0aa2-1776345597091"
} ,
{
"from" : "69bd3deeff031ee6e72c0aa2-1776345597091" ,
"to" : "69d80d08aabdb365e3b84e14-1776361788176"
} ,
{
"from" : "69bd3deeff031ee6e72c0a9d-1776345526320" ,
"to" : "69bd3deeff031ee6e72c0aa1-1776345548184"
}
] ,
"operators" : [
{
"className" : "PlutoSourceOp" ,
"id" : "69bd3deeff031ee6e72c0a9d-1776345526320" ,
"name" : "pluto_source" ,
"type" : "source"
} ,
{
"className" : "PreprocessorOp" ,
"id" : "69bd3deeff031ee6e72c0aa0-1776345543621" ,
"name" : "preprocessor" ,
"type" : "preprocessing"
} ,
{
"className" : "SpectrogramOp" ,
"id" : "69bd3deeff031ee6e72c0aa1-1776345548184" ,
"name" : "spectrogram" ,
"type" : "preprocessing"
} ,
{
"className" : "InferenceOp" ,
"id" : "69bd3deeff031ee6e72c0a9b-1776345577288" ,
"name" : "inference_builtin" ,
"type" : "inference"
} ,
{
"className" : "PostprocessorOp" ,
"id" : "69bd3deeff031ee6e72c0a9f-1776345584342" ,
"name" : "postprocessor" ,
"type" : "postprocessing"
} ,
{
"className" : "ModelMapperOp" ,
"id" : "69bd3deeff031ee6e72c0a9c-1776345675756" ,
"name" : "model_mapper" ,
"type" : "postprocessing"
} ,
{
"className" : "SpectrogramDashboardOp" ,
"id" : "69bd3deeff031ee6e72c0aa2-1776345597091" ,
"name" : "spectrogram_dashboard" ,
"type" : "sink"
} ,
{
"className" : "PlutoTXOp" ,
"id" : "69d80d08aabdb365e3b84e14-1776361788176" ,
"name" : "PlutoTXOp" ,
"type" : "sink"
}
]
}
} ,
{
"component" : "RadioSourcePanel" ,
"id" : "234b5c0b-aee0-471f-a1ed-0e42a9f66f33" ,
"layout" : {
"cols" : 7 ,
"h" : 6 ,
"order" : 1 ,
"rows" : 6 ,
"w" : 7 ,
"x" : 0 ,
M
2026-06-25 14:20:26 -04:00
"y" : 22
J
2026-05-27 11:02:09 -04:00
} ,
"props" : {
"config" : {
"agentId" : "" ,
"bandwidth" : 2000000 ,
"centerFreq" : 99900000 ,
"deviceArgs" : "" ,
"deviceIndex" : null ,
"frequency" : null ,
"gain" : null ,
"numSamples" : 4096 ,
"sampleRate" : 2500000 ,
"uri" : "192.168.3.1" ,
"waveform" : ""
} ,
"description" : "PlutoSDR RX source operator. Acquires raw IQ samples from an Analog Devices PlutoSDR (AD9361) via libiio and emits them as shared complex vectors." ,
"deviceType" : "pluto" ,
"operatorId" : "69bd3deeff031ee6e72c0a9d-1776345526320" ,
"operatorName" : "pluto_source"
}
} ,
{
"component" : "ComposerOpPanel" ,
"id" : "605200c5-04f8-4f33-8137-9e8cb22b7eb0" ,
"layout" : {
"cols" : 5 ,
"h" : 1 ,
"order" : 4 ,
"rows" : 1 ,
"w" : 5 ,
"x" : 7 ,
M
2026-06-25 14:20:26 -04:00
"y" : 22
J
2026-05-27 11:02:09 -04:00
} ,
"props" : {
"blockType" : "inference" ,
"className" : "InferenceOp" ,
"description" : "Built-in Holoscan InferenceOp. Runs ONNX Runtime or TensorRT inference on GXF tensor entities." ,
"details" : "Models: model.onnx" ,
"title" : "inference_builtin"
}
} ,
{
"component" : "OnnxInferenceMonitor" ,
"id" : "b8012843-af9b-4693-8708-45dc53717b99" ,
"layout" : {
"cols" : 5 ,
"h" : 1 ,
"order" : 4 ,
"rows" : 1 ,
"w" : 5 ,
"x" : 7 ,
M
2026-06-25 14:20:26 -04:00
"y" : 45
J
2026-05-27 11:02:09 -04:00
} ,
"props" : {
"operatorName" : "inference_builtin"
}
} ,
{
"component" : "BackendInferenceOutput" ,
"id" : "22e268ce-57a4-47e6-a875-c0e94b3b5964" ,
"layout" : {
"cols" : 5 ,
"h" : 1 ,
"order" : 5 ,
"rows" : 1 ,
"w" : 5 ,
"x" : 7 ,
M
2026-06-25 14:20:26 -04:00
"y" : 64
J
2026-05-27 11:02:09 -04:00
} ,
"props" : {
"historyLen" : 24 ,
"labels" : [
"Bleedover" ,
"Collisions" ,
"Parallel" ,
"Birdies" ,
"CTNB" ,
"LFM" ,
"None" ,
"Jamming"
] ,
"topK" : 5
}
} ,
{
"component" : "SinkPanel" ,
"id" : "eb78a5c5-f4d5-49ec-bd2a-9cbbe88bbe78" ,
"layout" : {
"cols" : 5 ,
"h" : 1 ,
"order" : 5 ,
"rows" : 1 ,
"w" : 5 ,
"x" : 7 ,
M
2026-06-25 14:20:26 -04:00
"y" : 86
J
2026-05-27 11:02:09 -04:00
} ,
"props" : {
"connectionConfig" : {
"attenuation" : 0 ,
"bandwidth" : 2000000 ,
"centerFreq" : 2415500000 ,
"sampleRate" : 2500000 ,
"uri" : "192.168.3.1"
} ,
"description" : "Transmits IQ samples through an ADALM-Pluto SDR via libiio." ,
"inputs" : null ,
"operatorId" : "69d80d08aabdb365e3b84e14-1776361788176" ,
"operatorName" : "PlutoTXOp" ,
"showConnectionConfig" : true ,
"showDenseMetrics" : true ,
"showInputPorts" : true ,
"sinkType" : "transmit"
}
}
] ,
"config" : {
"inference" : {
"interval" : 1 ,
"iq_pop_timeout_sec" : 0.25 ,
"knownDevices" : [
"Bleedover" ,
"Collisions" ,
"Parallel" ,
"Birdies" ,
"CTNB" ,
"LFM" ,
"None" ,
"Jamming"
] ,
"outputClasses" : 8
} ,
"radio" : {
"agentId" : "" ,
"bandwidth" : 2000000 ,
"centerFreq" : 99900000 ,
"deviceArgs" : "" ,
"deviceIndex" : null ,
"frequency" : null ,
"gain" : null ,
"numSamples" : 4096 ,
"sampleRate" : 2500000 ,
"uri" : "192.168.3.1" ,
"waveform" : ""
}
} ,
"dataSource" : {
"agent_id" : "" ,
"params" : {
"bandwidth" : 2000000 ,
"buffer_size" : 4096 ,
"center_frequency" : 99900000 ,
"device" : "pluto" ,
"gain" : 40 ,
"identifier" : "192.168.3.1" ,
"sample_rate" : 2500000
} ,
"type" : "agent"
} ,
"description" : "Screens application generated from Application Composer" ,
"models" : [
{
"format" : "onnx" ,
"oid" : "dbc3c7514a99bece0c2b2b30b7c3de0e43144a6ad909a1d479a91a679f824837" ,
"path" : "models/model.onnx" ,
"repo" : "qoherent/RIA_Example"
}
] ,
"name" : "applications-example-application-json" ,
"screensRuntime" : {
"flows" : [
{
"downstream" : "69bd3deeff031ee6e72c0aa0-1776345543621" ,
"upstream" : "69bd3deeff031ee6e72c0a9d-1776345526320"
} ,
{
"downstream" : "69bd3deeff031ee6e72c0a9b-1776345577288" ,
"upstream" : "69bd3deeff031ee6e72c0aa0-1776345543621"
} ,
{
"downstream" : "69bd3deeff031ee6e72c0a9f-1776345584342" ,
"upstream" : "69bd3deeff031ee6e72c0a9b-1776345577288"
} ,
{
"downstream" : "69bd3deeff031ee6e72c0aa2-1776345597091" ,
"upstream" : "69bd3deeff031ee6e72c0aa1-1776345548184"
} ,
{
"downstream" : "69bd3deeff031ee6e72c0aa2-1776345597091" ,
"upstream" : "69bd3deeff031ee6e72c0aa1-1776345548184"
} ,
{
"downstream" : "69bd3deeff031ee6e72c0aa2-1776345597091" ,
"upstream" : "69bd3deeff031ee6e72c0aa1-1776345548184"
} ,
{
"downstream" : "69bd3deeff031ee6e72c0aa2-1776345597091" ,
"upstream" : "69bd3deeff031ee6e72c0aa1-1776345548184"
} ,
{
"downstream" : "69bd3deeff031ee6e72c0aa2-1776345597091" ,
"upstream" : "69bd3deeff031ee6e72c0aa1-1776345548184"
} ,
{
"downstream" : "69bd3deeff031ee6e72c0a9c-1776345675756" ,
"upstream" : "69bd3deeff031ee6e72c0a9f-1776345584342"
} ,
{
"downstream" : "69bd3deeff031ee6e72c0aa2-1776345597091" ,
"upstream" : "69bd3deeff031ee6e72c0a9c-1776345675756"
} ,
{
"downstream" : "69d80d08aabdb365e3b84e14-1776361788176" ,
"upstream" : "69bd3deeff031ee6e72c0aa2-1776345597091"
} ,
{
"downstream" : "69bd3deeff031ee6e72c0aa1-1776345548184" ,
"upstream" : "69bd3deeff031ee6e72c0a9d-1776345526320"
}
] ,
"inference_order" : [
{
"class_name" : "InferenceOp" ,
"model_paths" : [
"model.onnx"
] ,
"op_id" : "69bd3deeff031ee6e72c0a9b-1776345577288"
}
] ,
"ops" : [
{
"class_name" : "PlutoSourceOp" ,
"id" : "69bd3deeff031ee6e72c0a9d-1776345526320" ,
"name" : "pluto_source" ,
"specs" : [
{
"default" : "192.168.3.1" ,
"key" : "ip_addr"
} ,
{
"default" : 2 ,
"key" : "bandwidth_mhz"
} ,
{
"default" : 2.5 ,
"key" : "sample_rate_mhz"
} ,
{
"default" : 0.0999 ,
"key" : "lo_frequency_ghz"
} ,
{
"default" : 20 ,
"key" : "rx_gain_db"
} ,
{
"default" : 0 ,
"key" : "rf_port"
} ,
{
"default" : 4096 ,
"key" : "buffer_size"
} ,
{
"default" : 10 ,
"key" : "poll_rate_ms"
}
] ,
"type" : "source"
} ,
{
"class_name" : "PreprocessorOp" ,
"id" : "69bd3deeff031ee6e72c0aa0-1776345543621" ,
"name" : "preprocessor" ,
"specs" : [
{
"default" : "pool_resource" ,
"key" : "allocator"
} ,
{
"default" : "input" ,
"key" : "in_tensor_name"
}
] ,
"type" : "preprocessing"
} ,
{
"class_name" : "SpectrogramOp" ,
"id" : "69bd3deeff031ee6e72c0aa1-1776345548184" ,
"name" : "spectrogram" ,
"specs" : [
{
"default" : 2048 ,
"key" : "fft_size"
} ,
{
"default" : 256 ,
"key" : "history_depth"
} ,
{
"default" : 2048 ,
"key" : "hop_size"
} ,
{
"default" : -80 ,
"key" : "db_min"
} ,
{
"default" : 0 ,
"key" : "db_max"
} ,
{
"default" : 0.000488281 ,
"key" : "input_scale"
}
] ,
"type" : "preprocessing"
} ,
{
"class_name" : "InferenceOp" ,
"id" : "69bd3deeff031ee6e72c0a9b-1776345577288" ,
"name" : "inference_builtin" ,
"specs" : [
{
"default" : "onnxrt" ,
"key" : "backend"
} ,
{
"default" : "model.onnx" ,
"key" : "model_path_map"
} ,
{
"default" : "input" ,
"key" : "pre_processor_map"
} ,
{
"default" : "output" ,
"key" : "inference_map"
} ,
{
"default" : false ,
"key" : "input_on_cuda"
} ,
{
"default" : false ,
"key" : "output_on_cuda"
} ,
{
"default" : false ,
"key" : "transmit_on_cuda"
} ,
{
"default" : "pool_resource" ,
"key" : "allocator"
}
] ,
"type" : "inference"
} ,
{
"class_name" : "PostprocessorOp" ,
"id" : "69bd3deeff031ee6e72c0a9f-1776345584342" ,
"name" : "postprocessor" ,
"specs" : [
{
"default" : "output" ,
"key" : "out_tensor_name"
}
] ,
"type" : "postprocessing"
} ,
{
"class_name" : "SpectrogramDashboardOp" ,
"id" : "69bd3deeff031ee6e72c0aa2-1776345597091" ,
"name" : "spectrogram_dashboard" ,
"specs" : [
{
"default" : 8080 ,
"key" : "websocket_port"
} ,
{
"default" : "workspace/app/web" ,
"key" : "web_root_path"
} ,
{
"default" : 30 ,
"key" : "update_rate_hz"
}
] ,
"type" : "sink"
} ,
{
"class_name" : "ModelMapperOp" ,
"id" : "69bd3deeff031ee6e72c0a9c-1776345675756" ,
"name" : "model_mapper" ,
"specs" : [
{
"default" : "[\"Bleedover\", \"Collisions\", \"Parallel\", \"Birdies\", \"CTNB\", \"LFM\", \"None\", \"Jamming\"]" ,
"key" : "labels"
}
] ,
"type" : "postprocessing"
} ,
{
"class_name" : "PlutoTXOp" ,
"id" : "69d80d08aabdb365e3b84e14-1776361788176" ,
"name" : "PlutoTXOp" ,
"specs" : [
{
"default" : "192.168.3.1" ,
"key" : "uri"
} ,
{
"default" : 2500000 ,
"key" : "sample_rate"
} ,
{
"default" : "2415500000" ,
"key" : "center_freq"
} ,
{
"default" : 2000000 ,
"key" : "bandwidth"
} ,
{
"default" : "0" ,
"key" : "attenuation"
}
] ,
"type" : "sink"
}
] ,
"version" : 1
} ,
"version" : "1.0.0"
}