Closed cKNUSPeR closed 11 months ago
Hi, please check out the latest version of pym2aia. https://pypi.org/project/m2aia/
The output should look something like this:
{'(original imzML value) [IMS:1000042] max count of pixels x': '224', '(original imzML value) [IMS:1000043] max count of pixels y': '169', '(original imzML value) max count of pixels z': '1', '[IMS:1000030] continuous': 'true', '[IMS:1000042] max count of pixels x': '224', '[IMS:1000043] max count of pixels y': '169', '[IMS:1000044] max dimension x': '5600', '[IMS:1000045] max dimension y': '4225', '[IMS:1000046] pixel size x': '0.025', '[IMS:1000047] pixel size y': '0.025', '[IMS:1000053] absolute position offset x': '0', '[IMS:1000054] absolute position offset y': '0', '[IMS:1000080] universally unique identifier': 'f0ac854b-c509-4c99-ad6a-1fe363ff689d', '[IMS:1000090] ibd MD5': '7CAEDFE459479C78B255368D779272D8', '[IMS:1000101] intensities.external data': 'true', '[IMS:1000101] mzArray.external data': 'true', '[IMS:1000401] scanSettings0.top down': 'true', '[IMS:1000410] scanSettings0.meandering': 'true', '[IMS:1000480] scanSettings0.horizontal line scan': 'true', '[IMS:1000490] scanSettings0.linescan right left': 'true', '[MS:1000075] source.matrix-assisted laser desorption ionization': 'true', '[MS:1000084] analyzer.time-of-flight': 'true', '[MS:1000114] detector.microchannel plate detector': 'true', '[MS:1000128] profile spectrum': 'true', '[MS:1000128] spectrum.profile spectrum': 'true', '[MS:1000294] mass spectrum': 'true', '[MS:1000294] spectrum.mass spectrum': 'true', '[MS:1000514] mzArray.m/z array': 'true', '[MS:1000515] intensities.intensity array': 'true', '[MS:1000521] intensities.32-bit float': 'true', '[MS:1000523] mzArray.64-bit float': 'true', '[MS:1000544] dataProcessing0.processingMethod (0).Conversion to mzML': 'true', '[MS:1000568] MD5': 'true', '[MS:1000576] intensities.no compression': 'true', '[MS:1000576] mzArray.no compression': 'true', '[MS:1000593] dataProcessing0.processingMethod (0).baseline reduction': 'true', '[MS:1001534] instrumentConfiguration0.Bruker Daltonics flex series': 'true', '[MS:1002302] Bruker Container format': 'true', '[MS:1002303] Bruker Container nativeID format': 'true', '[MS:1002384] software0 9.01.12514.SCiLS Lab': 'true', 'absolute position offset z': '0', 'm2aia.imzml.format_type': 'continuous', 'm2aia.imzml.intensities.value_type': '32-bit float', 'm2aia.imzml.intensities.value_type_in_bytes': '4', 'm2aia.imzml.intensityGroupID': 'intensities', 'm2aia.imzml.mzArray.value_type': '64-bit float', 'm2aia.imzml.mzArray.value_type_in_bytes': '8', 'm2aia.imzml.mzGroupID': 'mzArray', 'm2aia.imzml.spectrum_type': 'profile spectrum', 'm2aia.xs.max': '1285.64', 'm2aia.xs.min': '99.7925', 'm2aia.xs.n': '29693', 'max count of pixels z': '1', 'number of measurements': '28278', 'pixel size z': '0.01'}
Hi, i've noticed something about the .GetMetaData() function. It only returns the "name" parameter, and not the "value" parameter. I'm assuming that the metadata values get lost somewhere in the transition between Python and C++, because the m2aiaCore soure code looks like it is aware of them. I'm including a minimal example below:
When calling .GetMetaData() on a ImzMLReader, i get the following list (shortend for overview) with strings: "[...,'pixel size x', 'pixel size y', 'pixel size z', 'scanSettings0.horizontal line scan', 'scanSettings0.linescan right left', ...]"
My imzMl file looks like this:
Is there a way th make the GetMetaData() output into a dictionary with a name and value pair? or any other way to access the value from within pym2aia?