Skip to content

TODO list

Julien Tierny edited this page Sep 20, 2024 · 101 revisions

Continuous integration

  • update hashes for ttk-data python scripts
  • make a special case for pvbatch (for mpiExample.py), paths may need to be adjusted to include the path to the installed mpi library (see the ttk-paraview-headless build logs)
  • several examples are buggy when TTK is built with MPI (merge tree examples, ms-quadrangulation)

Features

  • rotated morse-smale complex computations
  • move lts backend switch to the base API
  • arbitrary cell-complex API
  • remove the triangulation container
  • arbitrary dimension
  • pandas reader and writer
  • hyperbolic embedding for planar trees (ttkPlanarGraphLayout)
  • various state files (multi-scale mapper)
  • High dimensional simplicial complexes (generic support d > 3)
  • Improve multiple input handling
  • TTK_ENABLE_OPENMP_1, TTK_ENABLE_OPENMP_LATEST (to enable at least openmp 1 calls on Windows)

Fixes

  • fix restriction on vtu for topological simplification?
  • topological simplification upon image resampling
  • fix double-templating (check for VTKIDTYPE)
  • fix things in 1D
  • fix 64bit ids

DONE

Packaging (cpack)

  • ubuntu lts + centos
      • windows + macos?
  • ttk-optional.{deb, rpm} (optional deps: zfp, spectra)
  • ttk-paraview.{deb, rpm} (branded paraview with ttk examples)
  • ttk.{deb, rpm} (ttk, ttk-vtk, paraview plugins)
  • @pierre-guillou

OpenMP

  • enable openmp 1.0 on windows (now using clang-cl)
  • @CharlesGueunet
  • investigate parallelism in separatrix construction (MSC) @pierre-guillou

Internal API migrations

  • debug API (in progress)
  • algorithm API (in progress)
  • triangulation API (in progress)
    • see Blank for an example
    • [DONE] make a PeriodicGrid filter in paraview to turn on/off periodicity
    • Implicit preconditioning
      • port to periodic grids
      • caching
    • transport management, to double check with @JonasLukasczyk
    • case tables for implicit and periodic (need preconditioning), see Jules @pierre-guillou
  • [DONE] AOS VS SOA:
    • migrate to tkUtils::GetVoidPointer() and ttkUtils::WritePointer() (see PR #328)
  • memory leaks (no new, VTK_DEBUB_LEAKS)
  • remove periodicity flag if any (generic support now provided by PeriodicGrid)
  • common comperator (based on a sort) to mutualize (and speedup) the multiple SoS implementations

Documentation

  • update CONTRIBUTING.md (PRs to dev branch, check KAMIKAZE)
  • wait for 0.9.9 release before updating the website
  • notify ttk-dev with edits to installation procedure

Python API [DONE]

  • investigate multiple inheritance issue
    • HIGH PRIORITY confirm this is indeed the issue @pierre-guillou
    • if confirmed, workaround multiple inheritance by having a base class registry in ttkAlgorithm
    • NOTE: BEFORE migrating to the new ttkAlgorithm API
  • @CharlesGueunet & @pierre-guillou

TTK christmas hackathon 2019

  • [DONE] new debug API:

    • change function names (start lower case)
  • discuss new API:

    • [DONE] put the "Use all available cores again" [JONAS]
    • [DONE] separate setupTriangulation and execute
    • [DONE, other module] helloworld example showcase setvoidpointer to avoid data copy (not copy) [JONAS]
    • [DONE] XML automatic generation for general features (Debug, ThreadNumber, etc)
  • templating by triangulation type

    • [DONE] move preconditioning check to dedicated function in the AbstractTriangulationClass, to be called from all child classes in KAMIKAZE MODE [JULIEN, WIP]
    • [DONE] macro for triangulation templating (ttkTriangulationMacro, ttkTriangulationMacro1, ttkTriangulationMacro2 reimplemented from vtkTemplateMacro) [JULIEN & JONAS]
    • [DONE] templatize base classes by triangulation type (avoids low level check for explicitness, see ttk-dev). marginal gain for vti (if any), about 20% for vtu. [start with blank module, replicate for all others]
    • [TODO] propagate
  • generic boundary periodic conditions

    • [TODO] ttk module for turning a vtkImageData into a periodic grid (that would turn the triangulation flag on)
  • default installation path for paraview plugin (in CMAKE_INSTALL_PREFIX)?

    • [TODO] @CharlesGueunet
  • triangulation transport management (current method, registry)

    • [TODO] Checks
  • switch to ttkAlgorithm API

    • [TODO] migrate

ParaView 5.9

  • switch to standard iterators instead of void pointers
    • HIGH PRIORITY fix this before moving on to the new ttkAlgorithm API
    • MIGRATE all modules to the temporary ttkUtils::GetVoidPointer() and ttkUtils::WritePointer() implementations
  • [DONE] default installation path for paraview plugin (in CMAKE_INSTALL_PREFIX)?
  • @CharlesGueunet

Continuous integration with azur

  • launch ttk-data statefiles, make screenshots and make them available for visual check @CharlesGueunet