Thor TIFF data conversion#

Install NeuroConv with the additional dependencies necessary for reading Thor TIFF data.

pip install "neuroconv[thor]"

Convert a ThorImageLS acquisition#

Point ThorConverter at the first OME-TIFF of the acquisition and every channel named in the accompanying Experiment.xml is written, one ImagingPlane and one TwoPhotonSeries each, all referring to a single Device named ThorMicroscope.

>>> from pathlib import Path
>>> from neuroconv.converters import ThorConverter
>>>
>>> file_path = OPHYS_DATA_PATH / "imaging_datasets" / "ThorlabsTiff" / "single_channel_single_plane" / "20231018-002" / "ChanA_001_001_001_001.tif"
>>> converter = ThorConverter(file_path=file_path)
>>>
>>> metadata = converter.get_metadata()
>>> # Add subject information (required for DANDI upload)
>>> metadata["Subject"] = dict(subject_id="subject1", species="Mus musculus", sex="M", age="P30D")
>>>
>>> # Choose a path for saving the nwb file and run the conversion
>>> nwbfile_path = f"{path_to_save_nwbfile}"
>>> converter.run_conversion(nwbfile_path=nwbfile_path, metadata=metadata)

NeuroConv aims to automatically add all the metadata annotations that are present in the source format. It is often the case that crucial information is not available there, such as the anatomical location, the meaning of the values, or a semantically meaningful description of the data. Follow the ophys how-to for a modality-relevant guide to adding this extra metadata, which makes the data more useful for future users and for the community as a whole. Its section on templates starts from scratch, and the reference template lists every element the metadata accepts.

Convert a single channel#

Use ThorImagingInterface to write one channel, chosen with the channel_name argument. To see what is available, use ThorConverter.get_available_channels(file_path).

>>> from pathlib import Path
>>> from neuroconv.datainterfaces import ThorImagingInterface
>>>
>>> file_path = OPHYS_DATA_PATH / "imaging_datasets" / "ThorlabsTiff" / "single_channel_single_plane" / "20231018-002" / "ChanA_001_001_001_001.tif"
>>> interface = ThorImagingInterface(file_path=file_path, channel_name="ChanA")
>>>
>>> metadata = interface.get_metadata()
>>> # Add subject information (required for DANDI upload)
>>> metadata["Subject"] = dict(subject_id="subject1", species="Mus musculus", sex="M", age="P30D")
>>>
>>> # Choose a path for saving the nwb file and run the conversion
>>> nwbfile_path = f"{output_folder}/single_channel.nwb"
>>> interface.run_conversion(nwbfile_path=nwbfile_path, metadata=metadata)

Note

The ThorImagingInterface is designed for imaging data acquired using ThorImageLS software and exported to TIFF format. Note that it is possible that data was acquired with a Thor microscope but not with the ThorImageLS software, in which case this interface may not work correctly.