ptycho / ptypy

Ptypy - main repository
Other
37 stars 16 forks source link

Data file used in some of the beamlines' scripts #77

Closed joao-zerba closed 6 years ago

joao-zerba commented 7 years ago

Hello, I have looked at the directory ptypy/experiment. There are many scripts for several beamlines. It is very nice source of information and tools. I have been working on a script to store my .tif images in a hdf5/cxi file format. But I would like to see a data file from any of those beamlines but in these type format. Could anyone provide it? It should be easier to analyze the structure required to be run in one of those scripts. Thank you very much. Best,

João Paulo Castro Zerba

joao-zerba commented 7 years ago

Does anyone from ALS - beamline could send me a .cxi file for me? It really would help me to verify if what I am doing is right. It can be sent in my e-mail joao.zerba@lnls.br. Thank you very much.

bjoernenders commented 7 years ago

Hello Joao,

sorry that we haven't replied yet. I was on vacation. Currently I work at the ALS and could provide you with a .cxi file. However, I cannot guarantee that this file complies a 100% with the cxi file format. But the file format is documented in detail at cxidb.org. So you can create a file yourself that complies with that standard. There should be example scripts.

Also, in ptypy we use the "attributes" of hdf5 to annotate the data set (a "data set" in hdf5 means any stored data entry) and to allow a transparent translation to Python objects. In a sense, the .ptyd and .ptyr files created by ptypy are self-documented hdf5 files. Contrarily in a .cxi file, the "attributes" are mostly unused with the important exception of scanning directions in a ptychography experiment. The interpretation of the data set happens through the documented standard. That means, that the data file is a bit more obscure. Also the design is rather complex and a bit overloaded to account for all kinds of scattering experiments.

TLDR; CXI is a very "soft" standard without implicit documentation. That means, loading from any .cxi requires a "manual" but at least there is one in the internet. And there is also the nexus file format. Maybe other people gere have different opinion about. Please speak up ;-)

"It really would help me to verify if what I am doing is right." <- That will be hard to verify.

Honestly, many use hdf5 but there is no immediate benefit compared to a collection of tiffs and an easily parseable parameter file about the scan. If I were you I would shoot for the simplest solution.

Best Bjoern

ps. A .cxi file is too large to be sent via email. Please provide me with an upload link.

joao-zerba commented 7 years ago

Hello Bjoern, That's fine. Thank you for your reply.

I am trying to make ptypy work with a real dataset I have. What I have done so far was using a ALS_5321.py to load data from a .cxi file I created and run the data with a modified minimal_prep_and_run.py . I think minimal_prep_and_run.py is used for simulation, so It is not good to reconstruct a real dataset, and there are some parameters I didn't understand very well. Could you please send me an example of a .cxi file and some script or command I should run it with ptypy? This is a dropbox upload link: https://www.dropbox.com/sh/lwao9accwpw125b/AACsyq7fUK-qiHLABbQrgmGka?dl=0

There, I also created a folder with the scripts I am working with and a reconstruction image generated by matplotlib. The data is a gold nanosphere of size 50nm. It seems not good.

I really appreciate your help, Thank you very much.

Joao Paulo

bjoernenders commented 7 years ago

Hi Joao,

I can only download from that folder. Try this for now: https://dl.dropboxusercontent.com/u/66778924/sim.cxi

Otherwise invite to a shared folder.

I wonder why you don't make a .ptyd container or make a new DataScan subclass to load your tiff. If you are a bit patient, I will review the als5321 DataScan class to load .cxi and make sure it works with the current .cxi standard.

Best, Bjoern

joao-zerba commented 7 years ago

Hi Bjoern,

Thank you very much for the .cxi file. I I found easier to work with those example scripts as I am not very familiar with the technique. I really would like if you could review the als5321 class to load .cxi. And I will send you to a shared folder.

Thank you very much Best,

João