Metadata-Version: 2.3
Name: ganrec
Version: 0.2.1
Summary: A deep neural network data reconstruction platform
Project-URL: homepage, https://github.com/XYangXRay/ganrec
Project-URL: repository, https://github.com/XYangXRay/ganrec
Project-URL: documentation, https://github.com/XYangXRay/ganrec
Author-email: Xiaogang Yang <xiaogang.yang@outlook.com>
License: BSD 3-Clause License
        
        Copyright (c) 2022, Brookhaven National Lab
        All rights reserved.
        
        Redistribution and use in source and binary forms, with or without
        modification, are permitted provided that the following conditions are met:
        
        1. Redistributions of source code must retain the above copyright notice, this
           list of conditions and the following disclaimer.
        
        2. Redistributions in binary form must reproduce the above copyright notice,
           this list of conditions and the following disclaimer in the documentation
           and/or other materials provided with the distribution.
        
        3. Neither the name of the copyright holder nor the names of its contributors
           may be used to endorse or promote products derived from this software
           without specific prior written permission.
        
        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
        AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
        DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
        FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
        SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
        CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
        OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
        OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License-File: AUTHORS.rst
License-File: LICENSE
Keywords: Data reconstruction,GAN,Phase retrieval,Tomography
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.9
Requires-Dist: ipython>=8.12.3
Requires-Dist: matplotlib>=3.3.2
Requires-Dist: numpy>=1.19.2
Requires-Dist: scikit-image>=0.19.3
Requires-Dist: tifffile>=2023.12.9
Requires-Dist: tqdm>=4.65.0
Provides-Extra: pytorch
Requires-Dist: pytorch>=2.0.0; extra == 'pytorch'
Provides-Extra: tensorflow
Requires-Dist: tensorflow>=2.0.0; extra == 'tensorflow'
Description-Content-Type: text/markdown

# GANrec: A GAN-based Data Reconstruction Framework

# Overview

GANrec is an data reconstruction framework that harnesses the power of Generative Adversarial Networks (GANs). While traditional reconstruction methods primarily rely on intricate algorithms to piece together fragmented data, GANrec employs the generative capabilities of GANs to reimagine and revitalize data reconstruction.

Originally designed for the fields of tomography and phase retrieval, GANrec shines in its adaptability. With a provision to input the forward model, the framework can be flexibly adapted for complex data reconstruction processes across diverse applications.

# Features

1. GAN-powered Reconstruction: At its core, GANrec employs GANs to assist in the reconstruction process, enabling more accurate and efficient results than conventional methods.
2. Specialized for Tomography & Phase Retrieval: GANrec has been optimized for tomography and phase retrieval applications, ensuring precision and reliability in these domains.
3. Modular Design: The framework's architecture allows users to provide their forward model, making it adaptable for various complex data reconstruction challenges.
4. Efficient and Scalable: Built to handle large datasets, GANrec ensures that speed and efficiency are maintained without compromising the accuracy of reconstruction.

# Installation

Installation

Follow the steps below to install and set up GANrec:

1. Create a Conda Environment:
Create a new conda environment named ganrec.

`conda create --name ganrec python=3.8`

2. Activate the Conda Environment:
Activate the newly created ganrec environment.

`conda activate ganrec`

3. Install tensorflow:

https://www.tensorflow.org/install/pip

4. Clone the GANrec Repository:
Clone the GANrec repository from GitHub to your local machine.

`git clone https://github.com/XYangXRay/ganrec.git`

5. Install the Required Packages:
Navigate to the main directory of the cloned repository and install the necessary packages.

`cd ganrec`

`python3 -m pip install -e .`

# Examples

GANrec currently has the applications for tomography reconstructon and in-line phase contrast (holography) phase retrieval:

1. X-ray tomography reconstruction:
   - [Tomography Example](https://github.com/XYangXRay/ganrec/blob/main/examples/tomography_tf.ipynb)
2. Holography phase retreival:
   - [Phase retrieval Example](https://github.com/XYangXRay/ganrec/blob/main/examples/holography_tf.ipynb)

# References

If you find GANrec is useful in your work, please consider citing:

J. Synchrotron Rad. (2020). 27, 486-493.
Available at: https://doi.org/10.1107/S1600577520000831
