Thursday, October 11, 2018

Filtering



References:
[1] http://cattedraledigitale.isti.cnr.it
      2012 Bilateral filters https://onlinelibrary.wiley.com/doi/full/10.1111/j.1467-8659.2011.02078.x

[2] http://files.is.tue.mpg.de/pgehler/assets/publications/jampani16learning/jampani16learning.pdf
[3] https://zapdf.com/fast-high-dimensional-filtering-using-clustering.html


[6] http://www.inf.ufrgs.br/~oliveira/students_dissertations/PhD/Eduardo_Gastal_PhD_Dissertation.pdf
[7] https://is.tuebingen.mpg.de/uploads_file/attachment/attachment/259/0766_cameraready.pdf
[8] http://www.scitepress.org/Papers/2016/57151/57151.pdf
[9] http://vision.ai.illinois.edu/publications/yangijcv2015.pdf
http://openaccess.thecvf.com/content_cvpr_2018/papers/Wu_Fast_End-to-End_Trainable_CVPR_2018_paper.pdf
http://perso.ensta-paristech.fr/~manzaner/Publis/icpr10.pdf
http://www.cs.cityu.edu.hk/~rynson/papers/tcsvt16a.pdf
https://arxiv.org/pdf/1505.00077.pdf
https://fukushima.web.nitech.ac.jp/paper/2016_visapp_fujita.pdf
http://www.riken.jp/brict/Yoshizawa/Papers/cgf09yby.pdf

High-dimensional integration without Markov chains, Alexander gray
https://www.cs.ubc.ca/~nando/nipsfast/slides/high.pdf

Fast edge-preserving/-aware high dimensional filters for image & video processing https://www.slideshare.net/yuhuang/fast-edge-preservingaware-high-dimensional-filters-for-image-video-processing

 

Aditional
[1] Parallel methods for Numeric Analysis http://adl.stanford.edu/cme342/Home.html
[2] Fast Multipole Methods https://www.math.uci.edu/~chenlong/MathPKU/FMMsimple.pdf

Resources
[1] ImageStack https://code.google.com/archive/p/imagestack/
                          https://github.com/abadams/imagestack
[2] RGBD Utils, use ImageStack https://github.com/s-gupta/rgbdutils

[3] Recursive bilateral filtering  https://github.com/ufoym/RecursiveBF
    ./rbf girl_out.bmp girl.bmp 0.1 0.04
    file https://media.macphun.com/img/uploads/uploads/macphun/noiseless/nl_slider_1_b.jpg
[4] Bilateral grid http://groups.csail.mit.edu/graphics/bilagrid/
[5] Bilateral upsampling http://people.csail.mit.edu/jiawen/

Python tools
[1] ndimage 3D convolution https://docs.scipy.org/doc/scipy-0.16.0/reference/ndimage.html


Monday, September 24, 2018

opengl compile error

Compiling Collisions, quadtrees, uniform grid.

https://github.com/MarcusMathiassen/P2D

$g++ Circle.cpp getTime64.cpp Process.cpp Utility.cpp Color.cpp      hwinfo.cpp Inputs.cpp Quadtree.cpp  Vec2.cpp Config.cpp main.cpp Rect.cpp FixedGrid.cpp Node.cpp Render.cpp -I ../include/  -lGL -lglut -lGLU -lGLEW -lpthread -lX11 -lglfw  -o q5


error while loading shared libraries: libGLEW.so.2.1: cannot open shared object file: No such file or directory

$sudo apt-get install libglew-dev
$locate libGLEW.so.2.1
...
/usr/lib64/libGLEW.so.2.1.0
/usr/local/lib/libGLEW.so.2.1
/usr/local/lib/libGLEW.so.2.1.0
...
...

sudo vi /etc/ld.so.conf.d/glew.conf
/usr/local/lib

$sudo ldconfig

Resources:
[1] https://sourceforge.net/projects/glew/files/glew/snapshots/

Friday, September 14, 2018

3D Models & tools


1) Open .obj 3D format

view3dscene
$sudo apt-get install view3dscene

meshlab - System for processing and editing triangular meshes
$sudo apt-get install meshlab

g3dviewer
$sudo apt-get install  g3dviewer

