Skip to content

Instantly share code, notes, and snippets.

View ialhashim's full-sized avatar

Ibraheem Alhashim ialhashim

View GitHub Profile
from joblib import Parallel, delayed
import numpy as np
from skimage.transform import resize
files = list(data.keys())[1:]
def coords(filename):
filename = filename.replace('11_1024/', '').replace('.jpg', '').replace('11_', '')
filename = filename.replace('[','').replace(']','').split('_')
@ialhashim
ialhashim / fill_depth_colorization.py
Last active September 2, 2025 06:34
Python implementation of depth filling from NYU Depth v2 toolbox
# Original Matlab code https://cs.nyu.edu/~silberman/datasets/nyu_depth_v2.html
#
#
# Python port of depth filling code from NYU toolbox
# Speed needs to be improved
#
# Uses 'pypardiso' solver
#
import scipy
import skimage
@ialhashim
ialhashim / screencapture.cpp
Last active July 4, 2025 09:41
Portable screen capture using C++ under Windows 10 (or 8)
#include "screengrab.h"
void capture()
{
CComPtr<ID3D11Device> pDevice;
CComPtr<IDXGIOutputDuplication> pDeskDupl;
//(...)create devices and duplication interface etc here..
DXGI_OUTDUPL_DESC OutputDuplDesc;
@ialhashim
ialhashim / download_earth_images.py
Created May 24, 2018 09:22
Download the Earth from World Imagery (Esri)
import subprocess
import pathlib
# Source
map_server = 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/'
# Output directory
outdir = 'images/'
pathlib.Path(outdir).mkdir(parents=True, exist_ok=True)
@ialhashim
ialhashim / woocomerece_wpml.php
Created December 28, 2016 00:11
WooCommerce Multilingual Create Products
// Product in default language
{
global $sitepress;
$sitepress->switch_lang('en');
// Add the product (a post of type 'product')
$post_id = wp_insert_post($post_data);
// Attach media to it
set_post_thumbnail( $post_id, get_post_id_by_title( $code, 'attachment' ) );
@ialhashim
ialhashim / shine.css
Created November 1, 2016 09:31
Shine effect
@keyframes shine{
0% {background-position: top left;}
50% {background-position: top right;}
100% {
background-position: top right;
background: #e91e63;
-webkit-background-clip: text;
}
}
@ialhashim
ialhashim / DivergingColorMaps.hpp
Last active December 31, 2019 06:19
C++ code for a color map based on work by Kenneth Moreland
// Color map based on work by Kenneth Moreland: http://www.sandia.gov/~kmorel/documents/ColorMaps/
#pragma once
#include <QVector> // or use std::vector
inline std::vector< std::vector<double> > makeColorMap()
{
QVector<int> colorArray;
colorArray <<59<<76<<192<<60<<78<<194<<61<<80<<195<<62<<81<<197<<
63<<83<<198<<64<<85<<200<<66<<87<<201<<67<<88<<203<<68<<90<<204<<
69<<92<<206<<70<<93<<207<<71<<95<<209<<73<<97<<210<<74<<99<<211<<
@ialhashim
ialhashim / LABP.hpp
Created August 29, 2015 06:30
Linear Angle Based Parameterization
#pragma once
// Linear angle based parameterization SGP '07 - c++ code
// Based on code by Rhaleb Zayer
#include "SurfaceMeshModel.h"
#include "SurfaceMeshHelper.h"
using namespace SurfaceMesh;
#include <Eigen/Core>
@ialhashim
ialhashim / gist:f99ffdfaa60caeafc070
Created August 27, 2015 20:27
Get JSON format 3D model
Query:
https://3dwarehouse.sketchup.com/search.html?q=chair
Extract subjectIDs
Then:
https://3dwarehouse.sketchup.com/warehouse/getbinary?subjectId=XXXXXXXX&subjectClass=entity&cache=1440704568191&name=skj
struct DisjointStrings{
DisjointStrings(QVector < QPair<QString, QString> > pairings = QVector < QPair<QString, QString> >()){
if (pairings.empty()) return;
QSet<QString> all_nodes;
for (auto p : pairings) { all_nodes << p.first; all_nodes << p.second; }
DisjointSet U(all_nodes.size());
QMap < QString, int > node_idx;
QMap < int, QString > idx_node;
for (auto n : all_nodes) { node_idx[n] = node_idx.size(); idx_node[node_idx[n]] = n; }