Giter Site home page Giter Site logo

J.T.M Campbell's Projects

3dprintedfiberopticlightguides icon 3dprintedfiberopticlightguides

A collection of 3D-printable fiber optic light guides as showcased in this video on my YouTube Channel:https://www.youtube.com/watch?v=xMJ_5PfM0fU

cern-root-feynman-digrams icon cern-root-feynman-digrams

A series of C codes that run on CERN ROOT's platform. These codes are useful for generating physics equations, diagrams and plots which have a similar syntax to such attributes used in word processors such as LaTex.

drone-image-editing-in-python-coding-repository icon drone-image-editing-in-python-coding-repository

A selection of custom developed python codes for use in various drone imaging applications, such as batch conversion of DNG (RAW) drone images to JPEG or PNG, use of the rawpy library features of demosaicing, gamma factor correction and use of skimage library to demonstrate histogram histogram equalization in colour images to create better contrast and depth. This repository also increases coding developed for use in generating panorama composite images both in JPG and DNG format, a very useful technique in high definition aerial imagery and makes use of the SIFT algorithm in Python's OpenCV image stitcher function. These codes are open for use in educational and demonstration uses and for non-profit organisations.

drone_archaeology icon drone_archaeology

Coding used to process drone-captured Near-Infrared Images into Normalised Differential Vegetation Index (NDVI) greyscale images which are then further processed using both a segmentation of ndvi around the tomb region followed by a contour overlay in the perimeter of the tombs. Version 2 uses a standard contour, Version 4 is an attempt, with limited success, to overlay feature boxes over the tomb images with the intent to extend the code into more automated feature detection. Updates to this last step will be ongoing.

fractals_using_random_numbers icon fractals_using_random_numbers

Codes demonstrating the difference between fractals generated using determinacy and fractals generated using indeterminacy in order to show how the change of certain static variables into random ones allows for more organic, but nevertheless self-similar, features to form from what would otherwise be standard, repeating patterns. This work is part of a larger branch of research into using true random number generators, such as quantum RNGs, to produce truly random fractal patterns that can simulate nature.

image-videosegmentationinnirforplantdetection icon image-videosegmentationinnirforplantdetection

Thresholding Image/Video Segmentation for NIR+NDVI for Plant Detection - a simple but effective method that uses the NIR reflectance of plants with active thresholding of the red channel to focus only on the plants in an image or video

image_denoising_with_rof_algorithm icon image_denoising_with_rof_algorithm

The total variation denoising method, proposed by Rudin, Osher and Fatermi, circa 1992, is a PDE-based algorithm for edge-preserving noise removal. The ROF denoising algorithm is based on the partial differential of total variation of an image such that by finding a good appoximation of the local minima of the PD of the total variation value we can find that the total noise in the image will also be in a local minima. Unlike a conventional low-pass filter, TV denoising is defined in terms of an optimization problem. In effect the output of the TV denoising 'filter' is obtained by minimizing a particular bounded cost function. Total variation itself is a measure of the complexity of an image with respect to its spatial variation, usually an integral of the greyscale gradient across the rectangular image domain.

koala icon koala

A quantum system simulator using PEPS tensor network

matlabndvi icon matlabndvi

MATLAB Program that takes images acquired using a Near-Infrared (NIR) converted camera and generates a modified Normalized Differential Vegetation Index (NDVI). There are 2 versions: A Standalone version for JPEG Files and 2 Codes (a main and function file) version for DNG (RAW) file format. These versions are useful for NIR Drone Imaging to generate NDVI.

mulab-project icon mulab-project

Opensource Microfluidic 3D Printed Lab-on-a-Chip (LOAC) Technology As seen on 3D Print.com https://3dprint.com/138681/3d-printing-a-lab-on-a-chip/

muon_cherenkov_simulation_cern_root icon muon_cherenkov_simulation_cern_root

J Cambell-Summer 2011- Monte Carlo Simulation of Muon Trajectory Through the atmosphere. This code simulates the trajectory of the muon only and prints out the solid angle data for the muons. used to simulate the photons the Frank-Tamm Equation and photon transport using the Monte Carlo Method in a detector region. Written in CERN ROOT C/C++ (CINT)

nirtifs icon nirtifs

A Collection of Near-Infrared TIF files for use in QGIS NDVI Processing Codes for testing.

pyramid_hologram_display_files icon pyramid_hologram_display_files