Other tools

  1. glc_player which is said to read-and-show '.3ds', '.obj', '.stl', '.off', '.3dxml', and Collada ('.dae') files
  2. g3dviewer which is said to read-and-show '.3ds', '.lwo', '.obj', '.dxf', '.md2', '.md3', '.wrl', '.vrml', '.dae' (COLLADA), '.ase' (ASCII Scene Exporter), '.ac' (AC3D)
  3. ivview which reads-and-shows '.iv' and VRML1 files
  4. paraview which reads-and-shows '.ply' and '.vt*' files
  5. varicad-view which reads-and-shows '.dwg' (2D), '.dxf' (2D only?), '.igs' (maybe?), '.stp' (3D) files 
  6. wings3d - Nendo-inspired 3D polygon mesh modeller (legacy)
  7. gmsh - Three-dimensional finite element mesh generator
  8. libadmesh-dev - Tool for processing triangulated solid meshes.
  9. libgmsh-dev - Three-dimensional finite element mesh generator.
  10. libmadlib-dev - mesh adaptation library
  11. libnglib-dev - Automatic 3d tetrahedral mesh generator development files
  12. libscotch-dev - programs and libraries for graph, mesh and hypergraph partitioning
  13. netgen - Automatic 3d tetrahedral mesh generator
  14. libtriangle-dev - High-quality 2-D mesh generator development files
Resources
 [1] mview http://mview.sourceforge.net/

Models
  [1] .max, .obj, blender, etc. www.turbosquid.com
  [1] http://tf3dm.com/

Thursday, September 13, 2018

Python extending functions from C/C++



References
[1] https://docs.python.org/3/library/ctypes.html

https://cython.readthedocs.io/en/latest/src/tutorial/cython_tutorial.html
https://opensourceforu.com/2010/05/extending-python-via-shared-libraries/
https://en.wikibooks.org/wiki/Python_Programming/Extending_with_C%2B%2B


Friday, September 07, 2018

Linear Regresion



[1] Regresion linear http://onlinestatbook.com/2/regression/intro.html
[2] https://towardsdatascience.com/linear-regression-with-example-8daf6205bd49


Wednesday, September 05, 2018

pip3 ImportError: cannot import name 'main'


In linux you need to change the file: /usr/bin/pip3 from:
 
from pip import main
if __name__ == '__main__':
    sys.exit(main())

to:

from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())
 
 

Monday, September 03, 2018

c++ realloc references



https://en.cppreference.com/w/c/memory/realloc
https://www.tutorialspoint.com/c_standard_library/c_function_realloc.htm

Thursday, August 30, 2018

Linux: mount folder to different folders

Code:
mount -o bind /media/disk1/pictures /home/user1/pictures
mount -o bind /media/disk1/pictures /home/user2/pictures
for add a fstab entry to auto-mount at startup.


Code:
/media/disk1/pictures /home/add1cker/pictures none defaults,bind 0 0

Sunday, August 26, 2018

Tuesday, August 21, 2018

Raspberry pi 3


1) user and passwords:
Distribution   | Username   | Password
---------------|------------|-------------
Debian Squeeze | pi         | raspberry
Arch           | root       | root
QtonPi         | root       | rootme
Raspbian       | pi         | raspberry
OpenElec       | root       | openelec
Pidora         | root       | raspberrypi
RISC OS        | n/a        | n/a
raspbmc        | pi         | raspberry
 
2) add users

$sudo adduser username
$usermod -aG sudo username
 
3) Ports
 
$lsof -nP -i | grep LISTEN
$netstat -tlpn | grep LISTEN
 
4) vncserver (reinstall, by default sometime doesn't works)
$sudo apt-get install tightvncserver 

5) Firewalls

iptables -I INPUT -p tcp --dport 5900 -j ACCEPT
iptables -I INPUT -p tcp --dport 5901 -j ACCEPT

Resources:
[1] https://www.digitalocean.com/community/tutorials/how-to-create-a-sudo-user-on-ubuntu-quickstart
[2] direct way https://www.shellhacks.com/how-to-grant-root-access-user-root-privileges-linux/
[3] vncserver https://quaintproject.wordpress.com/2013/03/24/establish-a-vnc-connection-to-your-raspberry-pi-from-a-linux-pc/
 
 
 

Thursday, August 16, 2018

Optimize code C/C++

If you are using linux: use getchar_unlocked() and putchar_unlocked() for taking fast single character I/O.
In Windows the equivalent is getchar() and puchar() repectively



Resources:
[1] fast input/output https://ideone.com/BrsDz4


Enteprise solutions:
[1] http://www.fastformat.org/

Running apps

Runtastic (I uninstalled because force to update your device - Internet connection problems) Runkeeper  (Wrong GPS tracking) Strava   (Curr...