clatlan / cdiutils

A python package to help Coherent Diffraction Imaging (CDI) practitioners in their analysis.
MIT License
12 stars 7 forks source link

Final shape is forced and cannot be changed #71

Open DSimonne opened 2 months ago

DSimonne commented 2 months ago

See below:


    @classmethod
    def get_structural_properties(
            cls,
            complex_object: np.ndarray,
            isosurface: np.ndarray,
            g_vector: np.ndarray | tuple | list,
            hkl: tuple | list,
            voxel_size: np.ndarray | tuple | list,
            phase_factor: int = -1,
            handle_defects: bool = False,
            support_parameters: dict = None
    ) -> dict:
        """
        Main method used in the post-processing workflow. The method
        computes all the structural properties of interest in BCDI
        (amplitude, phase, displacement, displacement gradient,
        heterogeneous strain d-spacing and lattice parameter maps.)

        Args:
            complex_object (np.ndarray): the reconstructed object
            (rho e^(i phi))
            g_vector (np.ndarray | tuple | list): the reciprocal space
            node on which the displacement gradient must be projected.
            hkl (tuple | list): the probed Bragg reflection.
            voxel_size (np.ndarray | tuple | list): the voxel size of
            the 3D array.
            phase_factor (int, optional): the factor the phase should
            should be multiplied by, depending on the FFT convention
            used. Defaults to -1 (PyNX convention in Phase Retrieval,
            in PyNX scattering, use 1).
            handle_defects (bool, optional): whether a defect is present
            in the reconstruction, in this case phasing processing and
            strain computation is different. Defaults to False.

        Returns:
            dict: the structural properties of the object in the form of
            a dictionary. Each key corresponds to one quantity of'
            interest, including: amplitude, support, phase,
            displacement, displacement_gradient (in all three
            directions), het. (heterogeneous) strain using various
            methods, d-spacing, lattice parameter 3D maps. hkl, g_vector
            and voxel size are also returned.
        """
        complex_object, support, surface = cls.prepare_volume(
            complex_object,
            support_parameters=support_parameters,
            isosurface=isosurface,
            final_shape=None
        )
DSimonne commented 2 months ago

image It's cutting my crystal =(