Numpy
Description​
NumPy is a fundamental package for numerical computing with Python. It provides support for large, multi-dimensional arrays and matrices, along with a collection of mathematical functions to operate on these arrays. NumPy serves as the foundational library for many other scientific computing libraries, offering efficient array computing and a versatile platform for data analysis tasks. Its capabilities make it a critical tool for numerical computations, enabling everything from simple mathematical operations to complex machine learning algorithms.
General details​
- Developer(s): The NumPy project has many contributors, with Travis Oliphant being recognized for creating NumPy by merging features from the competing Numeric and Numarray projects.
- Open source: Yes
- Language(s): C, Python
- Repository: https://github.com/numpy/numpy
- License: BSD 3-Clause "Revised"
- Operating system(s): OS Independent (can run on any operating system that supports Python)
- Actively maintained: Yes (less than a week ago)
Intended use on the device​
The SOUP is used in the medical device for the following specific purposes only:
- Provide tensor operations not available in other libraries specifically focused on image processing tasks (such as Pillow or OpenCV).
- Assist in some steps of the data preprocessing and post-processing pipelines for machine learning tasks.
Requirements​
For the integration and safe usage of this SOUP within a software system, it's important to outline both functional and performance requirements. These requirements help mitigate risks and ensure compatibility and performance standards are met.
Functional​
- Accuracy: Numerical operations, especially those related to mathematical computations, array manipulations, and transformations, must deliver results within a defined tolerance level to ensure the accuracy of diagnostic capabilities.
- Functionality: Support a wide range of mathematical functions and operations for arrays.
- Error handling: Robust error handling mechanisms to guarantee that any computational errors do not compromise patient safety. This includes clear reporting and logging of errors for troubleshooting and corrective action.
Performance​
- Speed: Provide high-performance computation capabilities, especially for large datasets, high-resolution images or real-time processing requirements, to ensure that the medical device operates efficiently without delays that could affect patient care.
- Reliability: Reliably perform under the conditions expected in the device environments, including continuous operation and handling of various data types and structures without failure.
- Security: Given the sensitivity of medical data, it should not introduce any vulnerabilities into the software. It must be regularly updated to address any security concerns and be compatible with the overall security architecture of the device.
System requirements​
Establishing minimum software and hardware requirements is important to mitigate risks, such as security vulnerabilities, performance issues, or compatibility problems, and to ensure that the SOUP functions effectively within the intended environment.
Software​
After evaluation, we find that there are no specific software requirements for this SOUP. It works properly on standard computing devices, which includes our environment.
Hardware​
After evaluation, we find that there are no specific hardware requirements for this SOUP. It works properly on standard computing devices, which includes our environment.
Documentation​
The official SOUP documentation can be found at https://numpy.org/doc/stable/
Additionally, a criterion for validating the SOUP is that all the items of the following checklist are satisfied:
- The vendor maintains clear and comprehensive documentation of the SOUP describing its functional capabilities, user guidelines, and tutorials, which facilitates learning and rapid adoption.
- The documentation for the SOUP is regularly updated and clearly outlines every feature utilized by the medical device, doing so for all integrated versions of the SOUP.
Related software items​
We catalog the interconnections between the microservices within our software architecture and the specific versions of the SOUP they utilise. This mapping ensures clarity and traceability, facilitating both the understanding of the system's dependencies and the management of SOUP components.
Although the title of the section mentions software items, the relationship with SOUP versions has been established with microservices (also considered software items, by the way) because each one is inside a different Docker container and, therefore, has its own isolated runtime environment.
SOUP version | Software item(s) |
---|---|
1.26.4 | APASI-API ASCORAD-API ICD MULTICLASS CLASSIFIER ICD BINARY CLASSIFIER BINARY REFERRER |
Related risks​
The following are risks applicable to this SOUP from the table found in document R-TF-013-002 Risk management record_2023_001
:
- 58. SOUP presents an anomaly that makes it incompatible with other SOUPs or with software elements of the device.
- 59. SOUP is not being maintained nor regularly patched.
- 60. SOUP presents cybersecurity vulnerabilities.
Lists of published anomalies​
The incidents, anomalies, known issues or changes between versions for this SOUP can be found at:
History of evaluation of SOUP anomalies​
29 Feb 2024​
- Reviewer of the anomalies: Alejandro Carmena Magro
- Version(s) of the SOUP reviewed: 1.26.4
No anomalies have been found.
Record signature meaning​
- Author: JD-004
- Reviewer: JD-003
- Approver: JD-005