pycroscopy is a `python <http://www.python.org/>`_ package for image processing and scientific analysis of imaging modalities such as multi-frequency scanning probe microscopy, scanning tunneling spectroscopy, x-ray diffraction microscopy, and transmission electron microscopy. pycroscopy uses a data-centric model wherein the raw data collected from the microscope, results from analysis and processing routines are all written to standardized hierarchical data format (HDF5) files for traceability, reproducibility, and provenance.
pycroscopy is a `python <http://www.python.org/>`_ package for image processing and scientific analysis of imaging modalities such as multi-frequency scanning probe microscopy, scanning tunneling spectroscopy, x-ray diffraction microscopy, and transmission electron microscopy. pycroscopy uses a data-centric model wherein the raw data collected from the microscope, results from analysis and processing routines are all written to standardized hierarchical data format (HDF5) files for traceability, reproducibility, and provenance.
Please visit our `homepage <https://pycroscopy.github.io/pycroscopy/index.html>`_ for more information.
Please visit our `homepage <https://pycroscopy.github.io/pycroscopy/about.html>`_ for more information.
* Generic interactive visualizer for 3 and 4D float numpy arrays.
* Generic interactive visualizer for 3 and 4D float numpy arrays - currently being cleaned up by Chris. :-)
* No need to handle h5py datasets, compound datasets, complex datasets etc.
* Add features time permitting.
* EVERY process tool should implement two new features:
* EVERY process tool should implement two new features:
1. Check if the same process has been performed with the same paramters. When initializing the process, throw an exception. This is better than checking in the notebook stage.
1. Check if the same process has been performed with the same paramters. When initializing the process, throw an exception. This is better than checking in the notebook stage.
2. (Gracefully) Abort and resume processing.
2. (Gracefully) Abort and resume processing.
* Cluster, Decomposition, doSVD **MUST** extend Process
* The computation will continue to be performed by sklearn. No need to use parallel_compute().
* Most importantly, they will be forced to implement the check for previous computations
* Clean up Cluser results plotting
* Clean up Cluser results plotting
* Consider implementing doSVD as a Process. Maybe the Decomposition and Cluster classes could extend Process?
* Simplify and demystify analyis / optimize. Use parallel_compute instead of optimize and gues_methods and fit_methods
* Simplify and demystify analyis / optimize. Use parallel_compute instead of optimize and gues_methods and fit_methods
* multi-node computing capability in parallel_compute
* multi-node computing capability in parallel_compute
* Data Generators
* Data Generators
* Consistency in the naming of and placement of attributes (chan or meas group) in all translators
* Consistency in the naming of and placement of attributes (chan or meas group) in all translators - Some put attributes in the measurement level, some in the channel level!
GUI
GUI
~~~~~~~~~~~
~~~~~~~~~~~
* Need to be able to run a visualizer even on sliced data. What would this object be? (sliced Main data + vectors for each axis + axis labels ....). Perhaps the slice() function should return this object instead of a numpy array? As it stands, the additional information (for the visualizer) is not returned by the slice function.
* Need to be able to run a visualizer even on sliced data. What would this object be? (sliced Main data + vectors for each axis + axis labels ....). Perhaps the slice() function should return this object instead of a numpy array? As it stands, the additional information (for the visualizer) is not returned by the slice function.
* Generic visualizer in plot.lly / dash? that can use the PycroDataset class
* TRULY Generic visualizer in plot.lly / dash? that can use the PycroDataset class
* One suggestion is 2 (or more panes).
* Left hand side for positions
* 1D lines or 2D images
* Ability to select individual pixels, points within a polygon.
* What quantity to display for these images? Select one within P fields for compound datasets. Perhaps we need sliders / dropdowns for all spectral dimensions here to for the user to slices?
* Right hand side for spectral
* 1D spectra or 2D images.
* Users will be asked to slice N-1 or N-2 spectral dimensions
* Switch to using plot.ly and dash for interactive elements
* Switch to using plot.ly and dash for interactive elements