APK files for use in a Android Smartphone in this kind of optical illusion: https://www.youtube.com/watch?v=s4FehKoPEgs and here: https://www.youtube.com/watch?v=5PrK-y1Eaqo , called "Pepper's Ghost" after John Henry Pepper who who popularized the effect in a famed demonstration in 1862. However this optical illusion was actually invented much earlier, by the Italian polymath and original Renaissance man Giambattista della Porta in 1584, and is undergoing a bit of a revival in our own screen-dominated culture, with many people making it themselves often out of ordinary clear plastic! Although "hologram" is often found in the title of these kinds of display systems - they technically have no holographic qualities. A hologram refers to a specific medium that stores image data through a laser, a holographic substrate, (such as a photographic film or plate), and an interference pattern. Pepper's Ghost uses a much simpler technique that merely reflects an image off of a surface to create an illusion of a 3D object floating in physical space. In my version, I have decided to spray the pyramid with some SiO2 nanoparticles in solution to reduce fogging on the plastic. What makes it work however is the 4-way images on the phone or digital picture frame screen that have had brightness and contrast enhanced to counter the fact that during the reflection of light off of each side of the frame you are reducing the light intensity by 50% - hence the light intensity and contrast have to be increased by up to 50% to enhance the effect and make the effect look more than a mere reflection and appear as if the object is indeed inside the pyramid, floating in mid air. GIF images with 4-faces of an object can give a better ability to broaden the range of holographic art. Commercial digital photo frames can then be turned into holographic photo frames with this simple add-on modular device.

python_dng_drone_astrophotography icon python_dng_drone_astrophotography

A series of basic image processing codes that employ a simple image exposure stacking procedure on DNG (RAW) files taken using DJI Drones for use in Astrophotography. The codes convert all the DNGs to JPEGS in the source directory for observation. Images are typically taken using an ISO of 12800, an aperture size of 2.8 with varying shutter speed times (although with my modified Hasselblad multispectral camera I find the best results below 4s exposure time). The codes available can do summed pixel stacking, clipped pixel stacking, brightness enhanced exposure stacking and pixel averaging image stacking. These codes are experimental and are developed for comparison with the Sequator Free Astrophotography Software, with the output jpeg images usable in this software.

pythonndvi icon pythonndvi

Python coding that takes images acquired using a Near-Infrared (NIR) converted camera and generates a modified Normalized Differential Vegetation Index (NDVI). Contains standalone with colorbar legend and batch versions. ENDVI and SAVI Indexes also available and with greyscale options.

pythonscientificplotting icon pythonscientificplotting

Some Simple Scripts for plotting scientific data in Python for use in comparing spectrum characteristics between different optical filters and for examining the color spectrum histogram of RAW test images for use in developing differential indices used in remote sensing applications. http://muonray.blogspot.com/2020/06/plotting-for-scientific-and-engineering.html

qgispython icon qgispython

A Collection of Python Codes that work in QGIS (Quantum GIS) that work on Orthomosaic Maps Generated by Aerial Photogrammetry Software such as the free to use VisualSFM or commercial software DroneDeploy or PIX4D. The Goal of these codes is to create free to use classification and NDVI on orthomosaics generated using freeware or trial versions of software.

quantum-encryption-of-images-using-bitwise-xor-and-qrng icon quantum-encryption-of-images-using-bitwise-xor-and-qrng

Article here: http://muonray.blogspot.com/2022/02/quantum-encryption-of-images-in-python.html The definition of image encryption used here is an extension of data encryption in general: using the bitwise XOR operation of the original image pixels and the random key image pixels, with the key image being either a pseudo-random stream cipher or the quantum random stream cipher or anti-correlated entangled information shared over a secure channel. In either case we Perform bitwise XOR operation on the encrypted image and the key image. It can be seen from the image encryption and decryption that they are all the same operation. According to the above bitwise XOR operation, we assume: xor(a,b)=c You can get: xor(c,b)=a Or: xor(c,a)=b In summary, we assume that a is the original image data and b is the key, then c calculated by xor(a,c) is the encrypted ciphertext. This is a simple summary of the encryption and decryption process as used in the coding in this repository. Encryption process: Perform a bitwise XOR operation on the image a and the key b to complete the encryption and obtain the ciphertext c. Decryption process: Perform a bitwise XOR operation on the ciphertext c and the key b, complete the decryption, and get the image a. We can use our quantum random numbers generator in 2 ways to create our image encryption key: (1) as a random number generator seed source (2) using the random superposition of the H and V modes We can also use the shared set of correlated images, captured using the single CCD, from our entangled photon source with Alice getting one half and Bob getting the anti-correlated half. This provides the perfect key, with the quantum images shared over a separate channel hidden from the encrypted classical images. The file exchange channel is 2 way: Alice can use Her key to encrypt the image, Bob can use His key to decrypt the image OR Bob can use His key to encrypt the image, Alice can use Her key to decrypt the image. The XOR Cipher in this use can also be extended as a component in more complex overlay network ciphers if need be however for computational efficiency it is not necessary. It is just as effectual to have 1 quantum cipher as many, so in effect the system is completely hidden, by virtue of hidden variables, and is encrypted in an information condensate.

