Photoacoustic Converter for Information Sharing (PACFISH)
Project description
README
In this repository we develop the photoacoustic converter for information sharing (PACFISH). It is a tool that enables the conversion of vendor-specific proprietary data formats into the IPASC data format, which is an HDF5 container that has a defined structure for the meta data that are given with the binary data. A list of meta data information was suggested by the International Photoacoustic Standardisation Consortium (IPASC) in early 2020. You can find this list using the following link:
https://www.ipasc.science/documents/20210916_IPASC_Format_V2.pdf
Please help IPASC by reporting any missing parameters, bugs, or issues. We are also looking forward to any contributions in form of adapters that can convert a priprietary format into the IPASC format. If you are a member of the research community, a photoacoustic vendor, or interested to contribute or in the project in general because of any other reasons, please contact the leadership team of the Data Acquisition and Management Theme of IPASC. These are currently: Janek Gröhl, Lina Hacker, and Ben Cox.
Examples and use cases
Please look in the ipasc_examples
folder for
detailed and functional examples how to use the
PACFISH API.
Use case: using the tool to read and write HDF5 files
from IPASC_DataConversionTool import iohandler as io
# Loading data from the hard drive
pa_data = io.load_data("path/to/hdf5file.hdf5")
numpy_array = pa_data.binary_time_series_data
# Writing of data to hard drive
io.write_data("path/to/new/file.hdf5", pa_data)
Use case: Implement a conversion adapter
from IPASC_DataConversionTool.api import BaseAdapter
class DeviceSpecificAdapter(BaseAdapter):
def generate_binary_data(self) -> np.ndarray:
# IMPLEMENTATION HERE
pass
def generate_meta_data_device(self) -> dict:
# IMPLEMENTATION HERE
pass
def set_metadata_value(self, metadata_tag: MetaDatum) -> object:
# IMPLEMENTATION HERE
pass
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.