spam issueshttps://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues2023-02-22T14:43:23+01:00https://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/246projection tutorial2023-02-22T14:43:23+01:00Emmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frprojection tutorialimport modules before wgetimport modules before wgetv1Emmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frEmmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frhttps://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/242Dev workflow2022-12-14T11:49:38+01:00Emmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frDev workflow- [ ] pre-commit (doc for devs)
- [ ] pep8
- [ ] lock master branch
- [ ] snippets to remember the workflow (feature branch update / merge requests...)
- [ ] move to gitlab.com
- [ ] variable/function/class/keys name convention written i...- [ ] pre-commit (doc for devs)
- [ ] pep8
- [ ] lock master branch
- [ ] snippets to remember the workflow (feature branch update / merge requests...)
- [ ] move to gitlab.com
- [ ] variable/function/class/keys name convention written in the doc (and enforced in the code)
- [ ] settle on a set of labels for issuesv1https://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/240Global DVC2022-12-14T11:40:41+01:00Emmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frGlobal DVC- [ ] Make some tests
- [ ] User script
- [ ] Tutorial
- [ ] Merge to main and push to pip (beta warning)
- [ ] cylindrical mesh, no Newmann
- [ ] Imposition of loads in the mechanical regularisation
- [ ] Optimization
- [ ] Profiling...- [ ] Make some tests
- [ ] User script
- [ ] Tutorial
- [ ] Merge to main and push to pip (beta warning)
- [ ] cylindrical mesh, no Newmann
- [ ] Imposition of loads in the mechanical regularisation
- [ ] Optimization
- [ ] Profiling performance and memory usage vs input images
- [ ] Speed iup with CPP
- [ ] Better memory management for the multiple matrices
- [x] parallelise tet label??
- [ ] Think of a way to only load sub images (HDF5)v1Emmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frEmmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frhttps://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/239Rebranding2022-12-14T11:30:36+01:00Emmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frRebranding- [ ] getting development out of here and into spam.gitlab
- [ ] news docs, news, chatting integration (and fwd from this link)
- [ ] register new website -- and decide it
- [ ] DIC vs DVC ??? spam.correlation spam.imageCorrelation ?
- [...- [ ] getting development out of here and into spam.gitlab
- [ ] news docs, news, chatting integration (and fwd from this link)
- [ ] register new website -- and decide it
- [ ] DIC vs DVC ??? spam.correlation spam.imageCorrelation ?
- [ ] check out doc of all functions for wrong formating (return values code-blocks)
- [ ] New paper (the JOSS will have the wrong URL)
- [ ] Global paper comparing to Mendoza configuration
- [ ] Make a flyer/poster for spamv1https://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/238Repackaging spam2022-12-14T11:27:56+01:00Emmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frRepackaging spam- [x] python 3.10, python 3.11 checks and build, drop 3.6 (as per https://en.wikipedia.org/wiki/History_of_Python)
- [ ] Last 0.7 series release with current state
- [ ] update setup.cfg into setup.py with buildtools
- [ ] splitting into...- [x] python 3.10, python 3.11 checks and build, drop 3.6 (as per https://en.wikipedia.org/wiki/History_of_Python)
- [ ] Last 0.7 series release with current state
- [ ] update setup.cfg into setup.py with buildtools
- [ ] splitting into modules (DIC, rpi, label, others?), what's in the "main" module? Look at napari for module example
- [ ] investigate GMSH to replace CGAL in label
- [ ] windows pip build on EPFL XaaS?v1https://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/153spam-mmr wishlist2022-12-14T11:47:34+01:00Edward Andòspam-mmr wishlist* [x] In the joint histogram fitting, the height of the gaussian fit is currently named (global) "Phi", which is confusing
* [x] Tutorial (in progress)
* [x] Function documentation in correlateGM.py for `gaussianMixtureParameters()`
* [x...* [x] In the joint histogram fitting, the height of the gaussian fit is currently named (global) "Phi", which is confusing
* [x] Tutorial (in progress)
* [x] Function documentation in correlateGM.py for `gaussianMixtureParameters()`
* [x] Function documentation in correlateGM.py for `phaseDiagram()`
* [x] Be explicit about where gradients are calculated and whether they are updated or not
* [x] Verbose mode for `gaussianMixtureParameters()`
* [ ] Add spam-mmr script test.
* [x] Make print in iteration in `multimodalRegistration()` the same (with pbar) as `register()` (line ~490)
* [x] Add -tsv output to `spam-mmr` script
* [x] Fix up the tremendously broken mmr example [here](https://ttk.gricad-pages.univ-grenoble-alpes.fr/spam/spam_examples/DIC/plot_multiModalRegistration.html#sphx-glr-spam-examples-dic-plot-multimodalregistration-py)v1Alessandro TengattiniAlessandro Tengattinihttps://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/241File format2022-12-14T11:38:54+01:00Emmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frFile formatHDF5 vs zarr
Zarr is too young for now... postponed to v2 or v1.somethingHDF5 vs zarr
Zarr is too young for now... postponed to v2 or v1.somethingv2https://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/245Latex/math in with matplotlib2023-02-21T12:14:53+01:00Emmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frLatex/math in with matplotlibWith new versions of matplotlib use of math/latex seems to break things.
Example here: https://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/blob/0e27b371dcc66e319ff7afebea301f5044b62365/tools/label/label.py#L2042
/cc @andoWith new versions of matplotlib use of math/latex seems to break things.
Example here: https://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/blob/0e27b371dcc66e319ff7afebea301f5044b62365/tools/label/label.py#L2042
/cc @andohttps://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/244Order 2 interpolation for the projection2023-01-26T15:01:43+01:00Emmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frOrder 2 interpolation for the projectionWorkon on branch `projection-order2`
TODO:
- [x] Implement order 2
- [ ] Clean up the tests
- [ ] project directly on FE mesh
- [ ] remove field from crpacking
- [ ] output objects from crpacking
- [ ] add objects in projmorpho...Workon on branch `projection-order2`
TODO:
- [x] Implement order 2
- [ ] Clean up the tests
- [ ] project directly on FE mesh
- [ ] remove field from crpacking
- [ ] output objects from crpacking
- [ ] add objects in projmorpho
- [ ] Implement vector direction imposition instead of facet continuity for objectsEmmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frEmmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frhttps://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/237check if multiprocess still work2022-12-14T11:09:34+01:00Emmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frcheck if multiprocess still workTo follow pep8 we've changed back the import order from
```python
import spam.deformation
import spam.DIC
import spam.helpers
import spam.label
import os
os.environ["OPENBLAS_NUM_THREADS"] = "1"
import argparse
import multiprocessing
...To follow pep8 we've changed back the import order from
```python
import spam.deformation
import spam.DIC
import spam.helpers
import spam.label
import os
os.environ["OPENBLAS_NUM_THREADS"] = "1"
import argparse
import multiprocessing
import numpy
import progressbar
import tifffile
numpy.seterr(all="ignore")
```
to
```python
import argparse
import multiprocessing
import os
import numpy
import progressbar
import spam.deformation
import spam.DIC
import spam.helpers
import spam.label
import tifffile
os.environ["OPENBLAS_NUM_THREADS"] = "1"
numpy.seterr(all="ignore")
```
From what we've tested the multi process is still working fine but from what @stamatio remember it was causing an issue.
@ando you might want to check on your end that everything is working fine.
scripts:
spam-ddic
- [ ] spam-deformImage
- [ ] spam-discreteStrain
- [ ] spam-filterPhiField
- [ ] spam-gdic
- [ ] spam-moveLabels
- [ ] spam-regularStrain
it might be a version thing though...Edward AndòEdward Andòhttps://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/235Spam.plotting.orientationPlotter.plotSphericalHistogram2022-12-02T11:38:45+01:00EXT Xiaomin LiangSpam.plotting.orientationPlotter.plotSphericalHistogramQuestion 1: Based on OSX system, and installing spam into Anaconda with package on conda-forge, when trying totally the same Orientations toolkit examples (Spam.plotting.orientationPlotter.plotSphericalHistogram) on the website-https://t...Question 1: Based on OSX system, and installing spam into Anaconda with package on conda-forge, when trying totally the same Orientations toolkit examples (Spam.plotting.orientationPlotter.plotSphericalHistogram) on the website-https://ttk.gricad-pages.univ-grenoble-alpes.fr/spam/spam_examples/orientations, an error "verts must be a list of (N,3) array-like " will appear.
Question 2: There are so so many (1,0,0) vectors with small "intervoxel position for PCA" values(0 or 1 or 3 or 4...) in contact orientation list calculated by 'RW', I don't know if this phenomenon is normal or not, maybe the segmentation or contactinglabelRefined is not good...https://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/232Installing into miniconda with conda-forge2022-12-02T05:38:21+01:00EXT FanbaoInstalling into miniconda with conda-forgeI'm trying to install SPAM via installing into miniconda with conda-forge section.
When I run "mamba install spam", Errors (
"Pinned packages:
- python 3.9.*
Could not solve for environment specs
Encountered problems while solving:
...I'm trying to install SPAM via installing into miniconda with conda-forge section.
When I run "mamba install spam", Errors (
"Pinned packages:
- python 3.9.*
Could not solve for environment specs
Encountered problems while solving:
- nothing provides requested spam
The environment can't be solved, aborting the operation__
")
appears after "conda-forge/noarch".
By the way, I don't know whether this issue is related to python version (3.9) or macbookpro edition (M1 pro).
Look forward to your reply.https://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/230RandomFieldsUtils compilation flag2022-10-19T10:22:14+02:00Emmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frRandomFieldsUtils compilation flagWith `r-cran-randomfieldsutils` version 1.1 there is a compilation flag error.
MonkeyPatch: add `install="no"` in `RFoptions` in https://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/blob/master/tools/excursions/randomFields.py#L176
...With `r-cran-randomfieldsutils` version 1.1 there is a compilation flag error.
MonkeyPatch: add `install="no"` in `RFoptions` in https://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/blob/master/tools/excursions/randomFields.py#L176
But it gives lower performances.
TODO:
- [ ] Wait and hope for a fix in newer versions of `r-cran-randomfieldsutils`
- [ ] Display a warning message as long as `install="no"` is enforcedEXT ColliatEXT Colliathttps://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/229Warn about RS=1 presence in TSV file in `spam-regularStrain`2022-08-26T09:48:42+02:00Edward AndòWarn about RS=1 presence in TSV file in `spam-regularStrain`It's really annoying to not take filtered points into account...
If the default RST=2 is to stay, then maybe count RS=1 points and warn that they'll be ignored?It's really annoying to not take filtered points into account...
If the default RST=2 is to stay, then maybe count RS=1 points and warn that they'll be ignored?Edward AndòEdward Andòhttps://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/227Version 1 requirements2022-12-14T12:55:19+01:00Edward AndòVersion 1 requirements- [ ] Repackaging spam
- [x] python 3.10, python 3.11 checks and build, drop 3.6 (as per https://en.wikipedia.org/wiki/History_of_Python)
- [ ] Last 0.7 series release with current state
- [ ] update setup.cfg into setup.py with bu...- [ ] Repackaging spam
- [x] python 3.10, python 3.11 checks and build, drop 3.6 (as per https://en.wikipedia.org/wiki/History_of_Python)
- [ ] Last 0.7 series release with current state
- [ ] update setup.cfg into setup.py with buildtools
- [ ] splitting into modules (DIC, rpi, label, others?), what's in the "main" module? Look at napari for module example
- [ ] investigate GMSH to replace CGAL in label
- [ ] windows pip build on EPFL XaaS?
- [ ] Rebranding
- [ ] getting development out of here and into spam.gitlab
- [ ] news docs, news, chatting integration (and fwd from this link)
- [ ] register new website -- and decide it
- [ ] DIC vs DVC ??? spam.correlation spam.imageCorrelation ?
- [ ] check out doc of all functions for wrong formating (return values code-blocks)
- [ ] Communication
- [ ] New paper (the JOSS will have the wrong URL)
- [ ] Global paper comparing to Mendoza configuration
- [ ] Make a flyer/poster for spam
- [ ] Development
- [ ] Global DVC beta release roadmap
- [ ] Make some tests
- [x] User script
- [ ] Tutorial
- [ ] Merge to main and push to pip (beta warning)
- [ ] Global DVC improvements
- [ ] cylindrical mesh, no Newmann
- [ ] Imposition of loads in the mechanical regularisation
- [ ] Optimization
- [ ] Profiling performance and memory usage vs input images
- [ ] Speed iup with CPP
- [ ] Better memory management for the multiple matrices
- [x] parallelise tet label??
- [ ] Think of a way to only load sub images (HDF5)
- [x] HDF5 (next version)
- [x] tests to use sub images
- [x] generally where can we usefully use HDF5 in and out for the imaging scripts?
- [x] Tutorial for NX registration, plus answering #222 #219
- [ ] rename "tools" to "spam"
- [ ] Critically look at `spam.label` in light of 3D version of regionprops from skimage
- [ ] Also the spam.label.covertLabelToFloat (ask Mallory)
- [ ] Workflow
- [ ] pre-commit (doc for devs)
- [ ] pep8
- [ ] lock master branch
- [ ] snippets to remember the workflow (feature branch update / merge requests...)
- [ ] move to gitlab.com
- [ ] variable/function/class/keys name convention written in the doc (and enforced in the code)
- [ ] use milestones instead of this kind of lists
- [ ] Funding
- [ ] Chan Zuckerberg
- [x] ORD initiatives
- [ ] PSI?Emmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frEmmanuel Roubinemmanuel.roubin@univ-grenoble-alpes.frhttps://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/222Crazy RAM Usage of mmr-graphical when using bigger files2022-07-19T10:41:41+02:00EXT Erik LubkeCrazy RAM Usage of mmr-graphical when using bigger filesI am currently trying to align some bigger files using spam-mmr-graphical.
Unfortunately however, the RAM usage prevents me from running the script at bin 1. Aligning two 2.4 GB scans (2048x2048x622) uses >210GB of RAM. I don't know the...I am currently trying to align some bigger files using spam-mmr-graphical.
Unfortunately however, the RAM usage prevents me from running the script at bin 1. Aligning two 2.4 GB scans (2048x2048x622) uses >210GB of RAM. I don't know the exact number because the process got killed at that point.
One time it actually passed an error message but it only prints `killed` most of the time:
`Memory Error: Unable to allocate 18.9 GiB for an array with shape (2541907728,) and data type int64`
Is there any way to reduce the required RAM besides running at lower binning or splitting the images to smaller pieces?
Spam-mmr requires less RAM but is not useful in the current form in my case because I need to select phases manually / combine certain neighboring peaks in the joint histogram.
Also, spam-mmr misses maxima in the joint histogram on the edge due to the exclude_border tag not being included for skimage.
Compare `skimage.feature.peak_local_max(self.hist, min_distance=minDistance, num_peaks=self.nbMaxPeakSlider.value(), exclude_border=excludeBorder)` of spam-mmr-graphical
with
`maxima = skimage.feature.peak_local_max(p, min_distance=int(distanceMaxima))` of spam-mmrhttps://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/219Error in loading binning from .tsv with spam-mmr-graphical2022-07-19T10:41:41+02:00EXT Erik LubkeError in loading binning from .tsv with spam-mmr-graphicalI recently noticed that there is something going wrong when loading .tsv files produced by spam-mmr-graphical.
If you finish running spam-mmr-graphical at binning x it saves phi as a .tsv file.
However, when loading this .tsv file for t...I recently noticed that there is something going wrong when loading .tsv files produced by spam-mmr-graphical.
If you finish running spam-mmr-graphical at binning x it saves phi as a .tsv file.
However, when loading this .tsv file for the next step with less binning it misalignes the image heavily during the Eye registration step.
This can be fixed by manually adjusting the value for "binnning" in the .tsv file from x to 1. Then it loads the file correctly and the image is prealigned as intended.https://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/217create a general tsv/vtk/tiff writer for all spam scripts2021-10-12T13:42:26+02:00Olga Stamaticreate a general tsv/vtk/tiff writer for all spam scriptscurrently similar lines of code appear in the end of each scriptcurrently similar lines of code appear in the end of each scripthttps://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/211`spam-reg` when mask is passed save the registration .tsv file at the COM of ...2021-06-16T14:58:18+02:00Olga Stamati`spam-reg` when mask is passed save the registration .tsv file at the COM of the maskcurrently it is saved in the centre of the imagecurrently it is saved in the centre of the imagehttps://gricad-gitlab.univ-grenoble-alpes.fr/ttk/spam/-/issues/209`spam-filterPhiField` add return status in VTK output2021-06-03T18:22:49+02:00Olga Stamati`spam-filterPhiField` add return status in VTK output