Skip to content

Instantly share code, notes, and snippets.

View ninjakx's full-sized avatar
🎯
Focusing

Kriti ninjakx

🎯
Focusing
View GitHub Profile
/* File knn.h */
#ifndef KNN_H
#define KNN_H
#include <stdio.h>
#include <vector>
#include <map>
/* Define function prototype */
std::map<int,std::vector<int> > distance_knn(const double* array,int m, int n);
std::vector<int> argsort(double* input_list, int length);
double edist(double* arr1, double* arr2, int n);
rm *.o myknn_wrap.cpp _myknn.so myknn.py
rm -rf __pycache__
g++ -O3 -march=native -fPIC -c myknn.cpp
# Invoke SWIG on the interface file 'knn.i' to produce C/C++ wrapper
# code ('knn_wrap.cpp'):
swig -python -c++ -o myknn_wrap.cpp myknn.i
from myknn import distance_knn
%%time
c = distance_knn(arr)
@ninjakx
ninjakx / hsv_masking.py
Created September 11, 2019 18:32
To do HSV masking with interactive control.
%%capture
%matplotlib inline
from ipywidgets import interact, widgets
from IPython.display import display
import cv2
from scipy import misc
import matplotlib.pyplot as plt
import numpy as np
def f(lower_H, lower_S, lower_V, upper_H, upper_S, upper_V, **kwargs):
@ninjakx
ninjakx / split_and_merge.py
Created November 14, 2019 09:48
splitting image and merge them
import numpy as np
import matplotlib.pyplot as plt
# https://stackoverflow.com/a/55176783/6660373
# 20x20 image
img = im#np.random.randint(0,9,(512,512))
# List of 4 5x20 image slices
sliced = np.split(img,4,axis=0)
@ninjakx
ninjakx / .block
Last active April 13, 2020 06:15
dashboard_dc
license: mit
@ninjakx
ninjakx / .block
Last active June 14, 2020 13:33
two range slider
license: mit
@ninjakx
ninjakx / .block
Last active April 15, 2020 12:52
dc_table
license: mit
@ninjakx
ninjakx / .block
Last active April 13, 2020 07:12
range_bar_chart
license: mit
@ninjakx
ninjakx / .block
Last active April 16, 2020 09:15
dc_table_copy
license: mit