holoscan 2.6.0__cp312-cp312-manylinux_2_35_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- holoscan-2.6.0.data/purelib/holoscan/__init__.py +133 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/__init__.py +32 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/__main__.py +159 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/common/argparse_types.py +153 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/common/artifact_sources.py +149 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/common/constants.py +119 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/common/dockerutils.py +509 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/common/enum_types.py +52 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/common/exceptions.py +130 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/common/sdk_utils.py +180 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/common/utils.py +130 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/logging.json +37 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/nics/__init__.py +18 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/nics/nics.py +34 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/packager/__init__.py +18 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/packager/arguments.py +137 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/packager/config_reader.py +181 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/packager/container_builder.py +368 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/packager/manifest_files.py +220 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/packager/models.py +93 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/packager/package_command.py +189 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/packager/packager.py +122 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/packager/parameters.py +558 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/packager/platforms.py +402 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/packager/templates/Dockerfile.jinja2 +470 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/packager/templates/dockerignore +93 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/packager/templates/tools.sh +416 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/py.typed +0 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/runner/__init__.py +18 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/runner/resources.py +174 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/runner/run_command.py +203 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/runner/runner.py +306 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/version/__init__.py +18 -0
- holoscan-2.6.0.data/purelib/holoscan/cli/version/version.py +50 -0
- holoscan-2.6.0.data/purelib/holoscan/conditions/__init__.py +57 -0
- holoscan-2.6.0.data/purelib/holoscan/core/__init__.py +430 -0
- holoscan-2.6.0.data/purelib/holoscan/decorator.py +592 -0
- holoscan-2.6.0.data/purelib/holoscan/executors/__init__.py +26 -0
- holoscan-2.6.0.data/purelib/holoscan/graphs/__init__.py +32 -0
- holoscan-2.6.0.data/purelib/holoscan/gxf/__init__.py +57 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/gxf_extensions/libgxf_holoscan_wrapper.so +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/gxf_extensions/libgxf_holoscan_wrapper_lib.so +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/gxf_extensions/libgxf_ucx_holoscan.so +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/gxf_extensions/libgxf_ucx_holoscan_lib.so +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libgxf_app.so +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libgxf_core.so +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libgxf_cuda.so +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libgxf_logger.so +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libgxf_multimedia.so +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libgxf_rmm.so +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libgxf_sample.so +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libgxf_serialization.so +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libgxf_std.so +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libgxf_ucx.so +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_core.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_infer.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_infer_onnx_runtime.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_infer_torch.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_infer_utils.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_logger.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_aja.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_async_ping_rx.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_async_ping_tx.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_bayer_demosaic.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_format_converter.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_gxf_codelet.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_holoviz.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_inference.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_inference_processor.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_ping_rx.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_ping_tensor_rx.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_ping_tensor_tx.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_ping_tx.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_segmentation_postprocessor.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_v4l2.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_video_stream_recorder.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_op_video_stream_replayer.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_profiler.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_spdlog_logger.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libholoscan_viz.so.2.6.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libucm.so.0.0.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libucp.so.0.0.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libucs.so.0.0.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libucs_signal.so.0.0.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libuct.so.0.0.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/libyaml-cpp.so.0.7.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/ucx/libucm_cuda.so.0.0.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/ucx/libucs_fuse.so.0.0.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/ucx/libuct_cma.so.0.0.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/ucx/libuct_cuda.so.0.0.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/ucx/libuct_cuda_gdrcopy.so.0.0.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/ucx/libuct_ib.so.0.0.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/ucx/libuct_rdmacm.so.0.0.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/ucx/libuct_xpmem.so.0.0.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/lib/ucx/libucx_perftest_cuda.so.0.0.0 +0 -0
- holoscan-2.6.0.data/purelib/holoscan/logger/__init__.py +37 -0
- holoscan-2.6.0.data/purelib/holoscan/network_contexts/__init__.py +28 -0
- holoscan-2.6.0.data/purelib/holoscan/operators/__init__.py +97 -0
- holoscan-2.6.0.data/purelib/holoscan/operators/aja_source/__init__.py +22 -0
- holoscan-2.6.0.data/purelib/holoscan/operators/bayer_demosaic/__init__.py +24 -0
- holoscan-2.6.0.data/purelib/holoscan/operators/format_converter/__init__.py +23 -0
- holoscan-2.6.0.data/purelib/holoscan/operators/gxf_codelet/__init__.py +67 -0
- holoscan-2.6.0.data/purelib/holoscan/operators/holoviz/__init__.py +424 -0
- holoscan-2.6.0.data/purelib/holoscan/operators/inference/__init__.py +23 -0
- holoscan-2.6.0.data/purelib/holoscan/operators/inference_processor/__init__.py +23 -0
- holoscan-2.6.0.data/purelib/holoscan/operators/ping_rx/__init__.py +45 -0
- holoscan-2.6.0.data/purelib/holoscan/operators/ping_tensor_rx/__init__.py +22 -0
- holoscan-2.6.0.data/purelib/holoscan/operators/ping_tensor_tx/__init__.py +22 -0
- holoscan-2.6.0.data/purelib/holoscan/operators/ping_tx/__init__.py +46 -0
- holoscan-2.6.0.data/purelib/holoscan/operators/segmentation_postprocessor/__init__.py +23 -0
- holoscan-2.6.0.data/purelib/holoscan/operators/v4l2_video_capture/__init__.py +23 -0
- holoscan-2.6.0.data/purelib/holoscan/operators/video_stream_recorder/__init__.py +22 -0
- holoscan-2.6.0.data/purelib/holoscan/operators/video_stream_replayer/__init__.py +22 -0
- holoscan-2.6.0.data/purelib/holoscan/resources/__init__.py +147 -0
- holoscan-2.6.0.data/purelib/holoscan/schedulers/__init__.py +32 -0
- holoscan-2.6.0.data/purelib/holoscan-2.6.0.pth +1 -0
- holoscan-2.6.0.dist-info/LICENSE.txt +202 -0
- holoscan-2.6.0.dist-info/METADATA +125 -0
- holoscan-2.6.0.dist-info/NOTICE.txt +174 -0
- holoscan-2.6.0.dist-info/NVIDIA-AI-PRODUCT-EULA.txt +243 -0
- holoscan-2.6.0.dist-info/RECORD +126 -0
- holoscan-2.6.0.dist-info/WHEEL +5 -0
- holoscan-2.6.0.dist-info/axle.lck +0 -0
- holoscan-2.6.0.dist-info/entry_points.txt +3 -0
- holoscan-2.6.0.dist-info/symlinks.txt +82 -0
- holoscan-2.6.0.dist-info/top_level.txt +3 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
"""This module provides a Python API for GXF base classes in the C++ API.
|
|
16
|
+
|
|
17
|
+
.. autosummary::
|
|
18
|
+
|
|
19
|
+
holoscan.gxf.Entity
|
|
20
|
+
holoscan.gxf.GXFComponent
|
|
21
|
+
holoscan.gxf.GXFCondition
|
|
22
|
+
holoscan.gxf.GXFExecutionContext
|
|
23
|
+
holoscan.gxf.GXFInputContext
|
|
24
|
+
holoscan.gxf.GXFNetworkContext
|
|
25
|
+
holoscan.gxf.GXFOperator
|
|
26
|
+
holoscan.gxf.GXFOutputContext
|
|
27
|
+
holoscan.gxf.GXFResource
|
|
28
|
+
holoscan.gxf.GXFScheduler
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
from ._gxf import ( # noqa: I001
|
|
32
|
+
GXFComponent,
|
|
33
|
+
GXFCondition,
|
|
34
|
+
GXFExecutionContext,
|
|
35
|
+
GXFInputContext,
|
|
36
|
+
GXFNetworkContext,
|
|
37
|
+
GXFOperator,
|
|
38
|
+
GXFOutputContext,
|
|
39
|
+
GXFResource,
|
|
40
|
+
GXFScheduler,
|
|
41
|
+
)
|
|
42
|
+
from ._gxf import PyEntity as Entity
|
|
43
|
+
from ._gxf import load_extensions
|
|
44
|
+
|
|
45
|
+
__all__ = [
|
|
46
|
+
"Entity",
|
|
47
|
+
"GXFComponent",
|
|
48
|
+
"GXFCondition",
|
|
49
|
+
"GXFExecutionContext",
|
|
50
|
+
"GXFInputContext",
|
|
51
|
+
"GXFNetworkContext",
|
|
52
|
+
"GXFOperator",
|
|
53
|
+
"GXFOutputContext",
|
|
54
|
+
"GXFResource",
|
|
55
|
+
"GXFScheduler",
|
|
56
|
+
"load_extensions",
|
|
57
|
+
]
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
"""This module provides a Python interface to the Holoscan SDK logger.
|
|
16
|
+
|
|
17
|
+
.. autosummary::
|
|
18
|
+
|
|
19
|
+
holoscan.logger.LogLevel
|
|
20
|
+
holoscan.logger.log_level
|
|
21
|
+
holoscan.logger.set_log_level
|
|
22
|
+
holoscan.logger.set_log_pattern
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
from ._logger import (
|
|
26
|
+
LogLevel,
|
|
27
|
+
log_level,
|
|
28
|
+
set_log_level,
|
|
29
|
+
set_log_pattern,
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
__all__ = [
|
|
33
|
+
"LogLevel",
|
|
34
|
+
"log_level",
|
|
35
|
+
"set_log_level",
|
|
36
|
+
"set_log_pattern",
|
|
37
|
+
]
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
"""This module provides a Python API to underlying C++ API NetworkContexts.
|
|
16
|
+
|
|
17
|
+
.. autosummary::
|
|
18
|
+
|
|
19
|
+
holoscan.network_contexts.UcxContext
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
# Need to import UcxEntitySerializer before a UcxContext can be constructed
|
|
23
|
+
from ..resources import UcxEntitySerializer # noqa
|
|
24
|
+
from ._network_contexts import UcxContext
|
|
25
|
+
|
|
26
|
+
__all__ = ["UcxContext"]
|
|
27
|
+
|
|
28
|
+
del UcxEntitySerializer
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
"""This module provides a Python API to underlying C++ API Operators.
|
|
16
|
+
|
|
17
|
+
.. autosummary::
|
|
18
|
+
|
|
19
|
+
holoscan.operators.AJASourceOp
|
|
20
|
+
holoscan.operators.BayerDemosaicOp
|
|
21
|
+
holoscan.operators.FormatConverterOp
|
|
22
|
+
holoscan.operators.GXFCodeletOp
|
|
23
|
+
holoscan.operators.HolovizOp
|
|
24
|
+
holoscan.operators.InferenceOp
|
|
25
|
+
holoscan.operators.InferenceProcessorOp
|
|
26
|
+
holoscan.operators.PingRxOp
|
|
27
|
+
holoscan.operators.PingTensorRxOp
|
|
28
|
+
holoscan.operators.PingTensorTxOp
|
|
29
|
+
holoscan.operators.PingTxOp
|
|
30
|
+
holoscan.operators.SegmentationPostprocessorOp
|
|
31
|
+
holoscan.operators.V4L2VideoCaptureOp
|
|
32
|
+
holoscan.operators.VideoStreamRecorderOp
|
|
33
|
+
holoscan.operators.VideoStreamReplayerOp
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
# Define operator modules and classes for lazy loading
|
|
37
|
+
_OPERATOR_MODULES = {
|
|
38
|
+
"aja_source": ["AJASourceOp", "NTV2Channel"],
|
|
39
|
+
"bayer_demosaic": ["BayerDemosaicOp"],
|
|
40
|
+
"format_converter": ["FormatConverterOp"],
|
|
41
|
+
"gxf_codelet": ["GXFCodeletOp"],
|
|
42
|
+
"holoviz": ["HolovizOp"],
|
|
43
|
+
"inference": ["InferenceOp"],
|
|
44
|
+
"inference_processor": ["InferenceProcessorOp"],
|
|
45
|
+
"ping_rx": ["PingRxOp"],
|
|
46
|
+
"ping_tensor_rx": ["PingTensorRxOp"],
|
|
47
|
+
"ping_tensor_tx": ["PingTensorTxOp"],
|
|
48
|
+
"ping_tx": ["PingTxOp"],
|
|
49
|
+
"segmentation_postprocessor": ["SegmentationPostprocessorOp"],
|
|
50
|
+
"v4l2_video_capture": ["V4L2VideoCaptureOp"],
|
|
51
|
+
"video_stream_recorder": ["VideoStreamRecorderOp"],
|
|
52
|
+
"video_stream_replayer": ["VideoStreamReplayerOp"],
|
|
53
|
+
}
|
|
54
|
+
_OPERATORS = [item for sublist in _OPERATOR_MODULES.values() for item in sublist]
|
|
55
|
+
_LOADED_OPERATORS = {}
|
|
56
|
+
# expose both operator modules and operator classes for backward compatibility
|
|
57
|
+
__all__ = list(_OPERATOR_MODULES.keys()) + _OPERATORS
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
# Autocomplete
|
|
61
|
+
def __dir__():
|
|
62
|
+
return __all__
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
# Lazily load modules and classes
|
|
66
|
+
def __getattr__(attr):
|
|
67
|
+
# Get submodule, import if needed
|
|
68
|
+
def getsubmodule(name):
|
|
69
|
+
import importlib
|
|
70
|
+
import sys
|
|
71
|
+
|
|
72
|
+
module_name = f"{__name__}.{name}"
|
|
73
|
+
if module_name in sys.modules: # cached
|
|
74
|
+
module = sys.modules[module_name]
|
|
75
|
+
else:
|
|
76
|
+
module = importlib.import_module(module_name) # import
|
|
77
|
+
sys.modules[module_name] = module # cache
|
|
78
|
+
return module
|
|
79
|
+
|
|
80
|
+
# Return submodule
|
|
81
|
+
if attr in _OPERATOR_MODULES:
|
|
82
|
+
return getsubmodule(attr)
|
|
83
|
+
|
|
84
|
+
# Return cached operator class
|
|
85
|
+
if attr in _LOADED_OPERATORS:
|
|
86
|
+
return _LOADED_OPERATORS[attr]
|
|
87
|
+
|
|
88
|
+
# Get new operator class
|
|
89
|
+
if attr in _OPERATORS:
|
|
90
|
+
# Search for submodule that holds it
|
|
91
|
+
for module_name, values in _OPERATOR_MODULES.items():
|
|
92
|
+
if attr in values:
|
|
93
|
+
operator = getattr(getsubmodule(module_name), attr) # retrieve from submodule
|
|
94
|
+
_LOADED_OPERATORS[attr] = operator # cache
|
|
95
|
+
return operator
|
|
96
|
+
|
|
97
|
+
raise AttributeError(f"module {__name__} has no attribute {attr}")
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"""
|
|
2
|
+
SPDX-FileCopyrightText: Copyright (c) 2023-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
3
|
+
SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
See the License for the specific language governing permissions and
|
|
15
|
+
limitations under the License.
|
|
16
|
+
""" # noqa: E501
|
|
17
|
+
|
|
18
|
+
import holoscan.core # noqa: F401
|
|
19
|
+
|
|
20
|
+
from ._aja_source import AJASourceOp, NTV2Channel
|
|
21
|
+
|
|
22
|
+
__all__ = ["AJASourceOp", "NTV2Channel"]
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"""
|
|
2
|
+
SPDX-FileCopyrightText: Copyright (c) 2023-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
3
|
+
SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
See the License for the specific language governing permissions and
|
|
15
|
+
limitations under the License.
|
|
16
|
+
""" # noqa: E501
|
|
17
|
+
|
|
18
|
+
import holoscan.core # noqa: F401
|
|
19
|
+
import holoscan.gxf # noqa: F401
|
|
20
|
+
from holoscan.resources import Allocator, CudaStreamPool # noqa: F401
|
|
21
|
+
|
|
22
|
+
from ._bayer_demosaic import BayerDemosaicOp
|
|
23
|
+
|
|
24
|
+
__all__ = ["BayerDemosaicOp"]
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"""
|
|
2
|
+
SPDX-FileCopyrightText: Copyright (c) 2023-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
3
|
+
SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
See the License for the specific language governing permissions and
|
|
15
|
+
limitations under the License.
|
|
16
|
+
""" # noqa: E501
|
|
17
|
+
|
|
18
|
+
import holoscan.core # noqa: F401
|
|
19
|
+
from holoscan.resources import Allocator, CudaStreamPool # noqa: F401
|
|
20
|
+
|
|
21
|
+
from ._format_converter import FormatConverterOp
|
|
22
|
+
|
|
23
|
+
__all__ = ["FormatConverterOp"]
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"""
|
|
2
|
+
SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
3
|
+
SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
See the License for the specific language governing permissions and
|
|
15
|
+
limitations under the License.
|
|
16
|
+
""" # noqa: E501
|
|
17
|
+
|
|
18
|
+
import holoscan.core # noqa: F401
|
|
19
|
+
import holoscan.gxf # noqa: F401
|
|
20
|
+
from holoscan.core import OperatorSpec, _Fragment
|
|
21
|
+
|
|
22
|
+
from ._gxf_codelet import GXFCodeletOp as _GXFCodeletOp
|
|
23
|
+
|
|
24
|
+
__all__ = ["GXFCodeletOp"]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class GXFCodeletOp(_GXFCodeletOp):
|
|
28
|
+
def __setattr__(self, name, value):
|
|
29
|
+
readonly_attributes = [
|
|
30
|
+
"fragment",
|
|
31
|
+
"gxf_typename",
|
|
32
|
+
"conditions",
|
|
33
|
+
"resources",
|
|
34
|
+
"operator_type",
|
|
35
|
+
"description",
|
|
36
|
+
]
|
|
37
|
+
if name in readonly_attributes:
|
|
38
|
+
raise AttributeError(f'cannot override read-only property "{name}"')
|
|
39
|
+
super().__setattr__(name, value)
|
|
40
|
+
|
|
41
|
+
def __init__(self, fragment, *args, **kwargs):
|
|
42
|
+
if not isinstance(fragment, _Fragment):
|
|
43
|
+
raise ValueError(
|
|
44
|
+
"The first argument to an Operator's constructor must be the Fragment "
|
|
45
|
+
"(Application) to which it belongs."
|
|
46
|
+
)
|
|
47
|
+
# It is recommended to not use super()
|
|
48
|
+
# (https://pybind11.readthedocs.io/en/stable/advanced/classes.html#overriding-virtual-functions-in-python)
|
|
49
|
+
_GXFCodeletOp.__init__(self, self, fragment, *args, **kwargs)
|
|
50
|
+
# Create a PyOperatorSpec object and pass it to the C++ API
|
|
51
|
+
spec = OperatorSpec(fragment=self.fragment, op=self)
|
|
52
|
+
self.spec = spec
|
|
53
|
+
# Call setup method in the derived class
|
|
54
|
+
self.setup(spec)
|
|
55
|
+
|
|
56
|
+
def setup(self, spec: OperatorSpec):
|
|
57
|
+
# This method is invoked by the derived class to set up the operator.
|
|
58
|
+
super().setup(spec)
|
|
59
|
+
|
|
60
|
+
def initialize(self):
|
|
61
|
+
# Place holder for initialize method
|
|
62
|
+
pass
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
# copy docstrings defined in pydoc.hpp
|
|
66
|
+
GXFCodeletOp.__doc__ = _GXFCodeletOp.__doc__
|
|
67
|
+
GXFCodeletOp.__init__.__doc__ = _GXFCodeletOp.__init__.__doc__
|