Official implementation from Stanford University
- Title: Missing Wedge Completion via Unsupervised Learning with Coordinate Networks
- Authors: Dave Van Veen, Jesús G. Galaz-Montoya, Liyue Shen, Philip Baldwin, Akshay S. Chaudhari, Dmitry Lyumkis, Michael F. Schmid, Wah Chiu, John Pauly
- Contact: {vanveen, pauly} [at] stanford [dot] edu
- Clone the repository:
git clone https://github.com/davevanveen/wucon.git
cd wucon
- Use these commands to set up a conda environment:
conda env create -f env.yml
conda activate wucon
- In
src/constants.py, create your own project directoryDIR_PROJECTwhich will contain input data, trained models, and generated output.- Due to the large amount of data, it's recommended to create
DIR_PROJECToutside this code repository to avoid pushing data to GitHub.
- Due to the large amount of data, it's recommended to create
- Download data from this folder and set
DIR_DATAinsrc/constants.pyaccordingly. More information on data is provided below. - (optional) To add your own dataset, follow the format of example datasets.
- Run
cd src; ./main.sh, after you've made the bash script executable.
Below describes a subset of scripts within src/:
main.sh: generates reconstructions for a particulardatasetand set ofcase_ids.case_iddefines a set of experiment parameters. We recommend starting with the default,case_id=0. Then if you wish to modify parameters for your own experiments, seecasesinconstants.py.- Results will be saved in
{DIR_PROJECT}/out/{dataset}/c{case_id}.
constants.py: sets configs for paths, datasets, and experiments.recon_volume.py: reconstructs volume chunks in series or parallel, depending on GPU availability, by making individual calls torecon_chunk.py.
- We provide three datasets from our paper here.
sph: Spheres of various sizesgeo: Geometric shapesp2s: P22 simulated virus particle
wucon_data_all.zipcontains all three datasets. For convenience, we've provided a smaller filewucon_data_p2s.zipwhich contains onlyp2s.- Each dataset contains the following files:
{dataset}_tgt.mrc: 3D image volume ("target").- Note this is not relevant for experimentally-acquired datasets, as the ground-truth "target" data does not exist.
{dataset}_prj.mrc: two-dimensional projections of the 3D volume.tilt_angles.tlt: angles at which the projections were generated.