quantum_entanglement_experiments_arduino_python icon quantum_entanglement_experiments_arduino_python

A series of codes for conducting the quantum entanglement experiments as showcased on my YouTube Channel. Using a non-linear crystal made of Beta-Barium Borate (BBO) I am able to generate 2 entangled photon beams of wavelength 810nm each from a pump laser beam of 405nm which is pulsed using the Arduino and directed into the splitter. the entangled photons are in quantum superposition of the H and V modes, with the indeterminacy being a perfect 50/50 split. These are directed by beamsplitters into 2 detectors which either detect a H or V mode but never both. Whichever silicon phototransistor sensor on the arduino detects the H and which detects the V mode is purely random creating a random number source that is irreducible and thus unhackable. The random numbers generated by this scheme are a stream of integer bits. To generate purely random non-integers I use a CCD and a split mirror that directs the 2 photons into an aperture of a connected CCD microscope sensor. By splitting the image were the 2 beams of entangled photons meet and correlating the 2 images to detect random changes we can assume due to the nature of entanglment that the difference between the images must be in part due to the random fluctuations of the vacuum as the 2 entangled photons when cross-correlated should be equal but of opposite polarization. the randomness is beneath the intrinsic shot noise of the CCD sensor as quantum entangled photon streams generated in such a scheme allow for sub-shot noise imaging in holography setups. A python code for generating cross-correlated images is also available to use in this repository however it requires time to correlate across all the pixel data. this can be used as a way to produce sub-shot noise images using standard CCD microscope cameras in such a setup.

quantum_polarimetry_tomography icon quantum_polarimetry_tomography

a series of codes that performs polarimetry-based tomography on 810nm polarization entangled states generated from a BBO/ppKTP source in an optics setup involving x2 Thorlabs Polarimeters, polarization-maintaining fibers and x2 Thorlabs 3-paddle polarization controllers that can generate a full state tomography using 16 different measurement basis

quantumnetworksimulations icon quantumnetworksimulations

A series of simulation codes used to emulate quantum-like networks in the simulation of emergent adaptive behavior, such as network synchronization, and relate the nature of the coupled harmonic oscillators with non-local behavior and chimera states in systems of quantum particles. Coding Used is based on mathematical modelling of transport in quantum many-body systems and networks made tractable using the quantum newtons cradle. A full showcase of this project is discussed in the following videos:https://www.youtube.com/watch?time_continue=115&v=WX3Ds_xCOaE

quantumsynctest icon quantumsynctest

Video Here: https://www.youtube.com/watch?v=yeqVSh1_8Hk Here are the C Codes that implement an experimental Firefly synchronization metaheuristic on ATMEL chips (ATtiny85 and ATmega) for use in demonstrating, on hardware, the quantum-like, neuromorphic behavior that emerges in systems of optically coupled oscillators. The PCB board used for the ATtiny85 chiptest is available for download here: https://oshpark.com/shared_projects/d4Sdp6CL

quimb icon quimb

A python library for quantum information and many-body calculations including tensor networks.

qutip icon qutip

a collection of codes for use in simulating quantum systems, with particular attention of generating Wigner function, Density matrix and other plots to monitor the number of states as they grow in complexity and evolve over time. Of particular interest is to model many-body networks as a cavity with a designated input and output class node(s).

ultraviolet_image_python_processing_codes icon ultraviolet_image_python_processing_codes

A selection of prototype and complete codes that use custom equations of color channel leverage of images taken in the Ultraviolet using specialist filters in order to create UV absorbance and reflectance index maps in an analogy to the NDVI technique of remote sensing. It is hoped that this step opens the gate to new developments of using drones and ultraviolet photography to perform visual inspection and environmental monitoring.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.