{
    "cli_functions": {
        "find_delta": {
            "class_name": "DeltaFinder",
            "description_long": "        The index of refraction can be defined by three different methods/approaches:\n\n        1) Get delta for the closest energy from the saved *.dat files (see ``bnlcrl/package_data/dat/``).\n\n        2) Get delta from http://henke.lbl.gov/optical_constants/getdb2.html.\n\n        3) Calculate delta analytically (requires ``periodictable`` package installed).",
            "description_short": "Determine the Index of Refraction (delta)",
            "returns": [
                "characteristic",
                "characteristic_value",
                "closest_energy",
                "method"
            ]
        }
    },
    "parameters": {
        "calc_delta": {
            "default": false,
            "help": "a flag to calculate delta analytically",
            "type": "bool"
        },
        "characteristic": {
            "choices": {
                "atten": "attenuation length",
                "delta": "index of refraction",
                "transmission": "filter transmission"
            },
            "default": "delta",
            "help": "characteristic to be extracted",
            "type": "str"
        },
        "data_file": {
            "default": "",
            "help": "a *.dat data file in ``bnlcrl/package_data/dat/`` directory with delta values for the material of the CRL (e.g., Be)",
            "type": "str"
        },
        "e_max": {
            "default": 30000,
            "help": "the highest available energy [eV]",
            "type": "float"
        },
        "e_min": {
            "default": 30,
            "help": "the lowest available energy [eV]",
            "type": "float"
        },
        "e_step": {
            "default": 10,
            "help": "energy step size used for saving data to a file [eV]",
            "type": "float"
        },
        "energy": {
            "default": null,
            "help": "photon energy [eV]",
            "type": "float"
        },
        "formula": {
            "default": "Be",
            "help": "material's formula of the interest",
            "type": "str"
        },
        "n_points": {
            "default": 500,
            "help": "number of points to get from the server",
            "type": "int"
        },
        "outfile": {
            "default": "",
            "help": "optional output file",
            "type": "str"
        },
        "precise": {
            "default": false,
            "help": "a flag to find delta within the energy interval +/- 1 eV from the specified energy",
            "type": "bool"
        },
        "plot": {
            "default": false,
            "help": "a flag to plot the obtained data",
            "type": "bool"
        },
        "save": {
            "default": false,
            "help": "a flag to save the obtained data",
            "type": "bool"
        },
        "save_output": {
            "default": false,
            "help": "a flag to save the output dictionary in JSON format",
            "type": "bool"
        },
        "show_plot": {
            "default": false,
            "help": "a flag to show the show the plot",
            "type": "bool"
        },
        "thickness": {
            "default": 0.1,
            "help": "thickness of the material",
            "type": "float"
        },
        "use_numpy": {
            "default": false,
            "help": "a flag to use NumPy",
            "type": "bool"
        },
        "verbose": {
            "default": false,
            "help": "a flag to print output to console",
            "type": "bool"
        }
    },
    "server_info": {
        "atten": {
            "fields": {
                "density": "Density",
                "fixed": "Fixed",
                "formula": "Formula",
                "material": "Material",
                "max": "Max",
                "min": "Min",
                "npts": "Npts",
                "output": "Output",
                "plot": "Plot",
                "scan": "Scan",
                "temp": "temp"
            },
            "file_tag": "HREF",
            "post_url": "/cgi-bin/atten.pl"
        },
        "delta": {
            "fields": {
                "density": "Density",
                "formula": "Formula",
                "material": "Material",
                "max": "Max",
                "min": "Min",
                "npts": "Npts",
                "output": "Output",
                "scan": "Scan"
            },
            "file_tag": "URL",
            "post_url": "/cgi-bin/getdb.pl"
        },
        "transmission": {
            "fields": {
                "density": "Density",
                "formula": "Formula",
                "material": "Material",
                "max": "Max",
                "min": "Min",
                "npts": "Npts",
                "output": "Output",
                "plot": "Plot",
                "scan": "Scan",
                "thickness": "Thickness"
            },
            "file_tag": "HREF",
            "post_url": "/cgi-bin/filter.pl"
        },
        "server": "http://henke.lbl.gov"
    }
}
