pyxem/pyxem-demos

Demo Reorganization:

Opened this issue · 2 comments

I think there are a couple of the Demos that I have duplicated/ better explained with the Examples added to pyxem. Also keeping the Demos up to date is a little difficult as they take a long time to run/ aren't run with the CI for pyxem.

I am going to remove:

  • 01 GaAs Nanowire - Data Inspection - Preprocessing - Unsupervised Machine Learning.ipynb --> Many small pre-processing examples etc. Make a new Notebook for a ML section.
  • 02 GaAs Nanowire - Phase Mapping - Orientation Mapping.ipynb --> Example in pyxem Orientation Mapping (included in PR)
  • 03 Reference Standards - Dimension Calibrations - Rotation Calibrations.ipynb --> Need to make a new example for this then remove
  • 04 Simulate Data - Phase Mapping - Orientation Mapping.ipynb --> Example in pyxem Orientation Mapping (included in PR)
  • 07 Azimuthal Integration Using pyFAI Detector.ipynb --> Already an Example

From that point I would like to make subfolders in the demos:

  • DPC
    • Magnetic DPC Notebook
    • Electric DPC from Atomic Columns?
  • Amorphous and Organics Characterization
    • FEM
    • Angular Correlations and Symmetry Analysis
    • Vector Based Analysis
    • Organic Semiconduction Phase Mapping
  • Orientation Mapping
    • Orientation Mapping
    • G-Phase Mapping Example
  • Machiene Learning
    • Vector Based DBSCAN --> Using full 4D Vectors and just 2D Vectors
    • Applying a Neural Network using map and pytorch
    • Matrix Methods PCA SVD and NNMF
  • In Situ Characterization
    • Aligning a 5D Dataset
    • Crystalization Strucuture Characterization
    • Electron Correlation Micrscopy
  • Vector Analysis (Strain etc.)
    • Strain Mapping
    • Creating Virtual Images from Vectors
    • Vector Matching with Phases
  • External Packages Interfaces
    • Doing ptycography with LiberTEM
    • abTEM --> pyxem workflow

Thoughts? @tinabe this is a little bit of what we discussed before. I don't intend to do this before the workshop but it might be a good thing to keep in mind. Do other people have datasets or workflows they want added to this list?

@CSSFrancis sorry to be late to the party. Demos is a nightmare, honestly think you could delete everything and start again with tagged versions for workshops.

@CSSFrancis sorry to be late to the party. Demos is a nightmare, honestly think you could delete everything and start again with tagged versions for workshops.

I feel kind of the same way about the demos although with a 1.0.0 version it should be less of an issue. They might become out of date but they should still always run to completion if not using the most up to date set of functions. I'm going to give the demos one last chance.

The examples are quite a bit nicer although it is kind of a shame they don't work well with real data.

There are also so many non linked jupyter notebooks that people might find interesting. I try to release my notebooks with every publication, you've got some nice ones as well as do many of the NTNU users. Making those more visible would be good and would be a good practice to encourage.

Maybe something of a hyperspy or pyxem repository of notebooks would be helpful. I've been meaning to write up a publication guide.

Something like:

  • Store data in Zenodo or Materials Data Facility with a DOI
  • Include Jupyter notebooks for analyzing the code. Include a requirements.txt file with the version of pyxem and hyperspy.
  • Include information about the associated publication etc in a metadata file. This can include things like tags for publications, scripts, or workshops
  • Push this to a GitHub repository

I might have to play around with how to do this but we could set up a CI action to curate a database of code tutorials.

I still like the idea of them being rendered in the documentation as they show what's possible.