From 0a4fa72563272b79f712a062ba8f4970128a4812 Mon Sep 17 00:00:00 2001 From: beniroquai Date: Tue, 11 Jun 2024 06:10:37 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=203e2ca?= =?UTF-8?q?0330899841c9e02896f9875293104737f33=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 4 ++-- ...tching-a37bf6fe41fd84810634297793e070d5.gif | Bin 0 -> 888369 bytes assets/js/9d871e46.04ae87ec.js | 1 + assets/js/9d871e46.455acfc6.js | 1 - ...in.264d191f.js => runtime~main.b8196658.js} | 2 +- blog/archive/index.html | 4 ++-- blog/first-blog-post/index.html | 4 ++-- blog/index.html | 4 ++-- blog/long-blog-post/index.html | 4 ++-- blog/mdx-blog-post/index.html | 4 ++-- blog/tags/docusaurus/index.html | 4 ++-- blog/tags/facebook/index.html | 4 ++-- blog/tags/hello/index.html | 4 ++-- blog/tags/hola/index.html | 4 ++-- blog/tags/index.html | 4 ++-- blog/welcome/index.html | 4 ++-- .../APIDescription/Encoder/index.html | 4 ++-- .../Electronics/APIDescription/Home/index.html | 4 ++-- .../APIDescription/INTRO/index.html | 4 ++-- .../APIDescription/LEDArray/index.html | 4 ++-- .../APIDescription/Motor/index.html | 4 ++-- .../APIDescription/PinConfig/index.html | 4 ++-- docs/Electronics/PS4-Controller/index.html | 4 ++-- .../UC2-ESP/Setup_Buildenvironment/index.html | 4 ++-- .../ESP32_Messaging_Callback/index.html | 4 ++-- .../UC2-REST/ESP32_Motor/index.html | 4 ++-- docs/Electronics/UC2-REST/INTRO/index.html | 4 ++-- docs/Electronics/uc2e1/index.html | 4 ++-- docs/Electronics/uc2e2/index.html | 4 ++-- docs/Electronics/uc2e3/index.html | 4 ++-- docs/Electronics/uc2e5.1/index.html | 4 ++-- docs/Electronics/uc2e5.2/index.html | 4 ++-- docs/Electronics/uc2e5/index.html | 4 ++-- docs/Electronics/uc2e6/index.html | 4 ++-- docs/Electronics/uc2e7/index.html | 4 ++-- docs/Electronics/uc2e8/index.html | 4 ++-- docs/Electronics/uc2e9/index.html | 4 ++-- docs/ImSwitch/DahengCamera/index.html | 4 ++-- docs/ImSwitch/ImSwitchClient/index.html | 4 ++-- docs/ImSwitch/ImSwitchConfig/index.html | 4 ++-- docs/ImSwitch/ImSwitchInstall/index.html | 4 ++-- docs/ImSwitch/ImSwitchInstallUbuntu/index.html | 4 ++-- .../ImSwitch/ImSwitchInstallWindows/index.html | 4 ++-- docs/ImSwitch/ImSwitchInstaller/index.html | 4 ++-- .../ImSwitch/ImSwitchInstallerConda/index.html | 4 ++-- docs/ImSwitch/ImSwitchUpdate/index.html | 4 ++-- docs/Investigator/FlowStopper/index.html | 4 ++-- .../Lightsheet/LightSheet Sample/index.html | 4 ++-- .../Lightsheet/LightSheet/index.html | 4 ++-- .../Lightsheet/LightSheetOld/index.html | 4 ++-- .../LightsheetCalibration/index.html | 4 ++-- docs/Investigator/STORM/Electronics/index.html | 4 ++-- .../Investigator/STORM/Illumination/index.html | 4 ++-- docs/Investigator/STORM/Main/index.html | 4 ++-- docs/Investigator/STORM/Results/index.html | 4 ++-- docs/Investigator/STORM/Software/index.html | 4 ++-- docs/Investigator/STORM/Stability/index.html | 4 ++-- .../XYZMicroscope/AlignLaser/index.html | 4 ++-- .../XYZMicroscope/FiveD_v1/index.html | 4 ++-- .../XYZMicroscope/FiveD_v2/index.html | 4 ++-- .../XYZMicroscope/FiveD_v3/index.html | 4 ++-- .../XYZMicroscope/HistoScan/index.html | 4 ++-- .../XYZMicroscope/MCTPlugin/index.html | 4 ++-- .../XYZMicroscope/ROIScanner/index.html | 4 ++-- .../SetupPhasecontrast/index.html | 4 ++-- .../XYZMicroscope/SetupTubelens/index.html | 4 ++-- .../XYZMicroscope/StageCalibration/index.html | 4 ++-- .../XYZMicroscope/StageScanning/index.html | 8 ++++---- .../ZMicroscope/UpackZMicroscope/index.html | 4 ++-- .../ProductionXYZMicroscope/index.html | 4 ++-- docs/PRODUCTION/Modules/APERTURES/index.html | 4 ++-- .../PRODUCTION/Modules/BEAMSPLITTER/index.html | 4 ++-- docs/PRODUCTION/Modules/Camera/index.html | 4 ++-- docs/PRODUCTION/Modules/Eyepiece/index.html | 4 ++-- docs/PRODUCTION/Modules/KIN_MIR_45/index.html | 4 ++-- docs/PRODUCTION/Modules/KIN_MIR_90/index.html | 4 ++-- .../PRODUCTION/Modules/KIN_XY_LASER/index.html | 4 ++-- docs/PRODUCTION/Modules/LENS/index.html | 4 ++-- docs/PRODUCTION/Modules/MIR_45/index.html | 4 ++-- .../Modules/POLARIZER_ROTATING/index.html | 4 ++-- .../Modules/SAMPLE_HOLDEr/index.html | 4 ++-- .../Modules/STAGE_Z_MANUAL/index.html | 4 ++-- .../PRODUCTION/Modules/STAGE_Z_NEMA/index.html | 4 ++-- docs/PRODUCTION/Modules/TORCH/index.html | 4 ++-- .../CHINESE/uc2miniboxCN/index.html | 4 ++-- .../DiscoveryCore/ENGLISH/CoreLens/index.html | 4 ++-- .../ENGLISH/CoreTelescope/index.html | 4 ++-- .../ENGLISH/coreMicroscope/index.html | 4 ++-- .../ENGLISH/uc2miniboxEN/index.html | 4 ++-- .../DiscoveryCore/FRENCH/CoreLensFR/index.html | 4 ++-- .../FRENCH/CoreTelescopeFR/index.html | 4 ++-- .../FRENCH/coreMicroscopeFR/index.html | 4 ++-- .../FRENCH/uc2miniboxFR/index.html | 4 ++-- .../DiscoveryCore/GERMAN/CoreLens/index.html | 4 ++-- .../GERMAN/CoreTelescope/index.html | 4 ++-- .../GERMAN/coreMicroscope/index.html | 4 ++-- .../GERMAN/uc2miniboxDE/index.html | 4 ++-- .../DiscoveryCore/Opticsintro/index.html | 4 ++-- .../SPANISH/core_intro/index.html | 4 ++-- .../Smartphone Microscope/index.html | 4 ++-- .../ALIGNMENT_FinOptics/index.html | 4 ++-- .../ALIGNMENT_InfOptics/index.html | 4 ++-- .../MicroscopyCore/index.html | 4 ++-- docs/Toolboxes/DiscoveryDiffraction/index.html | 4 ++-- .../Automation_intro/index.html | 4 ++-- .../Camera Setup/index.html | 4 ++-- .../XYZ_stage_mico/index.html | 4 ++-- .../seeedmicroscope/index.html | 4 ++-- .../spectrometer/index.html | 4 ++-- .../Toolboxes/DiscoveryFluorescence/index.html | 4 ++-- .../InlineHolography/index.html | 4 ++-- .../Interferometer_intro/index.html | 4 ++-- .../MachZenderInterferometer/index.html | 4 ++-- .../MichelsonInterferometer/index.html | 4 ++-- .../SoftwareTutorial/index.html | 4 ++-- .../DPCmicroscopy/index.html | 4 ++-- .../DiscoveryPhaseMicroscopy/index.html | 4 ++-- .../index.html | 4 ++-- .../APP_POL_Circular_Polarizer/index.html | 4 ++-- .../APP_POL_Crossed_Polarizers/index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../APP_POL_Stress_Birefringence/index.html | 4 ++-- .../APP_POL_Three_Polarizers/index.html | 4 ++-- .../Toolboxes/DiscoveryPolarization/index.html | 4 ++-- docs/Toolboxes/index.html | 4 ++-- docs/WORKSHOPS/Workshop Nigeria/index.html | 4 ++-- docs/WORKSHOPS/index.html | 4 ++-- docs/intro/index.html | 4 ++-- index.html | 4 ++-- markdown-page/index.html | 4 ++-- search/index.html | 4 ++-- 133 files changed, 262 insertions(+), 262 deletions(-) create mode 100644 assets/images/ASHLARStitching-a37bf6fe41fd84810634297793e070d5.gif create mode 100644 assets/js/9d871e46.04ae87ec.js delete mode 100644 assets/js/9d871e46.455acfc6.js rename assets/js/{runtime~main.264d191f.js => runtime~main.b8196658.js} (99%) diff --git a/404.html b/404.html index 66c3ec5ec..78c919888 100644 --- a/404.html +++ b/404.html @@ -10,13 +10,13 @@ - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/assets/images/ASHLARStitching-a37bf6fe41fd84810634297793e070d5.gif b/assets/images/ASHLARStitching-a37bf6fe41fd84810634297793e070d5.gif new file mode 100644 index 0000000000000000000000000000000000000000..3f60d06a2e2069310d567c98b52a24cae07cded3 GIT binary patch literal 888369 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


!ULu_X2XasHgj6y&H28jA8Hq+f= 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

s*ADx+7_-|zpMx$(}##XoU|5^t5H^u&O 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ʗ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

8n~B=+Wn_i2y`oKg@#&AiMZr$A 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 PQ1bqk0{t.d(i,{Zo:()=>p,kt:()=>h});var n=t(67294);function a(e,i,t){return i in e?Object.defineProperty(e,i,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[i]=t,e}function r(e,i){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);i&&(n=n.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var i=1;i=0||(a[t]=e[t]);return a}(e,i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=n.createContext({}),m=function(e){var i=n.useContext(l),t=i;return e&&(t="function"==typeof e?e(i):o(o({},i),e)),t},p=function(e){var i=m(e.components);return n.createElement(l.Provider,{value:i},e.children)},c={inlineCode:"code",wrapper:function(e){var i=e.children;return n.createElement(n.Fragment,{},i)}},g=n.forwardRef((function(e,i){var t=e.components,a=e.mdxType,r=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),g=m(t),h=a,u=g["".concat(l,".").concat(h)]||g[h]||c[h]||r;return t?n.createElement(u,o(o({ref:i},p),{},{components:t})):n.createElement(u,o({ref:i},p))}));function h(e,i){var t=arguments,a=i&&i.mdxType;if("string"==typeof e||a){var r=t.length,o=new Array(r);o[0]=g;var s={};for(var l in i)hasOwnProperty.call(i,l)&&(s[l]=i[l]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var m=2;m{t.r(i),t.d(i,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>r,metadata:()=>s,toc:()=>m});var n=t(87462),a=(t(67294),t(3905));const r={},o="Stage Scanning and Image Stitching (ASHLAR)",s={unversionedId:"Investigator/XYZMicroscope/StageScanning",id:"Investigator/XYZMicroscope/StageScanning",title:"Stage Scanning and Image Stitching (ASHLAR)",description:"We have multiple ways to perform stage scanning and stitching using ImSwitch. Below you can find dedicated documentation for some of them:",source:"@site/docs/02_Investigator/02_XYZMicroscope/StageScanning.md",sourceDirName:"02_Investigator/02_XYZMicroscope",slug:"/Investigator/XYZMicroscope/StageScanning",permalink:"/docs/Investigator/XYZMicroscope/StageScanning",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Stage Mapping and Stage Calibration",permalink:"/docs/Investigator/XYZMicroscope/StageCalibration"},next:{title:"openUC2 Light-Sheet Microscope",permalink:"/docs/Investigator/Lightsheet/LightSheet"}},l={},m=[{value:"1. Using Imswitch for Image Retrieval and Stitching with Interactive ImScripting",id:"1-using-imswitch-for-image-retrieval-and-stitching-with-interactive-imscripting",level:2},{value:"Overview",id:"overview",level:3},{value:"Additional Image Processing",id:"additional-image-processing",level:3},{value:"In action",id:"in-action",level:3},{value:"2. Perform GUI-based stitching and perform stitching using ASHLAR in the Main GUI",id:"2-perform-gui-based-stitching-and-perform-stitching-using-ashlar-in-the-main-gui",level:2}],p={toc:m};function c(e){let{components:i,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:i,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"stage-scanning-and-image-stitching-ashlar"},"Stage Scanning and Image Stitching (ASHLAR)"),(0,a.kt)("p",null,"We have multiple ways to perform stage scanning and stitching using ImSwitch. Below you can find dedicated documentation for some of them:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Use ImScripting to take snapshots, save them locally and perform stitching using ASHLAR offline"),(0,a.kt)("li",{parentName:"ol"},"Perform GUI-based stitching and perform stitching using ASHLAR / simple pixel assignmens online (e.g. within/after the scanning process)"),(0,a.kt)("li",{parentName:"ol"},"Coming soon")),(0,a.kt)("h2",{id:"1-using-imswitch-for-image-retrieval-and-stitching-with-interactive-imscripting"},"1. Using Imswitch for Image Retrieval and Stitching with Interactive ImScripting"),(0,a.kt)("h3",{id:"overview"},"Overview"),(0,a.kt)("p",null,"This documentation outlines the steps to use Imswitch and Interactive IMScripting to retrieve images and stitch them together. The process involves configuring the motor settings, capturing images in a grid pattern, and stitching these images using ASHLAR."),(0,a.kt)("p",null,"The following code can be executed inside the ImSwitch's ImScripting editor."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-python"},"# install a modified version of ashlar that enables loading numpy arrays directly without going through a file\n# python -m pip install https://github.com/openUC2/ashlar/archive/refs/heads/master.zip\nimport numpy as np\nimport time\nimport threading\nimport os\nimport tifffile\nimport re\nfrom ashlar.scripts import ashlar\nfrom ashlar.scripts.ashlar import process_images\nfrom pathlib import Path\n\n# Calculate the image size and the overlap of the images based on pixel size and resolution.\nmPixelSize = 1.0 # micron - use a calibration chart to get this right!\ninput_dir = \"./mScanImages\"\noutput_dir = \"./mStitchedImage\"\ninput_name = \"TmpTileFile.ome.tif\"\noutput_name = \"ResultingStitchedImage.ome.tif\"\ninitialPosX = 0\ninitialPosY = 0\nmaximum_shift_microns = 1000\nNx = 5\nNy = 5\n# please try changing these two values to make it match!\nflip_x=True\nflip_y=False\n\n# create the folders and names\nPath(input_dir).mkdir(parents=True, exist_ok=True)\nPath(output_dir).mkdir(parents=True, exist_ok=True)\nashlar_output_file = os.path.join(output_dir, output_name)\nashlar_input_file = os.path.join(input_dir, input_name)\n\nmFrameShape = api.imcontrol.snapImage(True, False).shape\nxDim = mFrameShape[1] * mPixelSize\nyDim = mFrameShape[0] * mPixelSize\nmOverlap = 0.8 # 90% overlap at the edges\n\n# Set the motor control to 0 and define the motor speeds for the X, Y, and Z axes.\npositionerName = api.imcontrol.getPositionerNames()[0]\napi.imcontrol.setPositionerSpeed(positionerName, \"X\", 20000)\napi.imcontrol.setPositionerSpeed(positionerName, \"Y\", 20000)\napi.imcontrol.setPositionerSpeed(positionerName, \"Z\", 2000)\n\n## Capture images in a 2x3 grid pattern. The stage moves to the start position and captures images at each step. Each image is saved with coordinates as the filename.\niiter = 0\n\nUSE_OME = False\nif USE_OME:# on MAC ARM M1 it may not work..\n with tifffile.TiffWriter(input_name) as tif: ## Define the input and output directories, and the pixel size. Open a new TIFF file to write the collected tiles, read each image, extract the position from the filename, prepare metadata, and write the image with metadata into the TIFF file. Finally, use ASHLAR to stitch the images together.\n for ix in np.arange(Nx):\n for iy in np.arange(Ny):\n mPos = (ix * xDim * mOverlap + initialPosX, iy * yDim * mOverlap + initialPosY)\n api.imcontrol.movePositioner(positionerName, \"XY\", mPos, True, True)\n time.sleep(0.5)\n mFrame = api.imcontrol.snapImage(True, False)\n metadata = {\n 'Pixels': {'PhysicalSizeX': mPixelSize, 'PhysicalSizeXUnit': 'm', 'PhysicalSizeY': mPixelSize, 'PhysicalSizeYUnit': 'm'},\n 'Plane': {'PositionX': ix, 'PositionY': iy}\n }\n tif.write(mFrame, metadata=metadata)\n iiter += 1\n ashlar.main(['', ashlar_input_file, '-o', ashlar_output_file, '--pyramid', '-m%s' % maximum_shift_microns, \"-flip_x\", flip_x, \"-flip_y\", flip_y])\n\nelse: # this is a workaround with a numpy reader instead\n mImageList = []\n position_list = []\n for ix in range(Nx):\n for iy in range(Ny):\n mPos = (ix * xDim * mOverlap + initialPosX, iy * yDim * mOverlap + initialPosY)\n api.imcontrol.movePositioner(positionerName, \"XY\", mPos, True, True)\n time.sleep(0.5)\n mFrame = api.imcontrol.snapImage(True, False)\n mImageList.append(mFrame)\n position_list.append(mPos)\n print(mPos)\n arrays = [np.expand_dims(np.array(mImageList),1)] # (num_images, num_channels, height, width)\n # create a 2D list of xy positions\n position_list = np.array(position_list)\n\n # Process numpy arrays\n process_images(filepaths=arrays,\n output='ashlar_output.tif',\n align_channel=0,\n flip_x=flip_x,\n flip_y=flip_y,\n flip_mosaic_x=False,\n flip_mosaic_y=False,\n output_channels=None,\n maximum_shift=maximum_shift_microns,\n stitch_alpha=0.01,\n maximum_error=None,\n filter_sigma=0,\n filename_format='cycle_{cycle}_channel_{channel}.tif',\n pyramid=False,\n tile_size=1024,\n ffp=None,\n dfp=None,\n barrel_correction=0,\n plates=False,\n quiet=False,\n position_list=position_list,\n pixel_size=mPixelSize)\n mImage = tifffile.imread('ashlar_output.tif')\n\n #display the resulting tiles\n api.imcontrol.displayImageNapari(\"Tiles\", arrays[0], isRGB=False)\n\n print(position_list)\n # display the resulting image\n api.imcontrol.displayImageNapari(\"StitchedImage\", mImage, isRGB=False)\n")),(0,a.kt)("h3",{id:"additional-image-processing"},"Additional Image Processing"),(0,a.kt)("p",null,"Additional commands can be used to manipulate the stitched image if needed (depends if the image looks weird or not..):"),(0,a.kt)("p",null,(0,a.kt)("em",{parentName:"p"},"Flip X-Axis")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-python"},"ashlar.main(['', collected_tiles_file, '-o', ashlar_output_file, '--pyramid', '-m%s' % maximum_shift_microns, \"--flip-x\"])\n")),(0,a.kt)("p",null,(0,a.kt)("em",{parentName:"p"},"Flip Both Axes and Mirror Images in X-Direction")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-python"},"ashlar.main(['', collected_tiles_file, '-o', ashlar_output_file, '--pyramid', '-m%s' % maximum_shift_microns, \"--flip-mosaic-x\"])\n")),(0,a.kt)("h3",{id:"in-action"},"In action"),(0,a.kt)("p",null,"Here we use the loading of numpy images inside ImSwitch and process them with Ashlar to directly dipslay them in Napari.\nMake sure the orientation is set as in the animation below according to the ",(0,a.kt)("a",{parentName:"p",href:"/docs/Investigator/XYZMicroscope/StageCalibration"},"Stage Calibration")," results."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-py"},"# keep this number low (e.g. 1-2 to check the correction direction of X/Y)\nNx = 2\nNy = 2\n# please try changing these two values to make it match!\nflip_x=True\nflip_y=False\n")),(0,a.kt)("p",null,(0,a.kt)("img",{src:t(65327).Z,width:"800",height:"519"})),(0,a.kt)("h2",{id:"2-perform-gui-based-stitching-and-perform-stitching-using-ashlar-in-the-main-gui"},"2. Perform GUI-based stitching and perform stitching using ASHLAR in the Main GUI"),(0,a.kt)("p",null,"Navigate to the HistoScan Menu and perform the grid-based scanning. Select ASHLAR stitching and the appropriate flipping of the axes (will be suggested by the previously performed stage mapping) and run the scanning. The stitched result will be displayed after some computational time which may vary depending on your CPU and memory availabililty."),(0,a.kt)("p",null,(0,a.kt)("img",{src:t(89047).Z,width:"800",height:"519"})))}c.isMDXComponent=!0},89047:(e,i,t)=>{t.d(i,{Z:()=>n});const n=t.p+"assets/images/ASHLARStitching-a37bf6fe41fd84810634297793e070d5.gif"},65327:(e,i,t)=>{t.d(i,{Z:()=>n});const n=t.p+"assets/images/ASHLARWalkthrough-2aa33723464f2fc9b4b8cee966384357.gif"}}]); \ No newline at end of file diff --git a/assets/js/9d871e46.455acfc6.js b/assets/js/9d871e46.455acfc6.js deleted file mode 100644 index fc58d9d9c..000000000 --- a/assets/js/9d871e46.455acfc6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkuc_2_docs=self.webpackChunkuc_2_docs||[]).push([[7810],{3905:(e,i,t)=>{t.d(i,{Zo:()=>p,kt:()=>g});var n=t(67294);function a(e,i,t){return i in e?Object.defineProperty(e,i,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[i]=t,e}function r(e,i){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);i&&(n=n.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var i=1;i=0||(a[t]=e[t]);return a}(e,i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=n.createContext({}),m=function(e){var i=n.useContext(l),t=i;return e&&(t="function"==typeof e?e(i):o(o({},i),e)),t},p=function(e){var i=m(e.components);return n.createElement(l.Provider,{value:i},e.children)},c={inlineCode:"code",wrapper:function(e){var i=e.children;return n.createElement(n.Fragment,{},i)}},h=n.forwardRef((function(e,i){var t=e.components,a=e.mdxType,r=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),h=m(t),g=a,u=h["".concat(l,".").concat(g)]||h[g]||c[g]||r;return t?n.createElement(u,o(o({ref:i},p),{},{components:t})):n.createElement(u,o({ref:i},p))}));function g(e,i){var t=arguments,a=i&&i.mdxType;if("string"==typeof e||a){var r=t.length,o=new Array(r);o[0]=h;var s={};for(var l in i)hasOwnProperty.call(i,l)&&(s[l]=i[l]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var m=2;m{t.r(i),t.d(i,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>r,metadata:()=>s,toc:()=>m});var n=t(87462),a=(t(67294),t(3905));const r={},o="Stage Scanning and Image Stitching (ASHLAR)",s={unversionedId:"Investigator/XYZMicroscope/StageScanning",id:"Investigator/XYZMicroscope/StageScanning",title:"Stage Scanning and Image Stitching (ASHLAR)",description:"We have multiple ways to perform stage scanning and stitching using ImSwitch. Below you can find dedicated documentation for some of them:",source:"@site/docs/02_Investigator/02_XYZMicroscope/StageScanning.md",sourceDirName:"02_Investigator/02_XYZMicroscope",slug:"/Investigator/XYZMicroscope/StageScanning",permalink:"/docs/Investigator/XYZMicroscope/StageScanning",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Stage Mapping and Stage Calibration",permalink:"/docs/Investigator/XYZMicroscope/StageCalibration"},next:{title:"openUC2 Light-Sheet Microscope",permalink:"/docs/Investigator/Lightsheet/LightSheet"}},l={},m=[{value:"Using Imswitch for Image Retrieval and Stitching with Interactive ImScripting",id:"using-imswitch-for-image-retrieval-and-stitching-with-interactive-imscripting",level:2},{value:"Overview",id:"overview",level:3},{value:"Additional Image Processing",id:"additional-image-processing",level:3},{value:"In action",id:"in-action",level:3}],p={toc:m};function c(e){let{components:i,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:i,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"stage-scanning-and-image-stitching-ashlar"},"Stage Scanning and Image Stitching (ASHLAR)"),(0,a.kt)("p",null,"We have multiple ways to perform stage scanning and stitching using ImSwitch. Below you can find dedicated documentation for some of them:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Use ImScripting to take snapshots, save them locally and perform stitching using ASHLAR offline"),(0,a.kt)("li",{parentName:"ol"},"Perform GUI-based stitching and perform stitching using ASHLAR / simple pixel assignmens online (e.g. within/after the scanning process)"),(0,a.kt)("li",{parentName:"ol"},"Coming soon")),(0,a.kt)("h2",{id:"using-imswitch-for-image-retrieval-and-stitching-with-interactive-imscripting"},"Using Imswitch for Image Retrieval and Stitching with Interactive ImScripting"),(0,a.kt)("h3",{id:"overview"},"Overview"),(0,a.kt)("p",null,"This documentation outlines the steps to use Imswitch and Interactive IMScripting to retrieve images and stitch them together. The process involves configuring the motor settings, capturing images in a grid pattern, and stitching these images using ASHLAR."),(0,a.kt)("p",null,"The following code can be executed inside the ImSwitch's ImScripting editor."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-python"},"# install a modified version of ashlar that enables loading numpy arrays directly without going through a file\n# python -m pip install https://github.com/openUC2/ashlar/archive/refs/heads/master.zip\nimport numpy as np\nimport time\nimport threading\nimport os\nimport tifffile\nimport re\nfrom ashlar.scripts import ashlar\nfrom ashlar.scripts.ashlar import process_images\nfrom pathlib import Path\n\n# Calculate the image size and the overlap of the images based on pixel size and resolution.\nmPixelSize = 1.0 # micron - use a calibration chart to get this right!\ninput_dir = \"./mScanImages\"\noutput_dir = \"./mStitchedImage\"\ninput_name = \"TmpTileFile.ome.tif\"\noutput_name = \"ResultingStitchedImage.ome.tif\"\ninitialPosX = 0\ninitialPosY = 0\nmaximum_shift_microns = 1000\nNx = 5\nNy = 5\n# please try changing these two values to make it match!\nflip_x=True\nflip_y=False\n\n# create the folders and names\nPath(input_dir).mkdir(parents=True, exist_ok=True)\nPath(output_dir).mkdir(parents=True, exist_ok=True)\nashlar_output_file = os.path.join(output_dir, output_name)\nashlar_input_file = os.path.join(input_dir, input_name)\n\nmFrameShape = api.imcontrol.snapImage(True, False).shape\nxDim = mFrameShape[1] * mPixelSize\nyDim = mFrameShape[0] * mPixelSize\nmOverlap = 0.8 # 90% overlap at the edges\n\n# Set the motor control to 0 and define the motor speeds for the X, Y, and Z axes.\npositionerName = api.imcontrol.getPositionerNames()[0]\napi.imcontrol.setPositionerSpeed(positionerName, \"X\", 20000)\napi.imcontrol.setPositionerSpeed(positionerName, \"Y\", 20000)\napi.imcontrol.setPositionerSpeed(positionerName, \"Z\", 2000)\n\n## Capture images in a 2x3 grid pattern. The stage moves to the start position and captures images at each step. Each image is saved with coordinates as the filename.\niiter = 0\n\nUSE_OME = False\nif USE_OME:# on MAC ARM M1 it may not work..\n with tifffile.TiffWriter(input_name) as tif: ## Define the input and output directories, and the pixel size. Open a new TIFF file to write the collected tiles, read each image, extract the position from the filename, prepare metadata, and write the image with metadata into the TIFF file. Finally, use ASHLAR to stitch the images together.\n for ix in np.arange(Nx):\n for iy in np.arange(Ny):\n mPos = (ix * xDim * mOverlap + initialPosX, iy * yDim * mOverlap + initialPosY)\n api.imcontrol.movePositioner(positionerName, \"XY\", mPos, True, True)\n time.sleep(0.5)\n mFrame = api.imcontrol.snapImage(True, False)\n metadata = {\n 'Pixels': {'PhysicalSizeX': mPixelSize, 'PhysicalSizeXUnit': 'm', 'PhysicalSizeY': mPixelSize, 'PhysicalSizeYUnit': 'm'},\n 'Plane': {'PositionX': ix, 'PositionY': iy}\n }\n tif.write(mFrame, metadata=metadata)\n iiter += 1\n ashlar.main(['', ashlar_input_file, '-o', ashlar_output_file, '--pyramid', '-m%s' % maximum_shift_microns, \"-flip_x\", flip_x, \"-flip_y\", flip_y])\n\nelse: # this is a workaround with a numpy reader instead\n mImageList = []\n position_list = []\n for ix in range(Nx):\n for iy in range(Ny):\n mPos = (ix * xDim * mOverlap + initialPosX, iy * yDim * mOverlap + initialPosY)\n api.imcontrol.movePositioner(positionerName, \"XY\", mPos, True, True)\n time.sleep(0.5)\n mFrame = api.imcontrol.snapImage(True, False)\n mImageList.append(mFrame)\n position_list.append(mPos)\n print(mPos)\n arrays = [np.expand_dims(np.array(mImageList),1)] # (num_images, num_channels, height, width)\n # create a 2D list of xy positions\n position_list = np.array(position_list)\n\n # Process numpy arrays\n process_images(filepaths=arrays,\n output='ashlar_output.tif',\n align_channel=0,\n flip_x=flip_x,\n flip_y=flip_y,\n flip_mosaic_x=False,\n flip_mosaic_y=False,\n output_channels=None,\n maximum_shift=maximum_shift_microns,\n stitch_alpha=0.01,\n maximum_error=None,\n filter_sigma=0,\n filename_format='cycle_{cycle}_channel_{channel}.tif',\n pyramid=False,\n tile_size=1024,\n ffp=None,\n dfp=None,\n barrel_correction=0,\n plates=False,\n quiet=False,\n position_list=position_list,\n pixel_size=mPixelSize)\n mImage = tifffile.imread('ashlar_output.tif')\n\n #display the resulting tiles\n api.imcontrol.displayImageNapari(\"Tiles\", arrays[0], isRGB=False)\n\n print(position_list)\n # display the resulting image\n api.imcontrol.displayImageNapari(\"StitchedImage\", mImage, isRGB=False)\n")),(0,a.kt)("h3",{id:"additional-image-processing"},"Additional Image Processing"),(0,a.kt)("p",null,"Additional commands can be used to manipulate the stitched image if needed (depends if the image looks weird or not..):"),(0,a.kt)("p",null,(0,a.kt)("em",{parentName:"p"},"Flip X-Axis")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-python"},"ashlar.main(['', collected_tiles_file, '-o', ashlar_output_file, '--pyramid', '-m%s' % maximum_shift_microns, \"--flip-x\"])\n")),(0,a.kt)("p",null,(0,a.kt)("em",{parentName:"p"},"Flip Both Axes and Mirror Images in X-Direction")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-python"},"ashlar.main(['', collected_tiles_file, '-o', ashlar_output_file, '--pyramid', '-m%s' % maximum_shift_microns, \"--flip-mosaic-x\"])\n")),(0,a.kt)("h3",{id:"in-action"},"In action"),(0,a.kt)("p",null,"Here we use the loading of numpy images inside ImSwitch and process them with Ashlar to directly dipslay them in Napari.\nMake sure the orientation is set as in the animation below according to the ",(0,a.kt)("a",{parentName:"p",href:"/docs/Investigator/XYZMicroscope/StageCalibration"},"Stage Calibration")," results."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-py"},"# keep this number low (e.g. 1-2 to check the correction direction of X/Y)\nNx = 2\nNy = 2\n# please try changing these two values to make it match!\nflip_x=True\nflip_y=False\n")),(0,a.kt)("p",null,(0,a.kt)("img",{src:t(65327).Z,width:"800",height:"519"})))}c.isMDXComponent=!0},65327:(e,i,t)=>{t.d(i,{Z:()=>n});const n=t.p+"assets/images/ASHLARWalkthrough-2aa33723464f2fc9b4b8cee966384357.gif"}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.264d191f.js b/assets/js/runtime~main.b8196658.js similarity index 99% rename from assets/js/runtime~main.264d191f.js rename to assets/js/runtime~main.b8196658.js index 0a3cc7ac1..c6ab9e9f7 100644 --- a/assets/js/runtime~main.264d191f.js +++ b/assets/js/runtime~main.b8196658.js @@ -1 +1 @@ -(()=>{"use strict";var e,c,f,a,d,b={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=b,r.c=t,e=[],r.O=(c,f,a,d)=>{if(!f){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[f,a,d]},r.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return r.d(c,{a:c}),c},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};c=c||[null,f({}),f([]),f(f)];for(var t=2&a&&e;"object"==typeof t&&!~c.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((c=>b[c]=()=>e[c]));return b.default=()=>e,r.d(d,b),d},r.d=(e,c)=>{for(var f in c)r.o(c,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:c[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((c,f)=>(r.f[f](e,c),c)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",110:"66406991",332:"58a11d30",440:"aaaab2de",453:"30a24c52",522:"433ebc56",533:"b2b675dd",793:"1595198f",798:"371067f7",822:"7f6a1755",872:"81b80b57",948:"8717b14a",977:"b4260115",997:"833fd8e4",999:"77a55892",1019:"4c400130",1030:"bed06fc7",1157:"ea3906e8",1261:"720b8723",1304:"32908cc8",1339:"25f24095",1342:"baa70563",1393:"1c7544ab",1452:"f8cf7dc6",1477:"b2f554cd",1614:"8a5b0268",1633:"031793e1",1713:"a7023ddc",1724:"56a30d66",1836:"1c3bdaf4",1914:"d9f32620",1944:"8d1d729f",1977:"743aff67",2070:"2cb1bffe",2071:"6c00e93a",2167:"037dfcb2",2261:"39203659",2267:"59362658",2302:"fe4c886f",2362:"e273c56f",2535:"814f3328",2581:"2c2c4179",2730:"3f7c7107",2747:"eb5e12c5",2888:"94f4695e",2946:"cf73676e",2950:"f8e38a88",2971:"6bf07ff2",3052:"3c0413fc",3085:"1f391b9e",3089:"a6aa9e1f",3205:"a80da1cf",3237:"1df93b7f",3242:"8e6fe44e",3268:"fbc5c1df",3406:"0f8d8852",3437:"e8c726a5",3460:"e616da62",3472:"40395c6c",3514:"73664a40",3593:"dd2fa219",3608:"9e4087bc",3631:"44dce1a7",3718:"8502d9d8",3806:"d59e517a",3879:"89ec3cb5",4012:"621e018e",4013:"01a85c17",4042:"c8e7c62d",4485:"3df306b2",4670:"2e1cfc81",4705:"de9cdfec",4747:"58f6021f",4750:"fd871b91",4830:"801535fb",5007:"7023fff7",5047:"75fad1b2",5080:"1242019a",5092:"0e168c38",5140:"ee9752e8",5312:"d139aec2",6021:"8847a56f",6103:"ccc49370",6249:"fde72991",6281:"65da893e",6288:"29e169e0",6432:"e8c20e17",6508:"e10ceca3",6554:"cfb5f2f4",6751:"3dca1eef",6872:"9c5c1c1d",6938:"608ae6a4",6972:"2141b49f",7051:"12620db3",7058:"c9ed2878",7156:"b5dc0be3",7178:"096bfee4",7414:"393be207",7481:"b0ceb39b",7495:"62517742",7502:"fdc1df46",7549:"93c6055a",7633:"68401fe2",7679:"5fdd5120",7717:"c23e63ad",7768:"acaa9576",7794:"8305bcdf",7801:"cc21946f",7810:"9d871e46",7815:"d75661c7",7830:"08ab4e0e",7851:"b6c09b67",7871:"b125a5be",7874:"3e1ff73b",7886:"7a9250c2",7918:"17896441",7920:"1a4e3797",7974:"8ef50b09",8244:"fdb65332",8340:"9bd677a5",8419:"cde235ff",8507:"2df8f4f1",8584:"d10168e2",8608:"c0d07cea",8610:"6875c492",8636:"f4f34a3a",8722:"5eec344d",8730:"0e546279",8761:"5b86aa40",8919:"76cbcfcc",9003:"925b3f96",9004:"df126469",9035:"4c9e35b1",9039:"0a545b48",9068:"4828adb4",9130:"bf90eb7c",9281:"7a7a5cbd",9293:"36f8e1e1",9379:"d7a31451",9514:"1be78505",9586:"7b223cce",9588:"57624389",9622:"2a68a27d",9642:"7661071f",9671:"0e384e19",9700:"e16015ca",9742:"678e5d22",9895:"7c7455f4",9907:"0abc2403",9978:"bef270d8"}[e]||e)+"."+{53:"2a896ab9",110:"20c0fb17",143:"0165e8f1",332:"bec97418",440:"997c0992",453:"1b19cb21",522:"61aca7d0",533:"7c5eae5c",793:"6b9ab44e",798:"eb099fab",822:"f9c91d8f",872:"48721e38",948:"7a904490",977:"e337aa7a",997:"6320e8ae",999:"0abf60c2",1019:"2b1ec502",1030:"cb66b8b9",1157:"50037233",1261:"e799eaa9",1304:"476d35af",1339:"544b70d2",1342:"f807c1ab",1393:"59205428",1452:"0d1609b6",1477:"14fc6068",1614:"89b93096",1633:"f90c1f8b",1713:"4dce75ec",1724:"029aec35",1836:"a255d595",1914:"d91c54a8",1944:"391a15d8",1977:"9041af91",2070:"ee54c5e0",2071:"cb170bd7",2167:"50c1c1f1",2261:"78944307",2267:"95e1f6b3",2302:"7fa3ee5c",2362:"a26d9a5b",2535:"b806c98b",2581:"74f29a60",2730:"f2d16bf7",2747:"be302221",2888:"ebe51f4d",2946:"f909abe7",2950:"d105c7ca",2971:"527feba3",3052:"9ac0557e",3085:"727e75eb",3089:"737545f6",3205:"4effac06",3237:"320a87a0",3242:"cbcf040d",3268:"02d82ce3",3406:"78edbf5a",3437:"ff0db2a5",3445:"9dd67b63",3460:"af111778",3472:"ce46c759",3514:"f7192e6a",3593:"22a154e4",3608:"698aa50a",3631:"cace0475",3718:"55476fc6",3806:"cc8d7d14",3879:"6e03db78",4012:"c6e16faa",4013:"251a7fbe",4042:"6afabb0c",4485:"f0ce5860",4670:"297ac4b1",4705:"9b87f576",4747:"c48ef15a",4750:"7f27ff3a",4830:"58b19da7",4972:"3539bd33",5007:"19646fe0",5047:"cc78f556",5080:"dd768cb2",5092:"227bd2cf",5140:"cd32302a",5312:"45cd3258",6021:"29108254",6103:"6d3fe565",6249:"e3440f86",6281:"566927b6",6288:"2f593159",6432:"9dc6b261",6508:"2aec1aa3",6554:"46b4463f",6751:"a0a33571",6780:"b82ef7ab",6872:"94eb056c",6938:"36566353",6945:"4793c3e2",6972:"204e4dc5",7051:"7e90a104",7058:"459d2de5",7156:"a360e98d",7178:"650d250e",7414:"468d8063",7481:"ea640f5f",7495:"8c8556c1",7502:"18103105",7549:"a928a61a",7633:"74efcfcf",7679:"72ffbe2e",7717:"cb008ec9",7768:"22c55d7f",7794:"f5cd4bb9",7801:"219f9afd",7810:"455acfc6",7815:"b04decab",7830:"8a645fae",7851:"c35df07e",7871:"cba07df3",7874:"4968fd31",7886:"b414de3a",7918:"d151dc1a",7920:"74840436",7974:"a0025f32",8244:"6bc299ba",8340:"01284c8f",8419:"0192ad46",8507:"de5a7ed4",8584:"3d5d2f84",8608:"53145af5",8610:"dd3b05c5",8636:"17134745",8722:"71882a73",8730:"eb1c2f05",8761:"d524e717",8894:"0eb16df2",8919:"337bc6e7",9003:"6289da7e",9004:"b175c2f9",9035:"6846689d",9039:"e58c482d",9068:"dd8ac4cd",9130:"00ce6ec8",9281:"8d63d555",9293:"6cc0d1c3",9379:"931afbe6",9514:"55525ef3",9586:"4c62c76d",9588:"5e4a6fa8",9622:"4827f745",9642:"65524930",9671:"f7917126",9700:"9e0eea4e",9742:"24e8a4d0",9895:"6d148de2",9907:"fd2b7895",9978:"7823066b"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),a={},d="uc-2-docs:",r.l=(e,c,f,b)=>{if(a[e])a[e].push(c);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=a[e];if(delete a[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(f))),c)return c(f)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",39203659:"2261",57624389:"9588",59362658:"2267",62517742:"7495",66406991:"110","935f2afb":"53","58a11d30":"332",aaaab2de:"440","30a24c52":"453","433ebc56":"522",b2b675dd:"533","1595198f":"793","371067f7":"798","7f6a1755":"822","81b80b57":"872","8717b14a":"948",b4260115:"977","833fd8e4":"997","77a55892":"999","4c400130":"1019",bed06fc7:"1030",ea3906e8:"1157","720b8723":"1261","32908cc8":"1304","25f24095":"1339",baa70563:"1342","1c7544ab":"1393",f8cf7dc6:"1452",b2f554cd:"1477","8a5b0268":"1614","031793e1":"1633",a7023ddc:"1713","56a30d66":"1724","1c3bdaf4":"1836",d9f32620:"1914","8d1d729f":"1944","743aff67":"1977","2cb1bffe":"2070","6c00e93a":"2071","037dfcb2":"2167",fe4c886f:"2302",e273c56f:"2362","814f3328":"2535","2c2c4179":"2581","3f7c7107":"2730",eb5e12c5:"2747","94f4695e":"2888",cf73676e:"2946",f8e38a88:"2950","6bf07ff2":"2971","3c0413fc":"3052","1f391b9e":"3085",a6aa9e1f:"3089",a80da1cf:"3205","1df93b7f":"3237","8e6fe44e":"3242",fbc5c1df:"3268","0f8d8852":"3406",e8c726a5:"3437",e616da62:"3460","40395c6c":"3472","73664a40":"3514",dd2fa219:"3593","9e4087bc":"3608","44dce1a7":"3631","8502d9d8":"3718",d59e517a:"3806","89ec3cb5":"3879","621e018e":"4012","01a85c17":"4013",c8e7c62d:"4042","3df306b2":"4485","2e1cfc81":"4670",de9cdfec:"4705","58f6021f":"4747",fd871b91:"4750","801535fb":"4830","7023fff7":"5007","75fad1b2":"5047","1242019a":"5080","0e168c38":"5092",ee9752e8:"5140",d139aec2:"5312","8847a56f":"6021",ccc49370:"6103",fde72991:"6249","65da893e":"6281","29e169e0":"6288",e8c20e17:"6432",e10ceca3:"6508",cfb5f2f4:"6554","3dca1eef":"6751","9c5c1c1d":"6872","608ae6a4":"6938","2141b49f":"6972","12620db3":"7051",c9ed2878:"7058",b5dc0be3:"7156","096bfee4":"7178","393be207":"7414",b0ceb39b:"7481",fdc1df46:"7502","93c6055a":"7549","68401fe2":"7633","5fdd5120":"7679",c23e63ad:"7717",acaa9576:"7768","8305bcdf":"7794",cc21946f:"7801","9d871e46":"7810",d75661c7:"7815","08ab4e0e":"7830",b6c09b67:"7851",b125a5be:"7871","3e1ff73b":"7874","7a9250c2":"7886","1a4e3797":"7920","8ef50b09":"7974",fdb65332:"8244","9bd677a5":"8340",cde235ff:"8419","2df8f4f1":"8507",d10168e2:"8584",c0d07cea:"8608","6875c492":"8610",f4f34a3a:"8636","5eec344d":"8722","0e546279":"8730","5b86aa40":"8761","76cbcfcc":"8919","925b3f96":"9003",df126469:"9004","4c9e35b1":"9035","0a545b48":"9039","4828adb4":"9068",bf90eb7c:"9130","7a7a5cbd":"9281","36f8e1e1":"9293",d7a31451:"9379","1be78505":"9514","7b223cce":"9586","2a68a27d":"9622","7661071f":"9642","0e384e19":"9671",e16015ca:"9700","678e5d22":"9742","7c7455f4":"9895","0abc2403":"9907",bef270d8:"9978"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(c,f)=>{var a=r.o(e,c)?e[c]:void 0;if(0!==a)if(a)f.push(a[2]);else if(/^(1303|532)$/.test(c))e[c]=0;else{var d=new Promise(((f,d)=>a=e[c]=[f,d]));f.push(a[2]=d);var b=r.p+r.u(c),t=new Error;r.l(b,(f=>{if(r.o(e,c)&&(0!==(a=e[c])&&(e[c]=void 0),a)){var d=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+c+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,a[1](t)}}),"chunk-"+c,c)}},r.O.j=c=>0===e[c];var c=(c,f)=>{var a,d,b=f[0],t=f[1],o=f[2],n=0;if(b.some((c=>0!==e[c]))){for(a in t)r.o(t,a)&&(r.m[a]=t[a]);if(o)var i=o(r)}for(c&&c(f);n{"use strict";var e,c,f,a,d,b={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=b,r.c=t,e=[],r.O=(c,f,a,d)=>{if(!f){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[f,a,d]},r.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return r.d(c,{a:c}),c},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};c=c||[null,f({}),f([]),f(f)];for(var t=2&a&&e;"object"==typeof t&&!~c.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((c=>b[c]=()=>e[c]));return b.default=()=>e,r.d(d,b),d},r.d=(e,c)=>{for(var f in c)r.o(c,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:c[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((c,f)=>(r.f[f](e,c),c)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",110:"66406991",332:"58a11d30",440:"aaaab2de",453:"30a24c52",522:"433ebc56",533:"b2b675dd",793:"1595198f",798:"371067f7",822:"7f6a1755",872:"81b80b57",948:"8717b14a",977:"b4260115",997:"833fd8e4",999:"77a55892",1019:"4c400130",1030:"bed06fc7",1157:"ea3906e8",1261:"720b8723",1304:"32908cc8",1339:"25f24095",1342:"baa70563",1393:"1c7544ab",1452:"f8cf7dc6",1477:"b2f554cd",1614:"8a5b0268",1633:"031793e1",1713:"a7023ddc",1724:"56a30d66",1836:"1c3bdaf4",1914:"d9f32620",1944:"8d1d729f",1977:"743aff67",2070:"2cb1bffe",2071:"6c00e93a",2167:"037dfcb2",2261:"39203659",2267:"59362658",2302:"fe4c886f",2362:"e273c56f",2535:"814f3328",2581:"2c2c4179",2730:"3f7c7107",2747:"eb5e12c5",2888:"94f4695e",2946:"cf73676e",2950:"f8e38a88",2971:"6bf07ff2",3052:"3c0413fc",3085:"1f391b9e",3089:"a6aa9e1f",3205:"a80da1cf",3237:"1df93b7f",3242:"8e6fe44e",3268:"fbc5c1df",3406:"0f8d8852",3437:"e8c726a5",3460:"e616da62",3472:"40395c6c",3514:"73664a40",3593:"dd2fa219",3608:"9e4087bc",3631:"44dce1a7",3718:"8502d9d8",3806:"d59e517a",3879:"89ec3cb5",4012:"621e018e",4013:"01a85c17",4042:"c8e7c62d",4485:"3df306b2",4670:"2e1cfc81",4705:"de9cdfec",4747:"58f6021f",4750:"fd871b91",4830:"801535fb",5007:"7023fff7",5047:"75fad1b2",5080:"1242019a",5092:"0e168c38",5140:"ee9752e8",5312:"d139aec2",6021:"8847a56f",6103:"ccc49370",6249:"fde72991",6281:"65da893e",6288:"29e169e0",6432:"e8c20e17",6508:"e10ceca3",6554:"cfb5f2f4",6751:"3dca1eef",6872:"9c5c1c1d",6938:"608ae6a4",6972:"2141b49f",7051:"12620db3",7058:"c9ed2878",7156:"b5dc0be3",7178:"096bfee4",7414:"393be207",7481:"b0ceb39b",7495:"62517742",7502:"fdc1df46",7549:"93c6055a",7633:"68401fe2",7679:"5fdd5120",7717:"c23e63ad",7768:"acaa9576",7794:"8305bcdf",7801:"cc21946f",7810:"9d871e46",7815:"d75661c7",7830:"08ab4e0e",7851:"b6c09b67",7871:"b125a5be",7874:"3e1ff73b",7886:"7a9250c2",7918:"17896441",7920:"1a4e3797",7974:"8ef50b09",8244:"fdb65332",8340:"9bd677a5",8419:"cde235ff",8507:"2df8f4f1",8584:"d10168e2",8608:"c0d07cea",8610:"6875c492",8636:"f4f34a3a",8722:"5eec344d",8730:"0e546279",8761:"5b86aa40",8919:"76cbcfcc",9003:"925b3f96",9004:"df126469",9035:"4c9e35b1",9039:"0a545b48",9068:"4828adb4",9130:"bf90eb7c",9281:"7a7a5cbd",9293:"36f8e1e1",9379:"d7a31451",9514:"1be78505",9586:"7b223cce",9588:"57624389",9622:"2a68a27d",9642:"7661071f",9671:"0e384e19",9700:"e16015ca",9742:"678e5d22",9895:"7c7455f4",9907:"0abc2403",9978:"bef270d8"}[e]||e)+"."+{53:"2a896ab9",110:"20c0fb17",143:"0165e8f1",332:"bec97418",440:"997c0992",453:"1b19cb21",522:"61aca7d0",533:"7c5eae5c",793:"6b9ab44e",798:"eb099fab",822:"f9c91d8f",872:"48721e38",948:"7a904490",977:"e337aa7a",997:"6320e8ae",999:"0abf60c2",1019:"2b1ec502",1030:"cb66b8b9",1157:"50037233",1261:"e799eaa9",1304:"476d35af",1339:"544b70d2",1342:"f807c1ab",1393:"59205428",1452:"0d1609b6",1477:"14fc6068",1614:"89b93096",1633:"f90c1f8b",1713:"4dce75ec",1724:"029aec35",1836:"a255d595",1914:"d91c54a8",1944:"391a15d8",1977:"9041af91",2070:"ee54c5e0",2071:"cb170bd7",2167:"50c1c1f1",2261:"78944307",2267:"95e1f6b3",2302:"7fa3ee5c",2362:"a26d9a5b",2535:"b806c98b",2581:"74f29a60",2730:"f2d16bf7",2747:"be302221",2888:"ebe51f4d",2946:"f909abe7",2950:"d105c7ca",2971:"527feba3",3052:"9ac0557e",3085:"727e75eb",3089:"737545f6",3205:"4effac06",3237:"320a87a0",3242:"cbcf040d",3268:"02d82ce3",3406:"78edbf5a",3437:"ff0db2a5",3445:"9dd67b63",3460:"af111778",3472:"ce46c759",3514:"f7192e6a",3593:"22a154e4",3608:"698aa50a",3631:"cace0475",3718:"55476fc6",3806:"cc8d7d14",3879:"6e03db78",4012:"c6e16faa",4013:"251a7fbe",4042:"6afabb0c",4485:"f0ce5860",4670:"297ac4b1",4705:"9b87f576",4747:"c48ef15a",4750:"7f27ff3a",4830:"58b19da7",4972:"3539bd33",5007:"19646fe0",5047:"cc78f556",5080:"dd768cb2",5092:"227bd2cf",5140:"cd32302a",5312:"45cd3258",6021:"29108254",6103:"6d3fe565",6249:"e3440f86",6281:"566927b6",6288:"2f593159",6432:"9dc6b261",6508:"2aec1aa3",6554:"46b4463f",6751:"a0a33571",6780:"b82ef7ab",6872:"94eb056c",6938:"36566353",6945:"4793c3e2",6972:"204e4dc5",7051:"7e90a104",7058:"459d2de5",7156:"a360e98d",7178:"650d250e",7414:"468d8063",7481:"ea640f5f",7495:"8c8556c1",7502:"18103105",7549:"a928a61a",7633:"74efcfcf",7679:"72ffbe2e",7717:"cb008ec9",7768:"22c55d7f",7794:"f5cd4bb9",7801:"219f9afd",7810:"04ae87ec",7815:"b04decab",7830:"8a645fae",7851:"c35df07e",7871:"cba07df3",7874:"4968fd31",7886:"b414de3a",7918:"d151dc1a",7920:"74840436",7974:"a0025f32",8244:"6bc299ba",8340:"01284c8f",8419:"0192ad46",8507:"de5a7ed4",8584:"3d5d2f84",8608:"53145af5",8610:"dd3b05c5",8636:"17134745",8722:"71882a73",8730:"eb1c2f05",8761:"d524e717",8894:"0eb16df2",8919:"337bc6e7",9003:"6289da7e",9004:"b175c2f9",9035:"6846689d",9039:"e58c482d",9068:"dd8ac4cd",9130:"00ce6ec8",9281:"8d63d555",9293:"6cc0d1c3",9379:"931afbe6",9514:"55525ef3",9586:"4c62c76d",9588:"5e4a6fa8",9622:"4827f745",9642:"65524930",9671:"f7917126",9700:"9e0eea4e",9742:"24e8a4d0",9895:"6d148de2",9907:"fd2b7895",9978:"7823066b"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),a={},d="uc-2-docs:",r.l=(e,c,f,b)=>{if(a[e])a[e].push(c);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=a[e];if(delete a[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(f))),c)return c(f)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",39203659:"2261",57624389:"9588",59362658:"2267",62517742:"7495",66406991:"110","935f2afb":"53","58a11d30":"332",aaaab2de:"440","30a24c52":"453","433ebc56":"522",b2b675dd:"533","1595198f":"793","371067f7":"798","7f6a1755":"822","81b80b57":"872","8717b14a":"948",b4260115:"977","833fd8e4":"997","77a55892":"999","4c400130":"1019",bed06fc7:"1030",ea3906e8:"1157","720b8723":"1261","32908cc8":"1304","25f24095":"1339",baa70563:"1342","1c7544ab":"1393",f8cf7dc6:"1452",b2f554cd:"1477","8a5b0268":"1614","031793e1":"1633",a7023ddc:"1713","56a30d66":"1724","1c3bdaf4":"1836",d9f32620:"1914","8d1d729f":"1944","743aff67":"1977","2cb1bffe":"2070","6c00e93a":"2071","037dfcb2":"2167",fe4c886f:"2302",e273c56f:"2362","814f3328":"2535","2c2c4179":"2581","3f7c7107":"2730",eb5e12c5:"2747","94f4695e":"2888",cf73676e:"2946",f8e38a88:"2950","6bf07ff2":"2971","3c0413fc":"3052","1f391b9e":"3085",a6aa9e1f:"3089",a80da1cf:"3205","1df93b7f":"3237","8e6fe44e":"3242",fbc5c1df:"3268","0f8d8852":"3406",e8c726a5:"3437",e616da62:"3460","40395c6c":"3472","73664a40":"3514",dd2fa219:"3593","9e4087bc":"3608","44dce1a7":"3631","8502d9d8":"3718",d59e517a:"3806","89ec3cb5":"3879","621e018e":"4012","01a85c17":"4013",c8e7c62d:"4042","3df306b2":"4485","2e1cfc81":"4670",de9cdfec:"4705","58f6021f":"4747",fd871b91:"4750","801535fb":"4830","7023fff7":"5007","75fad1b2":"5047","1242019a":"5080","0e168c38":"5092",ee9752e8:"5140",d139aec2:"5312","8847a56f":"6021",ccc49370:"6103",fde72991:"6249","65da893e":"6281","29e169e0":"6288",e8c20e17:"6432",e10ceca3:"6508",cfb5f2f4:"6554","3dca1eef":"6751","9c5c1c1d":"6872","608ae6a4":"6938","2141b49f":"6972","12620db3":"7051",c9ed2878:"7058",b5dc0be3:"7156","096bfee4":"7178","393be207":"7414",b0ceb39b:"7481",fdc1df46:"7502","93c6055a":"7549","68401fe2":"7633","5fdd5120":"7679",c23e63ad:"7717",acaa9576:"7768","8305bcdf":"7794",cc21946f:"7801","9d871e46":"7810",d75661c7:"7815","08ab4e0e":"7830",b6c09b67:"7851",b125a5be:"7871","3e1ff73b":"7874","7a9250c2":"7886","1a4e3797":"7920","8ef50b09":"7974",fdb65332:"8244","9bd677a5":"8340",cde235ff:"8419","2df8f4f1":"8507",d10168e2:"8584",c0d07cea:"8608","6875c492":"8610",f4f34a3a:"8636","5eec344d":"8722","0e546279":"8730","5b86aa40":"8761","76cbcfcc":"8919","925b3f96":"9003",df126469:"9004","4c9e35b1":"9035","0a545b48":"9039","4828adb4":"9068",bf90eb7c:"9130","7a7a5cbd":"9281","36f8e1e1":"9293",d7a31451:"9379","1be78505":"9514","7b223cce":"9586","2a68a27d":"9622","7661071f":"9642","0e384e19":"9671",e16015ca:"9700","678e5d22":"9742","7c7455f4":"9895","0abc2403":"9907",bef270d8:"9978"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(c,f)=>{var a=r.o(e,c)?e[c]:void 0;if(0!==a)if(a)f.push(a[2]);else if(/^(1303|532)$/.test(c))e[c]=0;else{var d=new Promise(((f,d)=>a=e[c]=[f,d]));f.push(a[2]=d);var b=r.p+r.u(c),t=new Error;r.l(b,(f=>{if(r.o(e,c)&&(0!==(a=e[c])&&(e[c]=void 0),a)){var d=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+c+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,a[1](t)}}),"chunk-"+c,c)}},r.O.j=c=>0===e[c];var c=(c,f)=>{var a,d,b=f[0],t=f[1],o=f[2],n=0;if(b.some((c=>0!==e[c]))){for(a in t)r.o(t,a)&&(r.m[a]=t[a]);if(o)var i=o(r)}for(c&&c(f);n

- + \ No newline at end of file diff --git a/blog/first-blog-post/index.html b/blog/first-blog-post/index.html index f19ffda89..96b5c6dc9 100644 --- a/blog/first-blog-post/index.html +++ b/blog/first-blog-post/index.html @@ -10,13 +10,13 @@ - +

First Blog Post

· One min read
Gao Wei

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

- + \ No newline at end of file diff --git a/blog/index.html b/blog/index.html index d919204a8..1fc24641a 100644 --- a/blog/index.html +++ b/blog/index.html @@ -10,13 +10,13 @@ - +

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

· One min read
Gao Wei

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

- + \ No newline at end of file diff --git a/blog/long-blog-post/index.html b/blog/long-blog-post/index.html index 047f73379..b66514dab 100644 --- a/blog/long-blog-post/index.html +++ b/blog/long-blog-post/index.html @@ -10,13 +10,13 @@ - +

Long Blog Post

· 3 min read
Endilie Yacop Sucipto

This is the summary of a very long blog post,

Use a <!-- truncate --> comment to limit blog post size in the list view.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

- + \ No newline at end of file diff --git a/blog/mdx-blog-post/index.html b/blog/mdx-blog-post/index.html index 99e8f032b..1b7f1ce02 100644 --- a/blog/mdx-blog-post/index.html +++ b/blog/mdx-blog-post/index.html @@ -10,13 +10,13 @@ - +
- + \ No newline at end of file diff --git a/blog/tags/docusaurus/index.html b/blog/tags/docusaurus/index.html index 8005967c4..7fdba8c0b 100644 --- a/blog/tags/docusaurus/index.html +++ b/blog/tags/docusaurus/index.html @@ -10,13 +10,13 @@ - +

4 posts tagged with "docusaurus"

View All Tags

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

· One min read
Gao Wei

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

- + \ No newline at end of file diff --git a/blog/tags/facebook/index.html b/blog/tags/facebook/index.html index d539293a0..2bea6b666 100644 --- a/blog/tags/facebook/index.html +++ b/blog/tags/facebook/index.html @@ -10,13 +10,13 @@ - +

One post tagged with "facebook"

View All Tags

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

- + \ No newline at end of file diff --git a/blog/tags/hello/index.html b/blog/tags/hello/index.html index e9b0491ab..85cf3b682 100644 --- a/blog/tags/hello/index.html +++ b/blog/tags/hello/index.html @@ -10,13 +10,13 @@ - +

2 posts tagged with "hello"

View All Tags

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

- + \ No newline at end of file diff --git a/blog/tags/hola/index.html b/blog/tags/hola/index.html index b71b38be6..461367cfb 100644 --- a/blog/tags/hola/index.html +++ b/blog/tags/hola/index.html @@ -10,13 +10,13 @@ - +

One post tagged with "hola"

View All Tags

· One min read
Gao Wei

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

- + \ No newline at end of file diff --git a/blog/tags/index.html b/blog/tags/index.html index 2cd1dee15..46ee43180 100644 --- a/blog/tags/index.html +++ b/blog/tags/index.html @@ -10,13 +10,13 @@ - + - + \ No newline at end of file diff --git a/blog/welcome/index.html b/blog/welcome/index.html index f47caf914..4b1e1faa5 100644 --- a/blog/welcome/index.html +++ b/blog/welcome/index.html @@ -10,13 +10,13 @@ - +

Welcome

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

- + \ No newline at end of file diff --git a/docs/Electronics/APIDescription/Encoder/index.html b/docs/Electronics/APIDescription/Encoder/index.html index c2ae2d66b..a898ce042 100644 --- a/docs/Electronics/APIDescription/Encoder/index.html +++ b/docs/Electronics/APIDescription/Encoder/index.html @@ -10,7 +10,7 @@ - + @@ -24,7 +24,7 @@ First UC2 Prototype (more to come soon)

Electronic interface

How to wire the UC2 AS5311 board to the UC2_V3 board?

Here are the ESP32 pins:

Understanding the AS5311 Encoder

The AS5311 operates based on magnetic principles, translating the movement of a magnetically encoded strip into digital signals. This encoder provides a resolution of 2mm per 1024 steps, meaning every 1024 increments in the encoder's output corresponds to a 2mm movement along the encoded strip. This high resolution enables precise control and measurement of linear motion, critical for applications requiring fine positioning accuracy.

Incorporating AS5311 into UC2-ESP Firmware

The integration involves processing the encoder's digital output signals to determine the position and movement direction. This is accomplished by reading changes in the encoder's output pins and applying the calculated position changes to maintain a feedback loop. The feedback loop is crucial for the PID controller, which adjusts the motor's speed and direction to correct any position errors.

There are multiple interfaces to read out the actual value like PWM, digital readout and incremental mode. We have chosen the A/B incremental mode since this uses the least number of wires. We use the encoder ports on the ESP32 v3 board to ensure the usage of interrupts to count the position changes in time.

Key Components of the Implementation

  • Encoder Event Processing: When an encoder output pin changes state, it triggers an interrupt. The firmware then determines the movement direction (forward or backward) by comparing the states of two encoder pins and adjusts the position accordingly.
  • PID Controller Integration: The PID controller calculates the necessary adjustments to the motor's speed based on the difference between the desired position and the current encoder position. This process involves precise tuning of the PID parameters (proportional, integral, derivative) to achieve optimal performance for specific hardware and motion requirements.
  • Serial Interface Commands: The firmware supports several commands over the serial interface for calibration, homing, precise movement, and current position queries. These commands allow for dynamic control and adjustment of the system's behavior.

Implementing Closed-Loop Control

  1. Calibration: Before precise control is possible, calibrating the relationship between motor steps and physical displacement is necessary. This involves moving the motor a known number of steps and measuring the resulting displacement using the encoder.
  2. Homing: The system can move the motor in one direction until it detects no further motion (indicating an endpoint) and then slightly retract to release any endstop engagement. This process sets a known reference point for subsequent movements.
  3. Precise Movement: With the PID controller tuned, the system can move the motor to specific positions with high accuracy. The controller adjusts the motor speed in real-time to minimize position error, relying on continuous feedback from the encoder.

Practical Considerations

  • PID Tuning: Achieving the desired control performance requires careful tuning of the PID parameters, which may involve empirical testing and adjustments based on the specific characteristics of the motor and mechanical setup.
  • Calibration Accuracy: The precision of calibration directly affects the system's overall accuracy. Ensure consistent and accurate measurements during the calibration process.

Control Interface

To effectively manage and interact with the linear position encoder and motor driver in the UC2-ESP system, a series of JSON-formatted strings are used. These strings serve as commands through the serial interface, allowing users to perform various actions such as calibration, homing, precise movement, and querying the current position. Below is a detailed explanation of each command type and its purpose within the system.

JSON Control Commands

1. Calibration (/linearencoder_act, calpos)

The calibration command is used to determine the precise relationship between the number of steps the motor takes and the physical displacement (in millimeters) as measured by the encoder. This is essential for ensuring accurate movements.

{
"task": "/linearencoder_act",
"calpos": {
"steppers": [
{
"stepperid": 1,
"calibsteps": -32000,
"speed": 10000
}
]
}
}
  • stepperid identifies the motor.
  • calibsteps specifies the number of steps to move during calibration (negative for backward movement).
  • speed defines the speed at which the motor should move during calibration.

2. Homing (/linearencoder_act, home)

The homing command moves the motor in one direction until it detects no further motion (suggesting it has hit an endpoint), then moves it slightly in the opposite direction to release any endstop. This process is used to establish a known reference position.

{
"task": "/linearencoder_act",
"home": {
"steppers": [
{
"stepperid": 1,
"endposrelease": -100,
"speed": -40000
}
]
}
}
  • endposrelease indicates the number of steps to move back to slightly release the endstop.
  • speed determines the speed of the homing motion. Negative values indicate direction.

3. Precise Movement (/linearencoder_act, moveP)

This command allows for moving the motor to a specific position with high precision, utilizing the PID controller for real-time adjustments based on encoder feedback.

{
"task": "/linearencoder_act",
"moveP": {
"steppers": [
{
"stepperid": 1,
"position": 1000,
"isabs": 1,
"cp": 100,
"ci": 0.0,
"cd": 10
}
]
}
}
  • position specifies the target position in encoder units.
  • isabs indicates whether the position is absolute (1) or relative to the current position (0).
  • cp, ci, cd are the PID controller parameters: proportional, integral, and derivative gains, respectively.

4. Get Current Position (/linearencoder_get)

To query the current position of the motor as measured by the encoder, the following command is used:

{
"task": "/linearencoder_get",
"linencoder": {
"posval": 1,
"id": 1
}
}
  • posval is a flag to request the position value.
  • id identifies the encoder from which to read the position.

Summary and Conclusion

These JSON commands form a versatile interface for controlling and querying the state of the motor and encoder in the UC2-ESP system. By sending these commands over the serial interface, users can precisely calibrate the system, perform accurate movements, and retrieve current position information, enabling high-precision control over linear motion systems.

The integration of the AS5311 linear encoder into the UC2-ESP firmware exemplifies advanced control techniques enabling precise linear motion control. Through careful implementation of encoder feedback and PID control algorithms, this system achieves high levels of accuracy and reliability, suitable for a wide range of precision motion applications.

- + \ No newline at end of file diff --git a/docs/Electronics/APIDescription/Home/index.html b/docs/Electronics/APIDescription/Home/index.html index 1e4299de6..572a1fc51 100644 --- a/docs/Electronics/APIDescription/Home/index.html +++ b/docs/Electronics/APIDescription/Home/index.html @@ -10,13 +10,13 @@ - +

Home

UC2-ESP Motor Homing Interface API Description

This API provides a means to perform homing procedures for motors in the UC2-ESP firmware using JSON documents transmitted over USB serial communication. The homing process involves finding the endstop for a motor, and the API allows for flexible configuration of this procedure.

Endpoint

Endpoint: /home_act

The endpoint /home_act is utilized to initiate motor homing procedures and configure the parameters associated with homing.

Request Format

The API expects a JSON document with the following structure:

{
"task": "/home_act",
"home": {
"steppers": [
{
"stepperid": 1,
"timeout": 20000,
"speed": 10000,
"direction": 1,
"endposrelease": 3000,
"endstoppolarity": 1
}
]
}
}
  • "task": Specifies the task to perform, in this case, it is /home_act.
  • "home": This object contains parameters related to the homing procedure.
    • "steppers": An array of stepper motor configurations for homing.
      • "stepperid": The ID of the motor to home. It can be values 0 to 3, corresponding to different motors (e.g., A, X, Y, Z).
      • "timeout": The maximum time (in milliseconds) the homing procedure is allowed to take. If the timeout is reached without successfully finding the endstop, the motor will stop.
      • "speed": The speed at which the motor homes (in steps per second).
      • "direction": Indicates the rotation direction of the motor to find the endstop. A value of 1 means a positive direction, and -1 means a negative direction.
      • "endposrelease": The number of steps the motor will run in the opposite direction after reaching the endstop, intended to release the endstop.
      • "endstoppolarity": Indicates whether the endstop is normally closed (1) or normally open (0).

Stopping the Motor During Homing Procedure

You can stop the motor during the homing procedure with a separate API request. For example:

{
"task": "/motor_act",
"motor": {
"steppers": [
{
"stepperid": 2,
"isstop": 1
}
]
}
}

In this request:

  • "task": Specifies the task to perform, which is /motor_act.
  • "motor": This object contains motor control parameters.
    • "steppers": An array of stepper motor configurations.
      • "stepperid": The ID of the motor to stop.
      • "isstop": Set to 1 to indicate that the motor should stop.

Response

The response from the motor homing interface API will depend on the execution of the homing procedure or the motor stopping request. It may include status updates, completion notifications, or relevant error messages.

Refer to the specific implementation or documentation for details on response formats and meanings.

Conclusion

The UC2-ESP Motor Homing Interface API offers a straightforward way to initiate and configure homing procedures for motors within the UC2-ESP firmware environment. It enables precise control over homing parameters and allows for motor stopping during the homing process, enhancing the reliability and efficiency of motor homing operations.

- + \ No newline at end of file diff --git a/docs/Electronics/APIDescription/INTRO/index.html b/docs/Electronics/APIDescription/INTRO/index.html index c78653515..dced668e0 100644 --- a/docs/Electronics/APIDescription/INTRO/index.html +++ b/docs/Electronics/APIDescription/INTRO/index.html @@ -10,14 +10,14 @@ - + - + \ No newline at end of file diff --git a/docs/Electronics/APIDescription/LEDArray/index.html b/docs/Electronics/APIDescription/LEDArray/index.html index 8814cf9d3..92bf53f72 100644 --- a/docs/Electronics/APIDescription/LEDArray/index.html +++ b/docs/Electronics/APIDescription/LEDArray/index.html @@ -10,13 +10,13 @@ - +

LED array

This API provides a convenient method for controlling individual LEDs within a NeoPixel LED array using the UC2-ESP firmware. The interface facilitates the manipulation of LED colors and array display modes. It operates through JSON documents sent over USB serial communication.

Endpoint

Endpoint: /ledarr_act

The endpoint /ledarr_act is used to manage LED array actions and LED color settings.

Request Format: Vary Single LEDs in RGB Values

To vary the RGB values of individual LEDs, the API expects a JSON document in the following format:

{
"task": "/ledarr_act",
"qid": 1,
"led": {
"LEDArrMode": 1,
"led_array": [
{
"id": 0,
"r": 255,
"g": 255,
"b": 255
}
]
}
}
  • "task": Specifies the task to perform, in this case, it is /ledarr_act.
  • "qid": The Queue ID (qid) is used to identify the messaging queue for returning status or completion notifications.
  • "led": This object contains LED-related parameters.
    • "LEDArrMode": Specifies the LED array mode. In this case, it's set to 1 to indicate individual LED manipulation.
    • "led_array": An array of LED configurations.
      • "id": The index representing the specific LED in the array.
      • "r", "g", "b": The RGB color values (8-bit) to set for the LED.

Request Format: Turn On Whole Array

To turn on the whole LED array with a specific color, the API request can be structured like this:

{
"task": "/ledarr_act",
"led": {
"LEDArrMode": 0,
"led_array": [
{
"id": 0,
"r": 0,
"g": 5,
"b": 0
}
]
}
}

In this case:

  • "LEDArrMode": Set to 0 to indicate turning on the entire LED array.
  • "led_array": Configuration for a single LED (in this case, the first LED) with the specified RGB color values.

Special Patterns: Left, Right, Top, Bottom

The API also supports special patterns to control specific LEDs based on their positions relative to the center of an 8x8 grid. For example, to turn on LEDs to the left of the center, the request can be structured as follows:

{
"task": "/ledarr_act",
"led": {
"LEDArrMode": "left"
}
}

Other special patterns like "right", "top", and "bottom" can be used in a similar manner.

Response

The response from the LED array interface API will depend on the execution of the LED array action. It might include status updates, completion notifications, or relevant error messages.

Refer to the specific implementation or documentation for details on response formats and meanings.

Conclusion

The UC2-ESP NeoPixel LED Array Interface API offers a user-friendly method to control individual LEDs within a NeoPixel LED array using JSON documents over USB serial communication. It enables versatile LED color control, array display modes, and special patterns, enhancing the flexibility and visual possibilities of NeoPixel LED arrays within the UC2-ESP firmware ecosystem.

- + \ No newline at end of file diff --git a/docs/Electronics/APIDescription/Motor/index.html b/docs/Electronics/APIDescription/Motor/index.html index 11b6d23f6..f38e86b83 100644 --- a/docs/Electronics/APIDescription/Motor/index.html +++ b/docs/Electronics/APIDescription/Motor/index.html @@ -10,13 +10,13 @@ - +

Motor

This API provides a straightforward way to control and manage motors using the UC2-ESP firmware. The interface operates over USB serial communication and accepts JSON documents to control motor movements. The main endpoint for motor control is /motor_act.

Endpoint

Endpoint: /motor_act

The endpoint /motor_act is used to initiate motor actions and control motor movement parameters.

Request Format

The API expects a JSON document with the following structure:

{
"task": "/motor_act",
"qid": 4,
"motor": {
"steppers": [
{
"stepperid": 1,
"position": -20090,
"speed": -20000,
"isabs": 0,
"isaccel": 1,
"accel": 10000
}
]
}
}
  • "task": Specifies the task to perform, in this case, it is /motor_act.
  • "qid": The Queue ID (qid) is used to identify the messaging queue for returning status or completion notifications.
  • "motor": This object contains motor-related parameters.
    • "steppers": An array of stepper motor configurations.
      • "stepperid": The ID of the stepper motor to control. It can be values 0 to 3, corresponding to different motors (e.g., a, x, y, z).
      • "position": The desired position in steps. Negative values indicate movement in the opposite direction.
      • "speed": The speed of movement in steps per second.
      • "isabs": A flag (0 or 1) indicating whether the movement is absolute (1) or relative (0) to the current position.
      • "isaccel": A flag (0 or 1) indicating whether acceleration ramping should be applied at the beginning of the movement.
      • "accel": The acceleration value in steps per second squared.

Example Request

{
"task": "/motor_act",
"qid": 4,
"motor": {
"steppers": [
{
"stepperid": 1,
"position": -20090,
"speed": -20000,
"isabs": 0,
"isaccel": 1,
"accel": 10000
}
]
}
}

Response

The response from the motor interface API will depend on the actual execution of the motor movement task. It might include status updates, completion notifications, or any relevant error messages.

Please refer to the specific implementation or documentation for details on response formats and meaning.

Additional Endpoint: Motor Information Retrieval

For querying motor information, an additional endpoint is available:

Endpoint: /motor_get

This endpoint can be used to retrieve information about the current state of the motor or its settings.

Motor Action: Move at Constant Speed

To move a motor at a constant speed in a certain direction, you can use the following API request format:

{
"task": "/motor_act",
"motor": {
"steppers": [
{
"stepperid": 1,
"isforever": 1,
"speed": -1500,
"isabs": 0,
"isaccel": 0
}
]
}
}
  • "task": Specifies the task to perform, in this case, it is /motor_act.
  • "motor": This object contains motor-related parameters.
    • "steppers": An array of stepper motor configurations.
      • "stepperid": The ID of the motor to control. Motor IDs are typically represented as 0, 1, 2, 3, corresponding to motors A, X, Y, Z.
      • "isforever": A new parameter indicating whether the motor should move at a constant speed indefinitely. Set to 1 to enable continuous movement.
      • "speed": The speed at which the motor should move. A negative value indicates movement in one direction, while a positive value indicates movement in the opposite direction.
      • "isabs": A flag indicating whether the speed value should be interpreted as an absolute speed (1) or as a relative speed (0).
      • "isaccel": A flag indicating whether the motor should accelerate during the movement (1) or maintain a constant speed (0).

With the "isforever" parameter set to 1, the motor specified by "stepperid" will move at a constant speed in the specified direction, following the speed and acceleration settings as configured. This is useful for continuous or long-duration motor movements.

This addition to the motor API allows for precise control over motor behavior, including the ability to perform continuous movements in a specified direction, enhancing the functionality and versatility of the UC2-ESP motor control system.

Set Position of motors

To set the position of motors using the UC2-ESP motor control system, you can make use of the following API request format:

{
"task": "/motor_act",
"setpos": {
"steppers": [
{
"stepperid": 0,
"posval": 100
},
{
"stepperid": 1,
"posval": 0
},
{
"stepperid": 2,
"posval": 0
},
{
"stepperid": 3,
"posval": 0
}
]
}
}

In this configuration, the "task" parameter specifies the action to be performed, which is /motor_act, indicating a motor-related task. The "setpos" object within the request contains an array of stepper motor configurations, each identified by its "stepperid". You can set the desired position of each motor using the "posval" parameter. By sending this request, you can precisely control the position of multiple motors simultaneously, enabling you to achieve specific motor positions as needed for your application. This functionality enhances the versatility of the UC2-ESP motor control system, allowing for precise positioning in various automation and control scenarios.

Conclusion

The UC2-ESP Motor Interface API provides a clear and structured way to control and manage motor movements using JSON documents over USB serial communication. It allows for precise control of motor parameters, movement types, and acceleration profiles, enhancing the flexibility and efficiency of motor control within the UC2-ESP firmware environment.

- + \ No newline at end of file diff --git a/docs/Electronics/APIDescription/PinConfig/index.html b/docs/Electronics/APIDescription/PinConfig/index.html index 054b9ce7c..ff5b2b779 100644 --- a/docs/Electronics/APIDescription/PinConfig/index.html +++ b/docs/Electronics/APIDescription/PinConfig/index.html @@ -10,14 +10,14 @@ - +

PinConfig

UC2 System Version 2 and 3, and WEMOS Board Pinout Description

The provided code defines the pinout configuration for different versions of the UC2 system and the WEMOS board when running on an ESP32. Here's a breakdown of the pinout descriptions for each of these configurations:

You can find all the details here: https://github.com/youseetoo/uc2-esp32/blob/main/main/PinConfig.h The different board versions are also documented here: https://youseetoo.github.io/. The online flashing tool can be used to update to the latest firmware.

  1. UC2 System Version 2 (UC2_2):

    • Motor Pins:

      • Motor A Direction: GPIO_NUM_21
      • Motor X Direction: GPIO_NUM_33
      • Motor Y Direction: GPIO_NUM_16
      • Motor Z Direction: GPIO_NUM_14
      • Motor A Step: GPIO_NUM_22
      • Motor X Step: GPIO_NUM_2
      • Motor Y Step: GPIO_NUM_27
      • Motor Z Step: GPIO_NUM_12
      • Motor Enable: GPIO_NUM_13
      • Motor Enable Inverted: true
      • Motor Auto-enable: true
    • Lasers:

      • Laser 1: GPIO_NUM_17
      • Laser 2: GPIO_NUM_4
      • Laser 3: GPIO_NUM_15
    • LEDs:

      • LED Pin: GPIO_NUM_32
      • LED Count: 64
    • Endstops and Digital Inputs:

      • Digital Input 1: GPIO_NUM_34
      • Digital Input 2: GPIO_NUM_39
      • Digital Input 3: Disabled
    • PlayStation (PSX) Controller:

      • MAC Address: "1a:2b:3c:01:01:04"
      • Controller Type: PS4 (2)
    • Joystick Settings:

      • Joystick Speed Multiplier: 30
      • Joystick Max Illumination: 100
      • Joystick Speed Multiplier for Z: 30
  2. UC2 WEMOS Board (UC2_WEMOS):

    • Motor Pins:

      • Motor A Direction: GPIO_NUM_23
      • Motor X Direction: GPIO_NUM_16
      • Motor Y Direction: GPIO_NUM_27
      • Motor Z Direction: GPIO_NUM_14
      • Motor A Step: GPIO_NUM_5
      • Motor X Step: GPIO_NUM_26
      • Motor Y Step: GPIO_NUM_25
      • Motor Z Step: GPIO_NUM_17
      • Motor Enable: GPIO_NUM_12
      • Motor Enable Inverted: true
    • Lasers:

      • Laser 1: GPIO_NUM_18
      • Laser 2: GPIO_NUM_19
      • Laser 3: GPIO_NUM_13
    • LEDs:

      • LED Pin: GPIO_NUM_4
      • LED Count: 64
    • Endstops and Digital Inputs:

      • Digital Input 1: Disabled
      • Digital Input 2: Disabled
      • Digital Input 3: Disabled
    • PlayStation (PSX) Controller:

      • MAC Address: "1a:2b:3c:01:01:03"
      • Controller Type: PS4 (2)
    • Joystick Settings:

      • Joystick Speed Multiplier: 5
      • Joystick Speed Multiplier for Z: 3
  3. UC2 System Version 3 (UC2_3):

    • Motor Pins:

      • Motor A Step: GPIO_NUM_15
      • Motor X Step: GPIO_NUM_16
      • Motor Y Step: GPIO_NUM_14
      • Motor Z Step: GPIO_NUM_0
      • Motor Enable Inverted: true
      • Motor Auto-enable: true
      • Use Fast AccelStepper: true
      • AccelStepper Motor Type: 1 (Driver)
    • Lasers:

      • Laser 1: GPIO_NUM_12
      • Laser 2: GPIO_NUM_4
      • Laser 3: GPIO_NUM_2
    • LEDs:

      • LED Pin: GPIO_NUM_13
      • LED Count: 64
    • Endstops and Digital Inputs:

      • Digital Input 1: GPIO_NUM_105 (I2C TCA)
      • Digital Input 2: GPIO_NUM_106
      • Digital Input 3: GPIO_NUM_107
    • Joystick Settings:

      • Joystick Speed Multiplier: 30
      • Joystick Max Illumination: 100
      • Joystick Speed Multiplier for Z: 30
    • Caliper and I2C:

      • X_CAL_DATA: GPIO_NUM_32
      • Y_CAL_DATA: GPIO_NUM_34
      • Z_CAL_DATA: GPIO_NUM_36
      • X_CAL_CLK: GPIO_NUM_33
      • Y_CAL_CLK: GPIO_NUM_35
      • Z_CAL_CLK: GPIO_NUM_17
      • I2C_SCL: GPIO_NUM_22
      • I2C_SDA: GPIO_NUM_21
      • I2C Address: 0x27
      • I2C Interrupt: GPIO_NUM_27
    • SPI:

      • SPI MOSI: GPIO_NUM_23
      • SPI MISO: GPIO_NUM_19
      • SPI SCK: GPIO_NUM_18
      • SPI CS: GPIO_NUM_5

This pinout configuration provides a comprehensive overview of how different components are connected to the ESP32 in the UC2 system versions 2 and 3 and the WEMOS board, making it easier to understand the hardware connections for your project.

- + \ No newline at end of file diff --git a/docs/Electronics/PS4-Controller/index.html b/docs/Electronics/PS4-Controller/index.html index b70fdd2ec..71a0f9cff 100644 --- a/docs/Electronics/PS4-Controller/index.html +++ b/docs/Electronics/PS4-Controller/index.html @@ -10,13 +10,13 @@ - +

PS4-Controller

If you are using the webserial online flashing tool provided by UC2 (https://youseetoo.github.io/) to flash the firmware onto your ESP8266 or ESP32 development board, the process of connecting the PS4 controller to the UC2-ESP remains similar to the steps mentioned earlier. However, please note that the flashing tool is a separate tool for uploading firmware, and the Bluetooth communication with the PS4 controller needs to be implemented in your firmware code.

Attention Chrome only!

Here's how the process would look like with the webserial online flashing tool:

Step 1: Gather Required Materials

As mentioned earlier, you will need the following materials:

  1. UC2-ESP development board (ESP8266 or ESP32).
  2. PS4 controller.
  3. Micro USB cable (for charging the PS4 controller).
  4. Computer with a web browser and the webserial online flashing tool (https://youseetoo.github.io/).

Step 2: Upload the Firmware

Use the webserial online flashing tool provided by UC2 (https://youseetoo.github.io/) to upload your custom firmware code to the UC2-ESP development board. The details of this process might vary depending on the specific tool's interface, but generally, you will need to:

  1. Connect the UC2-ESP to your computer using a USB cable.
  2. Open the webserial online flashing tool in your web browser.
  3. Select the correct board (most likely UART-something) and COM port (which should be automatically detected by the tool).
  4. Upload your custom firmware code that includes the Bluetooth communication with the PS4 controller.

STep 3: Bring ESP into scanning mode and Put the PS4 Controller in Pairing Mode

Go to https://youseetoo.github.io/indexWebSerialTest.html and connect to the ESP again (make sure the other tab closed the serial connection - close it or reload it); Hit the BT paring button

Alternative: Go to any serial monitor and paste {"task":"/bt_scan"}

Follow the same steps to put the PS4 controller into pairing mode by pressing and holding the "PS" button and the "Share" button on the controller simultaneously until the light on the controller starts flashing rapidly.

Step 4: Monitor Serial Output (Optional)

As in the previous explanation, you can open the Serial Monitor in the Arduino IDE or other compatible software to monitor the UC2-ESP's output for debugging purposes.

This will be the resulting output if everything goes right

[397987][I][SerialProcess.cpp:50] loop(): process single task
I (398691) HIDGamePad: SCAN...
BLE: 0a:1c:6e:49:95:41, RSSI: -46, UUID: 0x0000, APPEARANCE: 0x0000, ADDR_TYPE: 'RANDOM'
BLE: b8:bc:5b:90:26:3d, RSSI: -82, UUID: 0x0000, APPEARANCE: 0x0000, ADDR_TYPE: 'PUBLIC'
BLE: 72:63:5d:ef:d7:eb, RSSI: -46, UUID: 0x0000, APPEARANCE: 0x0000, ADDR_TYPE: 'RANDOM'
BLE: f4:f9:51:e2:66:bc, RSSI: -70, UUID: 0x0000, APPEARANCE: 0x0000, ADDR_TYPE: 'PUBLIC'
BLE: 42:0b:37:00:45:b4, RSSI: -68, UUID: 0x0000, APPEARANCE: 0x0000, ADDR_TYPE: 'RANDOM'
BLE: 40:33:6a:63:f2:d4, RSSI: -45, UUID: 0x0000, APPEARANCE: 0x0000, ADDR_TYPE: 'RANDOM'
BLE: b8:bc:5b:90:26:3d, RSSI: -86, UUID: 0x0000, APPEARANCE: 0x0000, ADDR_TYPE: 'PUBLIC', NAME: '[TV] Samsung Q70 Series (55)'
BLE: 24:fc:e5:27:da:f8, RSSI: -83, UUID: 0x0000, APPEARANCE: 0x0000, ADDR_TYPE: 'PUBLIC'
BLE: 4c:e8:a0:e3:65:41, RSSI: -60, UUID: 0x0000, APPEARANCE: 0x0000, ADDR_TYPE: 'RANDOM'
BLE: 24:fc:e5:27:da:f8, RSSI: -86, UUID: 0x0000, APPEARANCE: 0x0000, ADDR_TYPE: 'PUBLIC', NAME: '[AV] Samsung Soundbar Q70R'
BLE: d2:2f:54:06:51:0b, RSSI: -60, UUID: 0x0000, APPEARANCE: 0x0000, ADDR_TYPE: 'RANDOM'
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -44, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -45, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -42, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -42, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -42, NAME: Wireless Controller
BT : b8:bc:5b:90:26:3d, COD: major: AV, minor: 15, service: 0x060, RSSI: -87, NAME: [TV] Samsung Q70 Series (55)
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -44, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -44, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -42, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -42, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -45, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 7c:2f:80:34:51:c6, COD: major: PHONE, minor: 2, service: 0x080, RSSI: -53, NAME: SL4 professional
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -42, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -42, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -42, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -44, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -44, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -44, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -45, NAME: Wireless Controller
BT : b8:bc:5b:90:26:3d, COD: major: AV, minor: 15, service: 0x060, RSSI: -80, NAME: [TV] Samsung Q70 Series (55)
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -42, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -45
BT : b8:bc:5b:90:26:3d, COD: major: AV, minor: 15, service: 0x060, RSSI: -80
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -44, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : b8:bc:5b:90:26:3d, COD: major: AV, minor: 15, service: 0x060, RSSI: -82
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -44, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -46, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -42, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 84:30:95:7f:83:c6, COD: major: PERIPHERAL, minor: 2, service: 0x001, RSSI: -43, NAME: Wireless Controller
BT : 7c:2f:80:34:51:c6, BDNAME: SL4 professional
BT : b8:bc:5b:90:26:3d, BDNAME: [TV] Samsung Q70 Series (55)
I (407539) HIDGamePad: SCAN: 1 results
BT : 84:30:95:7f:83:c6, RSSI: -43, USAGE: GENERIC, COD: PERIPHERAL[GAMEPAD] srv 0x001, UUID16: 0x0000, NAME: Wireless Controller
I (407553) HIDGamePad: connect...
I (407557) HIDGamePad: connected...
esp_hidh_dev_open returned 1073459020
I (407565) HIDGamePad: vtaskdelete hid_demo_task
W (408159) ESP_HID_GAP: BT GAP EVENT AUTH_CMPL
I (408224) HIDGamePad: 84:30:95:7f:83:c6 OPEN:
BDA:84:30:95:7f:83:c6, Status: OK, Connected: YES, Handle: 0, Usage: GAMEPAD
Name: , Manufacturer: , Serial Number:
PID: 0x09cc, VID: 0x054c, VERSION: 0x0100
Report Map Length: 442
VENDOR FEATURE REPORT, ID: 212, Length: 63
VENDOR FEATURE REPORT, ID: 208, Length: 63
VENDOR FEATURE REPORT, ID: 181, Length: 63
VENDOR FEATURE REPORT, ID: 180, Length: 63
VENDOR FEATURE REPORT, ID: 179, Length: 63
VENDOR FEATURE REPORT, ID: 173, Length: 63
VENDOR FEATURE REPORT, ID: 172, Length: 63
VENDOR FEATURE REPORT, ID: 171, Length: 63
VENDOR FEATURE REPORT, ID: 170, Length: 63
VENDOR FEATURE REPORT, ID: 169, Length: 63
VENDOR FEATURE REPORT, ID: 168, Length: 63
VENDOR FEATURE REPORT, ID: 167, Length: 63
VENDOR FEATURE REPORT, ID: 164, Length: 63
VENDOR FEATURE REPORT, ID: 160, Length: 63
VENDOR FEATURE REPORT, ID: 148, Length: 63
VENDOR FEATURE REPORT, ID: 147, Length: 63
VENDOR FEATURE REPORT, ID: 146, Length: 63
VENDOR FEATURE REPORT, ID: 145, Length: 63
VENDOR FEATURE REPORT, ID: 144, Length: 63
VENDOR FEATURE REPORT, ID: 132, Length: 63
VENDOR FEATURE REPORT, ID: 131, Length: 63
VENDOR FEATURE REPORT, ID: 130, Length: 63
VENDOR OUTPUT REPORT, ID: 25, Length: 546
VENDOR INPUT REPORT, ID: 25, Length: 546
VENDOR OUTPUT REPORT, ID: 24, Length: 525
VENDOR INPUT REPORT, ID: 24, Length: 525
VENDOR OUTPUT REPORT, ID: 23, Length: 461
VENDOR INPUT REPORT, ID: 23, Length: 461
VENDOR OUTPUT REPORT, ID: 22, Length: 397
VENDOR INPUT REPORT, ID: 22, Length: 397
VENDOR OUTPUT REPORT, ID: 21, Length: 333
VENDOR INPUT REPORT, ID: 21, Length: 333
VENDOR OUTPUT REPORT, ID: 20, Length: 269
VENDOR INPUT REPORT, ID: 20, Length: 269
VENDOR OUTPUT REPORT, ID: 19, Length: 205
VENDOR INPUT REPORT, ID: 19, Length: 205
VENDOR OUTPUT REPORT, ID: 18, Length: 141
VENDOR INPUT REPORT, ID: 18, Length: 141
VENDOR OUTPUT REPORT, ID: 17, Length: 77
VENDOR INPUT REPORT, ID: 17, Length: 77
VENDOR FEATURE REPORT, ID: 242, Length: 15
VENDOR FEATURE REPORT, ID: 241, Length: 63
VENDOR FEATURE REPORT, ID: 240, Length: 63
VENDOR FEATURE REPORT, ID: 4, Length: 46
VENDOR FEATURE REPORT, ID: 3, Length: 38
VENDOR FEATURE REPORT, ID: 9, Length: 19
VENDOR FEATURE REPORT, ID: 8, Length: 47
VENDOR FEATURE REPORT, ID: 7, Length: 48
VENDOR FEATURE REPORT, ID: 6, Length: 52
VENDOR FEATURE REPORT, ID: 5, Length: 40
VENDOR FEATURE REPORT, ID: 163, Length: 48
VENDOR FEATURE REPORT, ID: 2, Length: 36
GAMEPAD INPUT REPORT, ID: 1, Length: 9
Turning on LAser 10000

Step 5: Test the PS4 Controller

After successfully flashing the firmware, disconnect the UC2-ESP from the computer and power it using an external power source (e.g., a USB power bank). The UC2-ESP should now be ready to receive input from the PS4 controller as per the implemented functionality in your custom firmware.

Step 6: Interact with Your Project

The PS4 controller should now be able to communicate with your UC2-ESP development board as specified in the firmware code. Depending on the implementation, you can use the PS4 controller's buttons, joysticks, and other features to control your project wirelessly.

  • right joystick moves stage x/y
  • left joystick moves z-focus and a-axis
  • x turns led on
  • o turns led off

Conclusion

By utilizing the webserial online flashing tool provided by UC2, you can conveniently upload your custom firmware code to the UC2-ESP development board. This allows you to implement Bluetooth communication with the PS4 controller and integrate it seamlessly into your projects. Enjoy experimenting and creating with your PS4 controller and UC2-ESP!

- + \ No newline at end of file diff --git a/docs/Electronics/UC2-ESP/Setup_Buildenvironment/index.html b/docs/Electronics/UC2-ESP/Setup_Buildenvironment/index.html index 020cc56df..c55d67763 100644 --- a/docs/Electronics/UC2-ESP/Setup_Buildenvironment/index.html +++ b/docs/Electronics/UC2-ESP/Setup_Buildenvironment/index.html @@ -10,14 +10,14 @@ - +

UC2-ESP Firmware for the openUC2 UC2e electronics

info

This refers to the UC2-ESP firmware that can be found here: https://github.com/youseetoo/uc2-esp32

This repository provides the latest (V2) firmware that controls external hardware like Motors, LEDs, Lasers and other customized elements using an ESP32 and an adapter board. It is inspired by the UC2-REST firmware, but features a much more structured way of the code by dividing modules into seperated classes. A ModuleController ensures a proper initializiation of individual modules at runtime, which makes the entire code very modular and follows the overall UC2 principle.

Similar to the legacy UC2-REST Firmware, the microcontroller can communicate using the wired serial and the wireless WiFi protocol. Both rely on a more-less similar REST API that uses endpoints to address an act, get, set command. For example, the information about the state of the ESP can be retrieved by issuing the code:

{"task":"/state_get"}

A list of all commands that can be sent via HTTP requests and serial commands (e.g. by using the Arduino IDE-contained Serial monitor at 50000 BAUD) can be found in the RestApi.md-file.

Setting up the build environment

Certainly! Below is a tutorial crafted for beginners who are interested in developing firmware for the UC2-ESP project using Visual Studio Code with PlatformIO. This project is specifically designed for the ESP32 platform, leveraging both Arduino and ESP-IDF frameworks as defined in its platformio.ini file.

Prerequisites

Before diving into the development process, ensure you have the following:

  1. Visual Studio Code installed on your computer.
  2. PlatformIO IDE extension for Visual Studio Code.
  3. Git installed for cloning the repository.

Setting Up Your Development Environment

Step 1: Install Visual Studio Code and PlatformIO

  1. Download and install Visual Studio Code (VS Code) from the official website.
  2. Open VS Code and navigate to the Extensions view by clicking on the square icon on the sidebar or pressing Ctrl+Shift+X.
  3. Search for "PlatformIO IDE" and click on the install button.
  4. Restart VS Code to ensure the PlatformIO IDE extension is properly loaded.

Step 2: Clone the UC2-ESP Repository

  1. Open a terminal or command prompt.
  2. Clone the UC2-ESP repository by executing:
    git clone --recurse-submodules https://github.com/youseetoo/uc2-esp32
  3. This command clones the repository and all its submodules, ensuring you have the complete codebase.

Step 3: Open the Project in VS Code

  1. Open VS Code, go to the File menu, and select "Open Folder".
  2. Navigate to the directory where you cloned the UC2-ESP repository and select the uc2-esp32 folder.

Step 4: Configuration

  1. Once the project is open in VS Code, locate the platformio.ini file in the root directory. This file contains the configuration for your project environment.
  2. If your development board is connected, you can set the upload_port based on your system:
    • For Linux/Mac: upload_port = /dev/cu.SLAB_USBtoUART
    • For Windows: upload_port = COM3 (adjust the COM port based on your system)
  3. Examine the PinConfig.h file to select the appropriate board configuration by setting the desired PinConfig structure, e.g., const UC2_3 pinConfig;.
  4. Changing debug level:
build_flags = 
-DCORE_DEBUG_LEVEL=0

Step 5: Building and Uploading the Firmware

  1. With the project open in VS Code, click on the PlatformIO icon on the sidebar.
  2. Under the "Quick Access" section, locate your environment (e.g., esp32dev) and click on the "Upload" button. This action compiles the code and uploads it to your ESP32 board.
  3. After uploading, the terminal will display messages about the process. A successful upload ends with "Leaving... Hard resetting via RTS pin...".

Step 6: Monitoring Output

  1. To view the serial output from your ESP32, click on the "Monitor" button in the PlatformIO Quick Access section.
  2. Ensure the monitor_speed in the platformio.ini file matches the baud rate set in your program (default is 500000 for this project).
  3. If necessary, reset your ESP32 board to start the program from the beginning.

Step 7: Debugging and Troubleshooting

If you encounter issues during development or uploading:

  • Double-check your platformio.ini configurations, especially the upload_port and board settings.
  • Review the serial monitor output for any error messages.
  • Ensure your ESP32 board is correctly connected to your computer.
  • For specific problems, consider filing an issue in the UC2-ESP GitHub repository for support.

Testing and Experimentation

To test various functionalities, refer to the json_api_BD.txt file in the main directory for a collection of JSON commands that can be sent to the ESP32.

This guide covers the basics to get started with firmware development for the UC2-ESP project using VS Code and PlatformIO. As you become more familiar with the project, explore the codebase to understand the implementation details and how you can contribute to its development.

In order to test several commands, you can find a useful list of jsonfiles in this file: main/json_api_BD.txt

Flash the firmware using the Web-Tool

A new way to flash the firmware to the ESP32 is to use the open-source ESPHome Webtool. We have modified it such that the software in thi repo is compiled and uploaded to the website:

[www.youseetoo.github.io](youseetoo.github.io)

There you can select the board you have and flash the code. If the driver is properly installed, you simply select the port and hit start. The firmware will automatically be downloaded and flashed through the browser.

This shows the gui to first select the board you have before the browser (chrome/edge) automatically flashes the firmware.

Additional information

This is a fastly moving repo and the information may get outdated quickly. Please also check the relevant information in our documentation

Information about the REST commands

Every component can be used by calling it in a REST-ful way. A not-complete document that describes the most important functions can be found here

The general structure for the serial would become:

{"task": "/state_get"}

to get the information about the MCU. A additional cheat-sheet can be found here

Some Arduino-CLI/ESPTOOL/PlatformIO-related commands

This is a random collection of tasks/commands that are useful to compile/upload the code by hand.

Convert the firmware into a single file:

cd uc2-ESP/.pio/build/esp32dev
python -m esptool --chip esp32 merge_bin -o merged-firmware.bin --flash_mode dio --flash_freq 40m --flash_size 4MB 0x1000 bootloader.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 firmware.bin

Install the ESP32 core

arduino-cli core update-index --config-file arduino-cli.yaml
arduino-cli core install esp32:esp32
arduino-cli board list

Compile the firmware in a dedicated output folder

mkdir build
arduino-cli compile --fqbn esp32:esp32:esp32:PSRAM=disabled,PartitionScheme=huge_app,CPUFreq=80 ESP32/main/main.ino --output-dir ./build/ --libraries ./libraries/

Flash the firmware to the ESP32 board

esptool.py --chip esp32 --port /dev/cu.SLAB_USBtoUART --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 /build/main.ino.bootloader.bin 0x8000 /build/main.ino.partitions.bin 0xe000 /build/boot_app0.bin 0x10000 /build/main.ino.bin

Upload the firmware using the Arduino-CLI

arduino-cli upload -p /dev/cu.usbserial-1310 --fqbn esp32:esp32:esp32-poe-iso .

Screen the serial monitor

screen /dev/cu.usbserial-1310 115200

Upload via esptool:

pip install esptool
python -m esptool --chip esp32 --port /dev/cu.SLAB_USBtoUART --baud 921600 write_flash --flash_mode dio --flash_size detect 0x0 main.ino.bin
- + \ No newline at end of file diff --git a/docs/Electronics/UC2-REST/ESP32_Messaging_Callback/index.html b/docs/Electronics/UC2-REST/ESP32_Messaging_Callback/index.html index 71c7d535c..f7521d2b2 100644 --- a/docs/Electronics/UC2-REST/ESP32_Messaging_Callback/index.html +++ b/docs/Electronics/UC2-REST/ESP32_Messaging_Callback/index.html @@ -10,13 +10,13 @@ - +

UC2-REST: Messaging

This documentation covers the callback functionality integrated into the firmware, particularly focusing on the Message class. The Message class is designed to parse incoming messages from the ESP32, facilitating the conversion of hardware inputs and other events into software actions.

Message Class

The Message class plays a pivotal role in handling incoming messages from the ESP32, allowing for events such as image capture or adjustments to hardware inputs to be managed through software events.

Constructor

def __init__(self, parent=None):
  • Parameters:

    • parent (optional): A reference to the parent object, typically used for accessing shared resources or methods.
  • Description:

    • Initializes the Message object with an empty dictionary of callback functions and optionally sets up a callback for motor status if the parent object has a serial attribute.

Registering Callbacks

def register_callback(self, key, callback):
  • Parameters:

    • key: The key associated with the message to trigger the callback.
    • callback: The function to be called when a message with the specified key is received.
  • Description:

    • Associates a callback function with a specific key. When a message with this key is received, the specified callback function is triggered.

Callback Message Handler

def _callback_message(self, data):
  • Parameters:

    • data: The incoming message data in JSON format.
  • Description:

    • Parses the incoming JSON message, extracting the key and data. If a callback function has been registered for the key, it is invoked with the message data.

Example Usage

import uc2rest
import time

# Initialize the UC2 client
port = "/dev/cu.SLAB_USBtoUART"
ESP32 = uc2rest.UC2Client(serialport=port, baudrate=500000, DEBUG=True)

# Define a callback function
def my_callback_key1(value):
print("Callback:", value)

# Register the callback function for key 1
ESP32.message.register_callback(1, my_callback_key1)

# Main loop to keep the script running
while True:
time.sleep(.1)
  • Description:
    • This example demonstrates how to set up the ESP32 client, register a callback function for a specific key, and enter a loop that keeps the script running to listen for messages.
- + \ No newline at end of file diff --git a/docs/Electronics/UC2-REST/ESP32_Motor/index.html b/docs/Electronics/UC2-REST/ESP32_Motor/index.html index c80844d90..4604fee49 100644 --- a/docs/Electronics/UC2-REST/ESP32_Motor/index.html +++ b/docs/Electronics/UC2-REST/ESP32_Motor/index.html @@ -10,13 +10,13 @@ - +

UC2-REST: Motor

This section provides detailed documentation on the Motor class designed for controlling motors via the firmware. The Motor class includes functionality for motor movement, triggering, position tracking, and stage scanning, among other features.

Motor Class Overview

The Motor class is responsible for managing motor operations, including movement commands, position tracking, stage scanning, and trigger setting. This class interacts directly with the ESP32 hardware to perform these actions.

Constructor

def __init__(self, parent=None):
  • Parameters:

    • parent (optional): A reference to the parent object for accessing shared methods or resources.
  • Description:

    • Initializes the motor controller with default settings, including motor configuration and position tracking.

Motor Movement Methods

  • move_x, move_y, move_z, move_a, move_xy, move_xyz, move_xyza, move_az: Move motors in specified directions or to specific positions.
  • move_forever: Continuously moves the motor until a stop command is issued.
  • stop: Stops motor movement.

Continuing from the previous section, let's extend the documentation to include move_stepper, stop, and move_az methods from the Motor class. This will provide a comprehensive guide on how these methods can be utilized within the firmware to control motor movements, including stopping the motors and moving them in the AZ (A and Z axis) configuration.

Moving Steppers

def move_stepper(steps, speed, is_absolute=False, timeout=gTIMEOUT, acceleration=None, is_blocking=True, is_enabled=True):
  • Parameters:

    • steps: A tuple specifying the number of steps to move for each motor (A, X, Y, Z).
    • speed: A tuple indicating the speed for each motor's movement.
    • is_absolute (optional): Indicates if the movement is absolute or relative to the current position.
    • timeout (optional): The timeout for the operation.
    • acceleration (optional): A tuple specifying the acceleration for each motor.
    • is_blocking (optional): If True, the method waits for the movement to complete before returning.
    • is_enabled (optional): If True, enables the motor before moving.
  • Description:

    • Moves the stepper motors according to the specified parameters. This method allows for precise control over each motor's movement, including direction, speed, and acceleration.

Stopping Motors

def stop(axis=None):
  • Parameters:

    • axis (optional): The axis or axes to stop. If None, all motors are stopped.
  • Description:

    • Stops movement of one or more motors immediately. If no axis is specified, all motors are stopped.

Moving in AZ Configuration

def move_az(steps, speed, acceleration=None, is_blocking=False, is_absolute=False, is_enabled=True, timeout=gTIMEOUT):
  • Parameters:

    • steps: A tuple specifying the number of steps to move for the A and Z motors.
    • speed: A tuple indicating the speed for the A and Z motors' movement.
    • acceleration (optional): A tuple specifying the acceleration for the A and Z motors.
    • is_blocking (optional): If True, the method waits for the movement to complete before returning.
    • is_absolute (optional): Indicates if the movement is absolute or relative to the current position.
    • is_enabled (optional): If True, enables the motor before moving.
    • timeout (optional): The timeout for the operation.
  • Description:

    • Moves the A and Z motors according to the specified parameters. This method is useful for systems that require simultaneous control over the A and Z axes.

Example Usage

# Move the stepper motors in a relative manner
ESP32.motor.move_stepper(steps=(100, 100, 0, 0), speed=(1000, 1000, 0, 0))

# Stop the X and Y motors
ESP32.motor.stop(axis="XY")

# Move in AZ configuration with blocking mode enabled
ESP32.motor.move_az(steps=(50, 50), speed=(500, 500), is_blocking=True)
  • Description:
    • The first example demonstrates moving the A and X motors by 100 steps at a speed of 1000. The second example stops the X and Y motors, and the last example moves the A and Z motors by 50 steps at a speed of 500, waiting for the movement to complete before proceeding.

Stage Scanning

def startStageScanning(nStepsLine, dStepsLine, nTriggerLine, nStepsPixel, dStepsPixel, nTriggerPixel, delayTimeStep, nFrames):
  • Description:
    • Starts a stage scanning operation with configurable parameters for line steps, pixel steps, triggers, and frame count.

Trigger Configuration

def setTrigger(axis, pin, offset, period):
  • Parameters:

    • axis: The motor axis (X, Y, Z, A) to set the trigger for.
    • pin: The pin number to use for the trigger.
    • offset: The offset for the trigger signal.
    • period: The period for the trigger signal.
  • Description:

    • Configures a trigger for a specific motor axis.

Position Tracking and Configuration

  • get_position: Retrieves the current position of the motors.
  • set_position: Sets the position of a specific motor.
  • set_motor_currentPosition: Updates the current position for a specified motor.
  • set_motor_acceleration: Sets the acceleration for a specified motor.

Motor Configuration

  • setup_motor: Configures the motor limits, step size, and backlash.
  • setIsCoreXY: Configures the system to use a CoreXY setup.
  • set_motor_axis_order: Sets the order of the motor axes.

Example Usage

import uc2rest

# Initialize the UC2 client with the ESP32 serial port
ESP32 = uc2rest.UC2Client(serialport="COM3", baudrate=500000, DEBUG=True)

# Start stage scanning with specified parameters
ESP32.motor.startStageScanning(nStepsLine=100, dStepsLine=1, nTriggerLine=1, nStepsPixel=100, dStepsPixel=1, nTriggerPixel=1, delayTimeStep=10, nFrames=50)

# Set a trigger on the X axis
ESP32.motor.setTrigger(axis="X", pin=1, offset=0, period=1)
  • Description:
    • This example demonstrates initializing the motor control system, starting a stage scanning operation, and setting a trigger for motor movement.
- + \ No newline at end of file diff --git a/docs/Electronics/UC2-REST/INTRO/index.html b/docs/Electronics/UC2-REST/INTRO/index.html index 290bbadcd..7a0cc0324 100644 --- a/docs/Electronics/UC2-REST/INTRO/index.html +++ b/docs/Electronics/UC2-REST/INTRO/index.html @@ -10,13 +10,13 @@ - +

UC2-REST

This explains the basic functionality of the UC2-REST Python interface in conjunction with the UC2-ESP32 mainboard. This was mostly designed to interface with ImSwitch.

The main repositories:

Available modules:

    def __init__(self, host=None, port=31950, serialport=None, identity="UC2_Feather", baudrate=BAUDRATE, NLeds=64, SerialManager=None, DEBUG=False, logger=None):
'''
This client connects to the UC2-REST microcontroller that can be found here
https://github.com/openUC2/UC2-REST

generally speaking you send/receive JSON documents that will cause an:
1. action => "/XXX_act"
2. getting => "/XXX_get"

you can send commands through wifi/http or usb/serial
'''
if logger is None:
self.logger = Logger()
else:
self.logger = logger

# perhaps we are in the browser?
self.isPyScript = False

# initialize communication channel (# connect to wifi or usb)
if serialport is not None:
# use USB connection
self.serial = Serial(serialport, baudrate, parent=self, identity=identity, DEBUG=DEBUG)
self.is_serial = True
self.is_connected = self.serial.is_connected
self.serial.DEBUG = DEBUG
elif host is not None:
# use client in wireless mode
self.is_wifi = True
self.host = host
self.port = port

# check if host is up
self.logger.debug(f"Connecting to microscope {self.host}:{self.port}")
#self.is_connected = self.isConnected()
elif SerialManager is not None:
# we are trying to access the controller from .a web browser
self.serial = SerialManagerWrapper(SerialManager, parent=self)
self.isPyScript = True
else:
self.logger.error("No ESP32 device is connected - check IP or Serial port!")


if not self.isPyScript: from .updater import updater

# import libraries depending on API version
self.logger.debug("Using API version 2")

#FIXME
#self.set_state(debug=False)

# initialize state
self.state = State(self)
if not self.isPyScript:
state = self.state.get_state()

# initialize config
if not self.isPyScript:
self.config = config(self)

# initialize cmdRecorder
self.cmdRecorder = cmdRecorder(self)

# initialize LED matrix
self.led = LedMatrix(self, NLeds=NLeds)

# initilize motor
self.motor = Motor(self)

# initialize rotator
self.rotator = Rotator(self)

# initiliaze homing
self.home = Home(self)

# initialize temperature
self.temperature = Temperature(self)

# initialize laser
self.state = State(self)

# initialize galvo
self.galvo = Galvo(self)

# initialize laser
self.laser = Laser(self)

# initialize wifi
self.wifi = Wifi(self)

# initialize camera
self.camera = Camera(self)

# initialize analog
self.analog = Analog(self)

# initialize digital out
self.digitalout = DigitalOut(self)

# initialize messaging
self.message = Message(self)

# initialize config
if False: # not self.isPyScript:
self.config = config(self)
try: self.pinConfig = self.config.loadConfigDevice()
except: self.pinConfig = None

# initialize updater
if not self.isPyScript:
try: self.updater = updater(parent=self)
except: self.updater = None

# initialize module controller
self.modules = Modules(parent=self)
- + \ No newline at end of file diff --git a/docs/Electronics/uc2e1/index.html b/docs/Electronics/uc2e1/index.html index 6d418f59b..c70da91fe 100644 --- a/docs/Electronics/uc2e1/index.html +++ b/docs/Electronics/uc2e1/index.html @@ -10,14 +10,14 @@ - +

UC2e - A guide to use the UC2 Electronics

Overview

Duration:1

danger
IMPORTANT The system is under constant development and may be subject to changes. If you find any bug or something feels unclear, you can help us improving the system! Feel lucky and file your issue today by opening one here: GitHub: UC2-REST

What will you learn?

  • How to connect the UC2 electronics?
  • How to wire up the board with external components
  • How to get the playstation controller working? ˘

Introduction into the UC2e Board ("Standalone")

Duration: 5

For a microscsope you have several I/Os that need to be controlled via Software. This majorly concerns:

  • Lasers
  • Motors (e.g. for positioning)
  • LEDs for changing the contrast (e.g. LED Array)
  • Sensors (e.g. Endstops)

There exist a number of boards that can do it by default. Here, we created our own driver electronics that is based on the Espressif ESP32 microcontroller unit (MCU) that has:

  • 4x Stepper outputs
  • 3x PWM outputs for e.g. Lasers
  • 1x Neopixel Slot (for the LED Ring Array)
  • 3x PWM amplified for e.g. power LEDs
  • 1x I2C connection
  • USB Serial connection
  • 2x DAC (8Bit)

It is based on common "GRBL" boards that drive 3D printers, CNC routers or alike.

A fully assembled board with 12V power, the UC2 LED matrix and the linear stepper motor can be found below:

- + \ No newline at end of file diff --git a/docs/Electronics/uc2e2/index.html b/docs/Electronics/uc2e2/index.html index 484d101f8..58678a0f0 100644 --- a/docs/Electronics/uc2e2/index.html +++ b/docs/Electronics/uc2e2/index.html @@ -10,13 +10,13 @@ - +

Hardware

🔌 Board layout and schematics

Duration:5

The board comes with 4 motor controllers (e.g. A4988 Bipolar Stepper controller), the ESP32 Dev Kit, a bunch of pins for in/outgoing connections, 3 darlington transistors (BD809) and the power distribution. It is inspired by the CNC shield and can

  • run up to 4 steppers
  • run multiple high power LEDs
  • be controlled via PS3/PS4 Controllers
  • drive Adafruits Neopixels
  • trigger a Camera
  • provide scanning patterns for Galvos
  • control/readout external devices using I2C

We use the ESP32 in order to ensure connectivity via

  • Wifi
  • Bluetooth
  • USB Serial (mostly used)

⚡ Wiring

Duration:5

All connectors are coming with 2.54mm spaced male pins that can connect to JST connectors (e.g. Motors and LED Array). In case the casing is blocking it mechanically, you can remove the case. The WS2812B RGB Leds that are used for the LED Matrix should survive wrong polarity, but we recommend to not stress it. WARNING: It is also not recommended to drive the motor drivers without any motors attached. Make sure you have an electric load attached to the board when you power it up, otherwise the motor drivers may get damaged.

The polarity of the LED Array matters! The UC2 LED ring module comes with a JST connector where the 3 pins represent (5V, Data, GND) **RED** / Black / Black. Make sure the RED cable is connected to the 5V on the PCB.

Below you can find a rendering of the PCB that is sitting inside the 3D printed Box with all its connectors.

For those who are keen to understand the wiring, please click on the schematics below. The sources of the board will be published soon.

💡 UC2 LED Ring

Duration:2

As for the illumination, you can use a large variation of different light sources to get your sample in the right light. But sometimes you want to have the ability to change the contrast by illuminating from oblique, only in the center, using a darkfield ring or change degree of coherence. An off-the-shelf LED Matrix is very sufficient in most cases, but it lacks the rotational symmetry. For this we have the UC2 LED Ring Module that fits directly in the Cube, has concentric rings and still offers all the degrees of freedom that the Adafruit Neopixel gives you (e.g. RGB, white, patterns..).

The 3 wires that leave the satellite board deliver 5V, Data and GND and directly connect to the UC2e via the LED pin:

- + \ No newline at end of file diff --git a/docs/Electronics/uc2e3/index.html b/docs/Electronics/uc2e3/index.html index 5cae45da5..0555e446b 100644 --- a/docs/Electronics/uc2e3/index.html +++ b/docs/Electronics/uc2e3/index.html @@ -10,7 +10,7 @@ - + @@ -29,7 +29,7 @@ 4.2 Copy the Device port (if connected) and insert that into the platformio.ini, e.g. upload_port = /dev/cu.SLAB_USBtoUART or COM3for windoof
  • Hit the PlatformIO upload button; The following task will be run: platformio run --target upload; The code is getting compiled and saved into ./.pio/build/ 5.1 The code will be uploaded. If eerything goes right the terminal says: `Leaving... Hard resetting via RTS pin...``
  • open the PlatformIO serial monitor (remember to also change the port in the platform.io accordingly) and check the ESP32's output (eventually hit the reset button)
  • In case you have any problems: File an issue :-)
  • In order to test several commands, you can find a useful list of jsonfiles in this file: main/json_api_BD.txt

    Flashing latest version of the Firmware (DEPRECATED!)

    We have multiple ways to flash the firmware, which we will describe briefly:

    1. Use precompiled binaries and upload using the esptool.py (Github)
    2. Use the Arduino IDE to compile and upload the software
    3. Use the Arduino IDE to upload the OTA example and upload the precompiled binary

    The current firmware can be found in the UC2-REST repository. A Github Action builds the binaries everytime a new release is getting published. The artifacts are also pushed to the build folder. This way you don't need to hassle with the Arduino IDE in order to install all libraries and dependencies. With the binaries, there are two ways to flash them on a freshly bought ESP32:

    1. Using the esptool.py to upload it through USB
    2. Flash the Arduino-OTA example, browse to the Website and upload the .bin file

    Flashing the code with esptool.py (DEPRECATED!)

    The UC2-REST offers a firmware flasher to help you going through the steps:

    1. Download the latest firmware
    2. Start opening the Port
    3. Flash the Firmware

    For this we prepared a jupyter notebook that you can access and run here The full process will take around 20 minutes.

    Flashing the code with OTA (DEPRECATED!)

    For this you can flash the example code BasicOTA.ino that comes in the Arduino IDE under Examples => Arduino OTA.

    Use the following code below (change SSID/Password to your Wifi that the computer uses), flash it and open the Browser to open the webpage. Upload the Binary and you'Re done!

    #include <WiFi.h>
    #include <ESPmDNS.h>
    #include <WiFiUdp.h>
    #include <ArduinoOTA.h>

    const char* ssid = "..........";
    const char* password = "..........";

    void setup() {
    Serial.begin(115200);
    Serial.println("Booting");
    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid, password);
    while (WiFi.waitForConnectResult() != WL_CONNECTED) {
    Serial.println("Connection Failed! Rebooting...");
    delay(5000);
    ESP.restart();
    }

    ArduinoOTA
    .onStart([]() {
    String type;
    if (ArduinoOTA.getCommand() == U_FLASH)
    type = "sketch";
    else // U_SPIFFS
    type = "filesystem";

    // NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end()
    Serial.println("Start updating " + type);
    })
    .onEnd([]() {
    Serial.println("\nEnd");
    })
    .onProgress([](unsigned int progress, unsigned int total) {
    Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
    })
    .onError([](ota_error_t error) {
    Serial.printf("Error[%u]: ", error);
    if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
    else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
    else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
    else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
    else if (error == OTA_END_ERROR) Serial.println("End Failed");
    });

    ArduinoOTA.begin();

    Serial.println("Ready");
    Serial.print("IP address: ");
    Serial.println(WiFi.localIP());
    }

    void loop() {
    ArduinoOTA.handle();
    }

    Compiling and flashing the code using the Arduino IDE

    You can download/clone the UC2-REST repository and open the file main.ino, copy the libraries in the library folder into the Arduino IDE library folder under Documents/Arduino/libraries, compile and upload it. More information comes in the very end of this tutorial

    - + \ No newline at end of file diff --git a/docs/Electronics/uc2e5.1/index.html b/docs/Electronics/uc2e5.1/index.html index fd7ab4eb1..8c270f1f8 100644 --- a/docs/Electronics/uc2e5.1/index.html +++ b/docs/Electronics/uc2e5.1/index.html @@ -10,7 +10,7 @@ - + @@ -19,7 +19,7 @@

    Choose the device that represents your ESP32

    Control Motors by hitting the button, observe the serial output or send commands on your own by entering it in the bar in the lower end

    Cheat-sheet for the different control commands

    Motors

    Documentation for MOTOR API:

    The MOTOR API is used for controlling the motion of steppers motors. The API consists of several commands that can be used to set up and control the motors.

    Motor Setup

    To set up the motor, you need to use the "/motor_set" command. This command takes a JSON object that defines the motor configuration.

    The configuration consists of an array of stepper motor objects, where each object represents a single stepper motor. The following properties are defined for each stepper motor object:

    • stepperid: A unique identifier for the stepper motor. This value can be any integer.
    • step: The pin number used to control the stepper motor's step signal.
    • dir: The pin number used to control the stepper motor's direction signal.
    • enable: The pin number used to control the stepper motor's enable signal.
    • step_inverted: A boolean value indicating whether the step signal is inverted.
    • dir_inverted: A boolean value indicating whether the direction signal is inverted.
    • enable_inverted: A boolean value indicating whether the enable signal is inverted.
    • min_pos: The minimum position value for the motor. This value can be any integer.
    • max_pos: The maximum position value for the motor. This value can be any integer.

    Here's an example JSON object that can be used with the "/motor_set" command:

    {"task":"/motor_set",
    "motor":
    {
    "steppers": [
    { "stepperid": 1, "step": 26, "dir": 16, "enable": 12, "step_inverted": 0, "dir_inverted": 0, "enable_inverted": 0 , "min_pos":0, "max_pos":0},
    { "stepperid": 2, "step": 25, "dir": 27, "enable": 12, "step_inverted": 0, "dir_inverted": 0, "enable_inverted": 0 , "min_pos":0, "max_pos":0},
    { "stepperid": 3, "step": 17, "dir": 14, "enable": 12, "step_inverted": 0, "dir_inverted": 0, "enable_inverted": 0 , "min_pos":0, "max_pos":0},
    { "stepperid": 0, "step": 19, "dir": 18, "enable": 12, "step_inverted": 0, "dir_inverted": 0, "enable_inverted": 0 , "min_pos":0, "max_pos":0}
    ]
    }
    }

    The "motor" property is an object that contains the "steppers" array, which defines the stepper motors. In this example, four stepper motors are defined, each with their own unique stepperid and pin assignments for the step, dir, and enable signals.

    Motor Enable/Disable

    To enable or disable the stepper motors, you can use the "/motor_set" command with the "isen" property set to 1 to enable or 0 to disable the motors. Here's an example JSON object that can be used to enable the motors:

    {"task":"/motor_set", "isen":1}

    Motor Movement

    To move the stepper motors, you can use the "/motor_act" command. This command takes a JSON object that defines the movement configuration for the motors.

    The configuration consists of an array of stepper motor objects, where each object represents a single stepper motor. The following properties are defined for each stepper motor object:

    • stepperid: The unique identifier for the stepper motor that you want

    DIGITAL OUT

    Trigger Setup

    To set up a digital output pin as a trigger, use the following command:

    {"task":"/digitalout_set", "digitaloutid":1, "digitaloutpin":4}

    Here, digitaloutid specifies the ID of the digital output pin, and digitaloutpin specifies the physical pin number to which the output is connected.

    Trigger Activation

    To activate the trigger, use the following command:

    {"task":"/digitalout_act", "digitalout1TriggerDelayOn":100, "digitalout1TriggerDelayOff":10, "digitalout1IsTrigger":1,  "digitalout2TriggerDelayOn":10, "digitalout2TriggerDelayOff":100, "digitalout2IsTrigger":1}

    This command activates both digitalout1 and digitalout2 as triggers. The digitalout1TriggerDelayOn and digitalout1TriggerDelayOff parameters specify the time delays in milliseconds for turning the output on and off, respectively. The digitalout2TriggerDelayOn and digitalout2TriggerDelayOff parameters specify the time delays for the second output.

    The digitalout1IsTrigger and digitalout2IsTrigger parameters indicate whether the outputs should be used as triggers (1) or not (0).

    Trigger Reset

    To reset the trigger, use the following command:

    {"task":"/digitalout_act", "digitaloutistriggerreset":1}

    This command resets all the digital outputs that are used as triggers.

    LASER

    Laser Setup

    To set up a laser, use the following command:

    {"task": "/laser_act", "LASERid":2, "LASERpin":19}

    Here, LASERid specifies the ID of the laser channel, and LASERpin specifies the physical pin number to which the laser is connected.

    Laser Activation

    To activate the laser, use the following command:

    {"task": "/laser_act", "LASERid":1, "LASERval": 1024}

    This command activates the laser on channel 1 with a power value of 1024.

    Laser Control

    To control the laser, use the following command:

    payload = {
    "task": path,
    "LASERid": channel,
    "LASERval": value,
    "LASERdespeckle": int(value*despeckleAmplitude),
    "LASERdespecklePeriod": int(despecklePeriod),
    }
    {"task": "/laser_act", "LASERid":1, "LASERval": 512, "LASERdespeckle": 10, "LASERdespecklePeriod": 100}

    Here, LASERid specifies the ID of the laser channel, and LASERval specifies the power value for the laser. The LASERdespeckle parameter is an optional parameter that specifies the despeckle amplitude, and LASERdespecklePeriod is an optional parameter that specifies the despeckle period.

    Laser Reading

    To read the laser value, use the following command:

    {"task": "/laser_get"}

    This command returns the current value of the laser.

    LED ARRAY

    To set up an LED array, use the following command:

    {"task": "/ledarr_set", "led":{"ledArrPin":32, "ledArrNum":64}}

    Here, ledArrPin specifies the physical pin number to which the LED array is connected, and ledArrNum specifies the number of LEDs in the array.

    - + \ No newline at end of file diff --git a/docs/Electronics/uc2e5.2/index.html b/docs/Electronics/uc2e5.2/index.html index a9bd87727..7ab432263 100644 --- a/docs/Electronics/uc2e5.2/index.html +++ b/docs/Electronics/uc2e5.2/index.html @@ -10,13 +10,13 @@ - +

    Python commands

    Using UC2-REST in Python

    The uc2rest library communicates with an ESP32 microcontroller via a serial connection and is available here https://github.com/openUC2/UC2-REST/ and via pip install uc2-rest.

    The script below starts by importing the necessary modules, including uc2rest, which provides a high-level interface for communicating with the ESP32 using the UC2 protocol. Next, the script initializes the UC2Client object with a serial port and enables debug output for the serial connection.

    After verifying that the correct device is connected, the script sends a test command to the ESP32 to retrieve the current state of the motor using the motor_get task. The returned data is printed to the console.

    Note that the command is formatted as a string in JSON format, using single quotes instead of double quotes. This is because the JSON format requires double quotes, but Python interprets double quotes as the beginning or end of a string, which can cause issues when sending commands over a serial connection.

    Initialize the Library

    # Import necessary libraries
    import uc2rest
    import numpy as np
    import time

    # Define serial port
    port = "unknown"

    # Create UC2Client object with specified serial port and debug settings
    ESP32 = uc2rest.UC2Client(serialport=port, DEBUG=True)
    ESP32.serial.DEBUG=True # Setting debug output of the serial to true - all messages will be printed

    # Check if device is connected and confirm it is the right one
    mState = ESP32.state.get_state()

    Manual Command Sending

    Send a command you formulate manually

    ''' ################
    SERIAL
    ################'''

    # Define a test command to send to the UC2 device via serial
    test_cmd = "{'task': '/motor_get'}"

    # Send the test command to the UC2 device via serial
    ESP32.serial.writeSerial(test_cmd)

    The below code can be used to manipulate the LED.

    ''' ################
    LED
    ################'''

    # Create an instance of the ESP32 class
    ESP32 = ESP32()

    # Turn on all LEDs with full white color (RGB)
    mResult = ESP32.led.send_LEDMatrix_full(intensity=(255, 255, 255))
    time.sleep(0.5) # Pause for half a second

    # Turn off all LEDs
    mResult = ESP32.led.send_LEDMatrix_full(intensity=(0, 0, 0))

    # Turn on each LED one by one with full white color (RGB) and turn it off immediately
    for iLED in range(5):
    # Turn on a single LED by index number
    mResult = ESP32.led.send_LEDMatrix_single(indexled=iLED, intensity=(255, 255, 255), timeout=0.)
    # Turn off the same LED
    mResult = ESP32.led.send_LEDMatrix_single(indexled=iLED, intensity=(0, 0, 0), timeout=0.)

    # Display a random pattern on the LED matrix for 5 times
    for i in range(5):
    # Generate a random pattern of 25 LEDs with 3 color values (RGB)
    led_pattern = np.random.randint(0, 55, (25, 3))
    # Display the pattern on the LED matrix
    mResult = ESP32.led.send_LEDMatrix_array(led_pattern=led_pattern, timeout=0)
    # Check if the pattern was sent successfully
    assert mResult["success"] == 1, "Failed sending LED command"

    # Display a left-to-right moving pattern on the LED matrix (commented out with if statement)
    if(0):
    # Create an empty LED pattern
    led_pattern = np.zeros((25, 3))
    # Define the left and right halves of the LED matrix by index numbers
    list_left = (0, 1, 2, 3, 4, 5, 9, 10, 11, 12, 13, 14, 15, 16, 17)
    list_right = (0, 5, 6, 7, 8, 9, 18, 19, 20, 21, 22, 23, 24)
    # Turn on the left half of the LED pattern to full red (RGB = (255, 0, 0))
    led_pattern[list_left, 0] = 255
    # Turn on the right half of the LED pattern to full green (RGB = (0, 255, 0))
    led_pattern[list_right, 1] = 255
    # Display the pattern on the LED matrix for 1 second
    ESP32.led.send_LEDMatrix_array(led_pattern=led_pattern, timeout=1)
    # Turn off the LED matrix
    ESP32.led.send_LEDMatrix_array(led_pattern=led_pattern*0, timeout=1)
    - + \ No newline at end of file diff --git a/docs/Electronics/uc2e5/index.html b/docs/Electronics/uc2e5/index.html index 7a467d18f..8c6065317 100644 --- a/docs/Electronics/uc2e5/index.html +++ b/docs/Electronics/uc2e5/index.html @@ -10,14 +10,14 @@ - +

    REST principle

    Introduction into the ESP32 microcontroller firmware

    Duration:5

    The firmware that runs on the ESP32 is under constant development and subject to heavy changes! However, the core idea will remain the same and is inspired by the "REST-API", which deals with "endpoints" in the HTML world (e.g. "/home"). We implemented the follow functions:

    • /*_act-> this starts an action
    • /*_get-> this will return parameters or states
    • /*_set-> this will set parameters or states

    The functions will work on different actuators and sensors e.g. motors, lasers, leds and so on.

    The API is callable through USB Serial and/or Wifi. The ESP32 can connect to a nearby Wifi Hotspot or even create its own access point (AP). Additional documentation for this will follow soon.

    In general, to interact with a device (e.g. stage), one has to send a JSON document, which is similar to the REST-API in the Internet world. A simple example to rotate a motor would be:

    {
    "task": "/motor_act",
    "axis":1,
    "speed":1000,
    "position":1000,
    "isabsolute":1,
    "isblocking":1
    }
    - + \ No newline at end of file diff --git a/docs/Electronics/uc2e6/index.html b/docs/Electronics/uc2e6/index.html index fa20d6a8d..79ffcdc7c 100644 --- a/docs/Electronics/uc2e6/index.html +++ b/docs/Electronics/uc2e6/index.html @@ -10,13 +10,13 @@ - +

    Connecting devices

    Connect devices

    Here you learn how to connect the ESP32 to the Arduino IDE, connect external hardware components (e.g. LED matrix) and control the electronics using the USB-serial interface. This is an older version of the ESP32, but the mechanism stays the same 🙃

    - + \ No newline at end of file diff --git a/docs/Electronics/uc2e7/index.html b/docs/Electronics/uc2e7/index.html index 2a1f5b5fd..44d776b8a 100644 --- a/docs/Electronics/uc2e7/index.html +++ b/docs/Electronics/uc2e7/index.html @@ -10,7 +10,7 @@ - + @@ -18,7 +18,7 @@

    Controlling the UC2e

    Controlling the ESP32

    The unified "REST-API" (inspired, not following full protocol), enables you to control the functionalities from multiple different clients (e.g. Python, Webrowser, Android Phone). The Core idea is to file post/get requests (serial/wifi) that send/receive JSON files that do "something".

    Installing the USB Serial Driver Install the CH340 USB Serial driver is explained in more detail here: Sparkfun

    🐍 Python Bindings

    In order to interact with the electronics, we implemented a Python library called UC2-REST, available here that will help you to work with the device. The easiest way to install it would be:

    pip install uc2-rest

    It will automatically detect your UC2e (if the driver is installed), connect and will offer you the basic functionalities such as moving the motor, etc.

    In order to give you a deep dive in what's possible, we provide a Jupyter Notebook that guides you through all the functionalities. You can find it here Start Jupiter Tutorial

    📲 Android APP

    This is coming soon. You will be able to control the electronics using the Wifi connection of your Android phone.

    💻 Browser APP

    If the ESP32 is offereing an access point or is connected to your wifi router, you can access the webserver running on the ESP32 using a browser. It offers limited control over the Endpoints by filing post and get requests.

    More information are coming soon!

    🎮 Playstation 3 or Playstation 4 Controller (comming soon)

    With the open-source libraries PS3Controller and PS4Controller we are able to make use of the Bluetooth-able joysticks from your beloved game console.

    When a PS4 controller is 'paired' to a PS4 console, it just means that it has stored the console's Bluetooth MAC address, which is the only device the controller will connect to. Usually, this pairing happens when you connect the controller to the PS4 console using a USB cable, and press the PS button. This initiates writing the console's MAC address to the controller.

    Therefore, if you want to connect your PS4 controller to the ESP32, you either need to figure out what the Bluetooth MAC address of your PS4 console is and set the ESP32's address to it, or change the MAC address stored in the PS4 controller.

    Whichever path you choose, you might want a tool to read and/or write the currently paired MAC address from the PS4 controller. You can try using sixaxispairer for this purpose.

    If you opted to change the ESP32's MAC address, you'll need to include the ip address in the PS4.begin() function during within the setup() Arduino function like below where 1a:2b:3c:01:01:01 is the MAC address (note that MAC address must be unicast):

    void setup()
    {
    PS4.begin("1a:2b:3c:01:01:01");
    Serial.println("Ready.");
    }

    Controlling using ImSwitch

    Please have a look here for more information about how to install ImSwitch and here for the UC2-related setup files including the UC2-REST serial interface.

    - + \ No newline at end of file diff --git a/docs/Electronics/uc2e8/index.html b/docs/Electronics/uc2e8/index.html index 526a9ef53..dcc1404b5 100644 --- a/docs/Electronics/uc2e8/index.html +++ b/docs/Electronics/uc2e8/index.html @@ -10,7 +10,7 @@ - + @@ -19,7 +19,7 @@ 4.1. Go to Platformio Home and navigate to Devices 4.2 Copy the Device port (if connected) and insert that into the platformio.ini, e.g. upload_port = /dev/cu.SLAB_USBtoUART or COM3 for windows
  • Hit the PlatformIO upload button; The following task will be run: platformio run --target upload; The code is getting compiled and saved into ./.pio/build/ 5.1 The code will be uploaded. If everything goes right the terminal says: `Leaving... Hard resetting via RTS pin...``
  • open the PlatformIO serial monitor (remember to also change the port in the platform.io accordingly) and check the ESP32's output (eventually hit the reset button)
  • In case you have any problems: File an issue :-)
  • In order to test several commands, you can find a useful list of json files in this file: json_api_BD.txt

    V1: Source-code, Compiling and Binaries (Deprecated)

    The current version of the firmware can be found here: https://github.com/openUC2/UC2-REST/tree/master/ESP32

    Additional information on how to install and compile the board can be found in the README

    Precompiled binaries that can be installed through ImSwitch (more information coming soon) or the esptool.pycan be found here https://github.com/openUC2/UC2-REST/tree/master/ESP32/build

    V1: Install necessary software for UC2 rest (flash and interact) (Deprecated)

    Here you learn how to install the necessary software (Arduino IDE, drivers, ESP-IDF, Arduino libraries) that are necessary for the system to be working. Everything is explained in the video below.

    Additional information about the UC2 electronics and UC2-REST are provided here: https://github.com/openUC2/UC2-REST

    Download and install the software:

    To simplify life, we host a dropbox folder containing all the necessary drivers and Software pieces for this workshop. It will run on a Windows 10 64 Bit system:

    List of relevant files

    for the UC2-REST

    • Arduino IDE: arduino-1.8.18-windows.exe
    • ESP32 USB driver: CH341SER.exe
    • UC2 Rest firmware: UC2-REST.zip

    Alternative GitHub links that provide you with the latest version of the software:

    Steps to install the software

    1. Download all relevant files from the Dropbox folder above
    2. Install the Arduino IDE (including all drivers if you are asked during the installation)
    3. Install the CH340 USB Serial driver https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers/all
    4. Extract BenesArduinoLibraries-master.zip to /User/$USER$/Documents/Aduino/libraries
    5. Open the Arduino IDE and add the ESP32 board configuration. For this you need to add the following URL to the settings tag: https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json. For additional information please have a look in this tutorial
    6. Once done, open the Board manager and add the ESP32version 2.0.3
    7. Unzip the folder UC2-REST and open the file /ESP32/main/main.ino
    8. Select the board, the port and hit the compile and upload button
    9. IMPORTANT when setting up the build + upload, make sure you add this setting for the partition scheme (and potentially all others if not already set as default):

    The system accepts different hardware configurations (pins, devices, etc.). All of this is defined in the pindef_XXXX.h. Please have a look in the UC2-REST repository for additional information: https://github.com/openUC2/UC2-REST

    VIDEO Tutorial: Steps to install the software

    - + \ No newline at end of file diff --git a/docs/Electronics/uc2e9/index.html b/docs/Electronics/uc2e9/index.html index c87830237..bf2888068 100644 --- a/docs/Electronics/uc2e9/index.html +++ b/docs/Electronics/uc2e9/index.html @@ -10,13 +10,13 @@ - + - + \ No newline at end of file diff --git a/docs/ImSwitch/DahengCamera/index.html b/docs/ImSwitch/DahengCamera/index.html index a8b797833..5da8d95eb 100644 --- a/docs/ImSwitch/DahengCamera/index.html +++ b/docs/ImSwitch/DahengCamera/index.html @@ -10,14 +10,14 @@ - +

    Install driver for Daheng Camera

    Windows

    Have a look here: https://www.get-cameras.com/requestdownload and install the drivers. / SDK (newer version of ImSwitch ships drivers.)

    Linux

    ARM

    You can use the camera on the Raspberry Pi or Jetson Nano. For this you can do the following steps:

    cd ~
    cd Downloads
    wget https://dahengimaging.com/downloads/Galaxy_Linux-armhf_Gige-U3_32bits-64bits_1.5.2303.9202.zip
    cd Galaxy_Linux-armhf_Gige-U3_32bits-64bits_1.5.2303.9202
    chmod +x Galaxy_camera.run
    sudo ./Galaxy_camera.run
    # go through questionaire
    sudo reboot

    Install Python bindings

    cd ~/Downlodas
    wget https://dahengimaging.com/downloads/Galaxy_Linux_Python_2.0.2106.9041.tar.gz
    tar -xvf Galaxy_Linux_Python_2.0.2106.9041.tar.gz
    cd ~/Downlodas/Galaxy_Linux_Python_2.0.2106.9041/api
    # conda activate ****ENV
    pip install -e .
    cd ~/Downlodas/Galaxy_Linux_Python_2.0.2106.9041/api
    python ~/Downloads/Galaxy_Linux_Python_2.0.2106.9041/sample/GxSingleCamMono GxSingleCamMono.py

    The result will be:

    /home/uc2/Downloads/Galaxy_Linux_Python_2.0.2106.9041/sample/GxSingleCamMono/GxSingleCamMono.py:19: SyntaxWarning: "is" with a literal. Did you mean "=="?
    if dev_num is 0:

    -------------------------------------------------------------
    Sample to show how to acquire mono image continuously and show acquired image.
    -------------------------------------------------------------

    Initializing......

    Frame ID: 0 Height: 3036 Width: 4024

    Sample Script

    # version:1.0.1905.9051
    import gxipy as gx
    from PIL import Image


    def main():
    # print the demo information
    print("")
    print("-------------------------------------------------------------")
    print("Sample to show how to acquire mono image continuously and show acquired image.")
    print("-------------------------------------------------------------")
    print("")
    print("Initializing......")
    print("")

    # create a device manager
    device_manager = gx.DeviceManager()
    dev_num, dev_info_list = device_manager.update_device_list()
    if dev_num is 0:
    print("Number of enumerated devices is 0")
    return

    # open the first device
    cam = device_manager.open_device_by_index(1)

    # exit when the camera is a color camera
    if cam.PixelColorFilter.is_implemented() is True:
    print("This sample does not support color camera.")
    cam.close_device()
    return

    # set continuous acquisition
    cam.TriggerMode.set(gx.GxSwitchEntry.OFF)

    # set exposure
    cam.ExposureTime.set(10000)

    # set gain
    cam.Gain.set(10.0)

    # start data acquisition
    cam.stream_on()

    # acquire image: num is the image number
    num = 1
    for i in range(num):
    # get raw image
    raw_image = cam.data_stream[0].get_image()
    if raw_image is None:
    print("Getting image failed.")
    continue

    # create numpy array with data from raw image
    numpy_image = raw_image.get_numpy_array()
    if numpy_image is None:
    continue

    # print height, width, and frame ID of the acquisition image
    print("Frame ID: %d Height: %d Width: %d"
    % (raw_image.get_frame_id(), raw_image.get_height(), raw_image.get_width()))

    # stop data acquisition
    cam.stream_off()

    # close device
    cam.close_device()

    if __name__ == "__main__":
    main()
    - + \ No newline at end of file diff --git a/docs/ImSwitch/ImSwitchClient/index.html b/docs/ImSwitch/ImSwitchClient/index.html index 6dd6a6101..a5adec7b5 100644 --- a/docs/ImSwitch/ImSwitchClient/index.html +++ b/docs/ImSwitch/ImSwitchClient/index.html @@ -10,13 +10,13 @@ - +

    ImSwitchClient Documentation

    ImSwitchClient is a Python package designed to connect to the ImSwitch REST API, enabling remote control of ImSwitchUC2 functionalities directly from Jupyter Notebooks. This client facilitates easy integration with the ImSwitch ecosystem, offering programmable access to various features like laser control, stage manipulation, and image acquisition.

    PyPI Version

    Features

    Installation

    To install ImSwitchClient, use the following pip command:

    pip install imswitchclient

    Quick Start Example

    This example demonstrates basic usage of ImSwitchClient for moving a positioner and acquiring an image.

    import imswitchclient.ImSwitchClient as imc
    import numpy as np
    import matplotlib.pyplot as plt
    import time

    # Initialize the client
    client = imc.ImSwitchClient()

    # Retrieve the first positioner's name and current position
    positioner_names = client.positionersManager.getAllDeviceNames()
    positioner_name = positioner_names[0]
    currentPositions = client.positionersManager.getPositionerPositions()[positioner_name]
    initialPosition = (currentPositions["X"], currentPositions["Y"])

    # Define and move to a new position
    newPosition = (initialPosition[0] + 10, initialPosition[1] + 10)
    client.positionersManager.movePositioner(positioner_name, "X", newPosition[0], is_absolute=True, is_blocking=True)
    client.positionersManager.movePositioner(positioner_name, "Y", newPosition[1], is_absolute=True, is_blocking=True)

    # Acquire and display an image
    time.sleep(0.5) # Allow time for the move
    lastFrame = client.recordingManager.snapNumpyToFastAPI()
    plt.imshow(lastFrame)
    plt.show()

    # Return the positioner to its initial position
    client.positionersManager.movePositioner(positioner_name, "X", initialPosition[0], is_absolute=True, is_blocking=True)
    client.positionersManager.movePositioner(positioner_name, "Y", initialPosition[1], is_absolute=True, is_blocking=True)

    Contributing

    Contributions to ImSwitchClient are welcome! Please refer to the project's GitHub repository for contribution guidelines: https://github.com/openUC2/imswitchclient/.

    License

    ImSwitchClient is licensed under the MIT License. For more details, see the LICENSE file in the project repository.

    - + \ No newline at end of file diff --git a/docs/ImSwitch/ImSwitchConfig/index.html b/docs/ImSwitch/ImSwitchConfig/index.html index 41fe5aa66..0cc06a40e 100644 --- a/docs/ImSwitch/ImSwitchConfig/index.html +++ b/docs/ImSwitch/ImSwitchConfig/index.html @@ -10,13 +10,13 @@ - +

    ImSwitchConfig

    ImSwitch Config File

    This is a sample uc2_hik_histo.jsonconfiguration file:

    {
    "positioners": {
    "ESP32Stage": {
    "managerName": "ESP32StageManager",
    "managerProperties": {
    "rs232device": "ESP32",
    "isEnable": true,
    "enableauto": false,
    "stepsizeX": -0.3125,
    "stepsizeY": -0.3125,
    "stepsizeZ": 0.3125,
    "homeSpeedX": 15000,
    "homeSpeedY": 15000,
    "homeSpeedZ": 15000,
    "isDualaxis": true,
    "homeDirectionX": 1,
    "backlashXOld": 15,
    "backlashYOld": 40,
    "backlashX": 0,
    "backlashY": 0,
    "homeEndstoppolarityY": 0,
    "homeDirectionY": -1,
    "homeDirectionZ": 0,
    "homeXenabled": 1,
    "homeYenabled": 1,
    "homeZenabled": 0,
    "initialSpeed": {
    "X": 15000,
    "Y": 15000,
    "Z": 15000
    }
    },
    "axes": [
    "X",
    "Y",
    "Z"
    ],
    "forScanning": true,
    "forPositioning": true
    }
    },
    "rs232devices": {
    "ESP32": {
    "managerName": "ESP32Manager",
    "managerProperties": {
    "host_": "192.168.43.129",
    "serialport": "COM3"
    }
    }
    },
    "lasers": {
    "LED": {
    "analogChannel": null,
    "digitalLine": null,
    "managerName": "ESP32LEDLaserManager",
    "managerProperties": {
    "rs232device": "ESP32",
    "channel_index": 1
    },
    "wavelength": 635,
    "valueRangeMin": 0,
    "valueRangeMax": 1023
    }
    },
    "detectors": {
    "WidefieldCamera": {
    "analogChannel": null,
    "digitalLine": null,
    "managerName": "HikCamManager",
    "managerProperties": {
    "isRGB": 1,
    "cameraListIndex": 0,
    "cameraEffPixelsize": 0.2257,
    "hikcam": {
    "exposure": 0,
    "gain": 0,
    "blacklevel": 100,
    "image_width": 1000,
    "image_height": 1000
    }
    },
    "forAcquisition": true,
    "forFocusLock": true
    },
    "Observer": {
    "analogChannel": null,
    "digitalLine": null,
    "managerName": "OpenCVCamManager",
    "managerProperties": {
    "cameraListIndex": 1,
    "cameraListIndexWIN": 0,
    "isRGB":1,
    "opencvcam": {
    "exposure": 10
    }
    },
    "forAcquisition": true
    }
    },
    "autofocus": {
    "camera": "WidefieldCamera",
    "positioner": "ESP32Stage",
    "updateFreq": 10,
    "frameCropx": 780,
    "frameCropy": 400,
    "frameCropw": 500,
    "frameCroph": 100
    },
    "mct": {
    "monitorIdx": 2,
    "width": 1080,
    "height": 1920,
    "wavelength": 0,
    "pixelSize": 0,
    "angleMount": 0,
    "patternsDirWin": "C:\\Users\\wanghaoran\\Documents\\ImSwitchConfig\\imcontrol_slm\\488\\",
    "patternsDir": "/users/bene/ImSwitchConfig/imcontrol_sim/488"
    },
    "dpc": {
    "wavelength": 0.53,
    "pixelsize": 0.2,
    "NA": 0.3,
    "NAi": 0.3,
    "n": 1.0,
    "rotations": [
    0,
    180,
    90,
    270
    ]
    },
    "webrtc": {},
    "PixelCalibration": {},
    "focusLock": {
    "camera": "WidefieldCamera",
    "positioner": "ESP32StageManager",
    "updateFreq": 4,
    "frameCropx": 0,
    "frameCropy": 0,
    "frameCropw": 0,
    "frameCroph": 0
    },
    "LEDMatrixs": {
    "ESP32 LEDMatrix": {
    "analogChannel": null,
    "digitalLine": null,
    "managerName": "ESP32LEDMatrixManager",
    "managerProperties": {
    "rs232device": "ESP32",
    "Nx": 4,
    "Ny": 4,
    "wavelength": 488,
    "valueRangeMin": 0,
    "valueRangeMax": 32768
    }
    }
    },
    "availableWidgets": [
    "Settings",
    "View",
    "Recording",
    "Image",
    "Laser",
    "Positioner",
    "Autofocus",
    "MCT",
    "UC2Config",
    "ImSwitchServer",
    "PixelCalibration",
    "HistoScan",
    "LEDMatrix",
    "Joystick",
    "Flatfield",
    "ROIScan"
    ],
    "nonAvailableWidgets": [
    "STORMRecon",
    "DPC",
    "Hypha",
    "FocusLock",
    "HistoScan",
    "FocusLock",
    "FOVLock"
    ]
    }

    Configuration File Documentation

    Overview

    This configuration file is designed to manage settings and properties of various components in a complex system, such as positioners, RS232 devices, lasers, detectors, autofocus settings, etc. It is structured in JSON format for ease of reading and editing.

    Sections

    1. Positioners

      • ESP32Stage
        • managerName: Specifies the manager responsible for handling this positioner, in this case, ESP32StageManager.
        • managerProperties: Contains detailed settings for the positioner, such as RS232 device identification, step sizes for different axes, home speeds, axis enable/disable settings, and other mechanical properties.
        • axes: Lists the axes controlled by this positioner (X, Y, Z).
        • forScanning & forPositioning: Boolean flags to indicate if the positioner is used for scanning and/or positioning.
    2. RS232 Devices

      • ESP32
        • managerName: The manager handling RS232 devices, here ESP32Manager.
        • managerProperties: Network and port settings for the RS232 device.
    3. Lasers

      • LED
        • Details for managing LED laser settings, including the manager name (ESP32LEDLaserManager), RS232 device reference, channel index, wavelength, and value range.
    4. Detectors

      • WidefieldCamera & Observer
        • Configuration for different camera detectors, including manager names (HikCamManager, OpenCVCamManager), properties like RGB support, camera indexes, pixel size, and acquisition settings.
    5. Autofocus

      • Configuration for autofocus feature, linking a camera with a positioner and setting parameters like update frequency and frame cropping dimensions.
    6. MCT (Multichannel Tissue)

      • Settings for monitor index, dimensions, wavelength, pixel size, angle mount, and directories for pattern files.
    7. DPC (Differential Phase Contrast)

      • Settings related to DPC imaging, including wavelength, pixel size, numerical aperture, refractive index, and rotation angles.
    8. WebRTC

      • An empty section possibly reserved for WebRTC configuration.
    9. Pixel Calibration

      • An empty section likely intended for pixel calibration settings.
    10. Focus Lock

      • Focus lock settings similar to autofocus but with its distinct configuration.
    11. LED Matrixes

      • ESP32 LEDMatrix
        • Configuration for LED matrixes, specifying manager details, RS232 device, dimensions, wavelength, and value range.
    12. Available Widgets

      • A list of widgets that are available in the system, indicating the features or components that can be controlled or monitored.
    13. Non-Available Widgets

      • A list of widgets that are not available, possibly indicating features not supported or deactivated in the current setup.

    Conclusion

    This configuration file is a comprehensive document that outlines the settings and parameters for various hardware and software components in a specialized system. It is critical for ensuring the correct operation of the equipment it is designed to control.

    - + \ No newline at end of file diff --git a/docs/ImSwitch/ImSwitchInstall/index.html b/docs/ImSwitch/ImSwitchInstall/index.html index 791eaa6ca..886aa3555 100644 --- a/docs/ImSwitch/ImSwitchInstall/index.html +++ b/docs/ImSwitch/ImSwitchInstall/index.html @@ -10,13 +10,13 @@ - +

    Install ImSwitch

    What will you learn?

    • How to install the main GUI software to control the Optics components
    • How to intsall the drivers

    Download the software

    Duration: 1

    Please go to our ImSwitch Repository and download the latest Build-artefact:

    GitHub Actions -> "bundle"

    Extract the ZIP folder

    Duration: 2

    Right click on the downloaded ZIP folder and select "extract all". This may take a while.

    Download and Install the drivers for the Camera/UC2 Electronics board

    Electronics Board (CH340)

    For the CH340 driver, please follow these instructions

    The driver is available here

    Download the Windows CH340 Driver
    Unzip the file
    Run the installer which you unzipped
    In the Device Manager when the CH340 is connected you will see a COM Port in the Tools > Serial Port menu, the COM number for your device may vary depending on your system.

    Electronics Board (CP210x)

    The driver for the CP210x is available here

    Download the Windows CP210x Driver
    Unzip the file
    Run the installer which you unzipped
    In the Device Manager when the CP210x is connected you will see a COM Port in the Tools > Serial Port menu, the COM number for your device may vary depending on your system.

    Daheng Imaging Cameras

    Download the Windows SDK USB2+USB3+GigE (including Directshow + Python) Galaxy V1.18.2208.9301 for the Daheng USB3 Cameras from the Get-Cameras Website

    Install the packages on your computer.

    Duration: 2

    Prepare ImSwitch

    1. Connect the Camera with your computer (optionally test its proper functioning using Daheng Galaxy Viewer(x64)) using the USB3 cable
    2. Connect the UC2 electronics with the computer (USB micro) and hook up the 12V power supply with the power connection
    3. Check if you can see the USB COM Port in your device manager:

    Duration: 2

    Install the UC2 ImSwitch Configurations

    In order to use the UC2 Hardware and the Daheng USB Camera, you need the UC2 config files. Please go to https://github.com/openUC2/ImSwitchConfig/tree/stable and download the Repository as a zip file following this link.

    Once it has been downloaded, unzip it to C:\Users\YOURUSERNAME\Documents\ImSwitchConfig

    It should look like this:

    Duration: 2

    Start ImSwitch

    1. Open a Windows Terminal by typing WIN+R, then type CMD and hit enter.

    1. in the Windows Terminal navigate to the folder where you downloaded the softare - e.g. cd C:\Users\UC2\Downloads\imswitch-windows-latest\ImSwitch and hit enter
    2. start the executable BUT we need to add one comment in advance:set SETUPTOOLS_USE_DISTUTILS=stdlib
    3. Type ImSwitch.exe and hit enter, the executable will open the ImSwitch GUI

    If everything has been configured correctly, the GUI should open and look like this. Additional information on its functionality can be found in the Read-The-Docs: https://imswitch.readthedocs.io/en/stable/

    If you have any additional questions or issues, please post them in the ISSUE section here.

    Explanatory Video on how to get started with ImSwitch

    Duration: 3

    https://www.youtube.com/watch?v=Om6GWZZ_0So

    - + \ No newline at end of file diff --git a/docs/ImSwitch/ImSwitchInstallUbuntu/index.html b/docs/ImSwitch/ImSwitchInstallUbuntu/index.html index de4172e00..8b780a0b4 100644 --- a/docs/ImSwitch/ImSwitchInstallUbuntu/index.html +++ b/docs/ImSwitch/ImSwitchInstallUbuntu/index.html @@ -10,13 +10,13 @@ - +

    ImSwitchInstallUbuntu

    ImSwitch Installation Ubuntu

    Step 1: Install Visual Studio Code (VS Code)

    1. Open a web browser and navigate to the VS Code download page.
    2. Download the Debian package for your 64-bit system.
    3. Once downloaded, open a terminal window and navigate to the directory where the .deb file is located.
    4. Run the following command to install VS Code:
      sudo dpkg -i <filename>.deb
      sudo apt-get install -f

    Step 2: Install Miniconda

    1. Open a terminal window and run the following command to download Miniconda:
      wget https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.2-0-Linux-x86_64.sh
    2. Make the script executable and run it:
      bash Miniconda3-py310_23.5.2-0-Linux-x86_64.sh
    3. Follow the on-screen instructions to complete the installation.
    4. Create a new environment named imswitch with Python 3.10:
      conda create -n imswitch python=3.10 -y

    Step 3: Clone Necessary Repositories

    1. Navigate to the Downloads directory:
      cd ~/Downloads
    2. Clone the required repositories:
      git clone https://github.com/openUC2/UC2-REST
      git clone https://github.com/openUC2/ImSwitch
      git clone https://gitlab.com/bionanoimaging/nanoimagingpack
    1. Activate the imswitch environment:
      conda activate imswitch
    2. Navigate to the ImSwitch directory and install it:
      cd ~/Downloads/imswitch
      pip install -e .
    3. Repeat for UC2-REST and nanoimagingpack:
      cd ~/Downloads/UC2-REST
      pip install -e .
      cd ~/Downloads/nanoimagingpack # Correcting typo from original logs
      pip install -e .

    Step 5: Install Camera Drivers

    1. Clone the camera drivers:
      cd ~/Downloads
      git clone https://github.com/hongquanli/octopi-research/
    2. Navigate to the camera drivers directory and run the installation script:
      cd octopi-research/software/drivers\ and\ libraries/daheng\ camera/Galaxy_Linux-x86_Gige-U3_32bits-64bits_1.2.1911.9122/
      ./Galaxy_camera.run

    Step 6: Clone ImSwitch Configuration and Set Permissions

    1. Navigate to the Documents directory:
      cd ~/Documents
    2. Clone the ImSwitch configuration:
      git clone https://github.com/openUC2/ImSwitchConfig
    3. Change the ownership of the device:
      sudo chown pi:pi /dev/ttyUSB0

    Congratulations! You have successfully installed ImSwitch and related dependencies.

    - + \ No newline at end of file diff --git a/docs/ImSwitch/ImSwitchInstallWindows/index.html b/docs/ImSwitch/ImSwitchInstallWindows/index.html index a17f2c038..f44e7fd5a 100644 --- a/docs/ImSwitch/ImSwitchInstallWindows/index.html +++ b/docs/ImSwitch/ImSwitchInstallWindows/index.html @@ -10,14 +10,14 @@ - +

    ImSwitchInstallWindows

    ImSwitch Installation on Windows

    Step 1: Install Visual Studio Code (VS Code)

    1. Open a web browser and go to the VS Code download page.
    2. Download the Windows Installer.
    3. Once the download is complete, locate the installer and double-click to run it.
    4. Follow the on-screen instructions to complete the installation.

    Step 2: Install Miniconda

    1. Open a web browser and navigate to the Miniconda download page.
    2. Download the Windows installer for the 64-bit version of Miniconda.
    3. Run the installer by double-clicking the downloaded file.
    4. Follow the installer prompts to install Miniconda to a directory of your choice (e.g., C:\Miniconda3).
    5. During installation, ensure that the option to "Add Anaconda to my PATH environment variable" is selected.

    Step 3: Clone Necessary Repositories

    1. Ensure you have installed GIT for windows
    2. Open the Command Prompt:
      • Press Win + R, type cmd, and press Enter.
    3. Navigate to your preferred directory where you want to clone the repositories (e.g., C:\Users\<YourUsername>\Downloads):
      cd C:\Users\<YourUsername>\Downloads
    4. Clone the required repositories:
      git clone https://github.com/openUC2/UC2-REST
      git clone https://github.com/openUC2/ImSwitch
      git clone https://gitlab.com/bionanoimaging/nanoimagingpack
    1. Open the Command Prompt.
    2. Create a new Conda environment named imswitch with Python 3.10:
      conda create -n imswitch python=3.10
    3. Activate the imswitch environment:
      conda activate imswitch
    4. Navigate to the ImSwitch directory and install it: (The e just states to install the packages in editable mode)
      cd C:\Users\<YourUsername>\Downloads\ImSwitch
      pip install -e .
    5. Repeat for UC2-REST and nanoimagingpack:
      cd C:\Users\<YourUsername>\Downloads\UC2-REST
      pip install -e .
      cd C:\Users\<YourUsername>\Downloads\nanoimagingpack
      pip install -e .

    Step 5: Install Camera Drivers for Daheng Cameras

    1. Download the galaxy camera sdk for windows here https://www.get-cameras.com/requestdownload
    2. Double-click on the installation executable file (Galaxy_camera.exe) to run it.
    3. Follow the on-screen instructions to complete the installation.

    Step 6: Clone ImSwitch Configuration and Set Permissions

    1. Navigate to the Documents directory using the Command Prompt:
      cd C:\Users\<YourUsername>\Documents
    2. Clone the ImSwitch configuration:
      git clone https://github.com/openUC2/ImSwitchConfig

    Step 7: Start

    conda activate imswitch
    imswitch

    Problems and Solutions

    Very likely, there will be a PyQt issue.

    Try:

    pip install PyQt5 --force-reinstall

    Congratulations! You have successfully installed ImSwitch and related dependencies on Windows.

    - + \ No newline at end of file diff --git a/docs/ImSwitch/ImSwitchInstaller/index.html b/docs/ImSwitch/ImSwitchInstaller/index.html index 0e77125d8..3b8541e4a 100644 --- a/docs/ImSwitch/ImSwitchInstaller/index.html +++ b/docs/ImSwitch/ImSwitchInstaller/index.html @@ -10,7 +10,7 @@ - + @@ -20,7 +20,7 @@ :::

    ImSwitch Installer

    Introduction

    The ImSwitch Installer is an Electron-based application designed to streamline the installation process of the ImSwitch environment. It automates the download and setup of a Mamba environment along with all necessary dependencies from GitHub via pip. This tool simplifies the installation process, reducing it to a few clicks and eliminating the need for executing multiple complex commands.

    Installation Process

    The following youtube video shows you how to install ImSwitch using the installer. IMAGE ALT TEXT HERE

    Features

    • Easy Installation: Downloads and installs all necessary dependencies automatically.
    • Cross-Platform Support: Available for ARM64 and Intel-based Mac, Windows, and Linux systems.
    • Simple Uninstallation: Remove by deleting the ImSwitch folder.
    • Security: Instructions provided for bypassing system security warnings due to unsigned code.
    • Update Mechanism: Integrated update functionality to easily fetch the latest versions.

    Requirements

    • Disk Space: Minimum of 5GB.
    • Memory: 8GB RAM.
    • Processor: Intel i5 or Apple Silicon.

    Installation Guide

    1. Download the Installer: Choose the appropriate installer (ARM64 for Mac, Windows) from the releases section.
    2. Run the Installer: Double-click the downloaded file. Ignore any security warnings as the installer is not yet signed.
      • For macOS, follow Apple's guide for running unsigned code.
      • On Windows, grant permission to run the application.
    3. Installation Process: The installer will set up a Python environment using Mamba in /User/yourname/ImSwitch and install all dependencies. This process may take between 10 to 30 minutes depending on your internet connection.
    4. Starting ImSwitch: Once installed, launch ImSwitch by executing start imswitch. https://camo.githubusercontent.com/d12b826a278a7dcb877c8524a22cc3408b82883a27edc9464f865b7d5403e6ef/68747470733a2f2f69332e7974696d672e636f6d2f76692f4e345031734832453952552f6d617872657364656661756c742e6a7067Installation Screen 1Installation Screen 2

    Updating ImSwitch

    To update, click the update button within the application. This will download the latest ZIP from GitHub, unzip it, and execute pip install -e . within the Mamba base environment.

    Driver Installation

    Drivers for Daheng and HIK Vision cameras can be found under the "Driver Installation" link provided within the installer.

    Upcoming Features

    • Flashing the latest version of the UC2 firmware.
    • Building the ImSwitch Hardware Configuration using a drag-and-drop GUI.

    Install from Source

    For those interested in building from source:

    # Clone the repository
    git clone https://github.com/openuc2/imswitchinstaller.git

    # Install dependencies (skip if you already have yarn)
    npm install

    # Run the Electron app
    npm start

    Debugging

    Python Environment Locations

    • Windows Installation Path: C:\Users\UCadmin2\ImSwitch\miniforge\condabin
    • Python Executable: C:\\Users\\UCadmin2\\ImSwitch\\miniforge\\python.exe
    • ImSwitch Package Location: C:\\Users\\UCadmin2\\ImSwitch\\miniforge\\lib\\site-packages\\imswitch\\__init__.py'
    • Conda Environment /Users/ImSwitch/miniforge/condabin/mamba install devbio-napari -c conda-forge

    Disclaimer

    This installer is based on the BellJar project. Thanks a lot for making it open-source! :)

    - + \ No newline at end of file diff --git a/docs/ImSwitch/ImSwitchInstallerConda/index.html b/docs/ImSwitch/ImSwitchInstallerConda/index.html index 98a611be5..696f549f3 100644 --- a/docs/ImSwitch/ImSwitchInstallerConda/index.html +++ b/docs/ImSwitch/ImSwitchInstallerConda/index.html @@ -10,7 +10,7 @@ - + @@ -22,7 +22,7 @@

  • Choose a path to install the conda environment to (Hint: path should not exceed 40 digits)

    1. Proceed

    1. Wait until the packages are installed

    1. A command prompt will appear and ask you for granting admin rights; Here a python script tries to download and install the silabs USB UART drivers for the ESP32

    2. The installation will tell you if the installation process scussful

    1. In the next steps, all necessary packages in the environemnt for ImSwitch will be downloaded and installed

    1. The installer informs you once it's done

    1. Once everything has been installed, the installer tells you it'S done

    1. Exit the installer by hitting finish

    1. On the desktop a new icon has been created to start the ImSwitch software. Double click and wait until the windows shows up

    Trouble shoot

    The conda installer installs your environment in the location that you have selected previously. To find out, you can open a command line window by hiting the keys WIN+r and type "cmd" and enter. Then enter

    conda env list

    The name imswitchopenuc2 should appear. You can activate this python environemnt by typing

    conda activate imswitchopenuc2

    If this works successfully, you can start imswitch by typing

    imswitch

    Disclaimer

    This is still very early stage and may have errors. Exepect Errors Feel free to file any issues in our repository or write us a mail. :)

    - + \ No newline at end of file diff --git a/docs/ImSwitch/ImSwitchUpdate/index.html b/docs/ImSwitch/ImSwitchUpdate/index.html index 79af72449..29186f8a0 100644 --- a/docs/ImSwitch/ImSwitchUpdate/index.html +++ b/docs/ImSwitch/ImSwitchUpdate/index.html @@ -10,13 +10,13 @@ - +

    ImSwitchUpdate

    Updated openUC2 ImSwitch

    In this guide, we'll walk you through the process of updating ImSwitch after you've installed it using pip. The update consists of three main steps:

    1. Updating the ImSwitch UC2 version
    2. Updating the UC2-REST
    3. Updating the UC2-ESP32 firmware

    1. Updating the ImSwitch UC2 Version

    Assumption: You have previously cloned the ImSwitch repository using git.

    1. Open your terminal.

    2. Activate the ImSwitch environment:

      conda activate imswitch
    3. Navigate to the directory where you cloned ImSwitch:

      cd <DIRECTORY/WHERE/YOU/DOWNLOADED/IMSWITCH>
    4. Pull the latest version from the repository and install:

      git pull https://github.com/openUC2/ImSwitch/
      pip install -e .

    2. Updating the UC2-REST to Interface the UC2 Electronics

    Assumption: You have previously cloned the UC2-REST repository using git.

    1. In the terminal, navigate to the directory where you cloned UC2-REST:

      cd <DIRECTORY/WHERE/YOU/DOWNLOADED/UC2-REST>
    2. Pull the latest version from the repository and install:

      git pull https://github.com/openUC2/UC2-REST/
      pip install -e .

    3. Updating the UC2-ESP32 Firmware

    1. Visit the UC2 Firmware Page.
    2. Select the board you're using. If you're uncertain about this, feel free to reach out via email.
    3. Click on the "Connect" button.
    4. From the browser-provided list, select the COM port.
    5. Click on "Flash Firmware".
    6. Wait for the installation process to complete.
    7. Test the firmware on the UC2 Web Serial Test Page.
    8. Close the browser window to release the serial port.

    Finally, you can start ImSwitch:

    python -m imswitch
    - + \ No newline at end of file diff --git a/docs/Investigator/FlowStopper/index.html b/docs/Investigator/FlowStopper/index.html index 55d95622b..ce6dbe803 100644 --- a/docs/Investigator/FlowStopper/index.html +++ b/docs/Investigator/FlowStopper/index.html @@ -10,13 +10,13 @@ - +

    README

    Setup Wifi Access Point on the Raspi

    from: https://cdn-learn.adafruit.com/downloads/pdf/setting-up-a-raspberry-pi-as-a-wifi-access-point.pdf

    sudo apt update
    sudo apt -y upgrade # takes long
    sudo apt install -y hostapd dnsmasq
    sudo systemctl unmask hostapd
    sudo systemctl enable hostapd
    sudo DEBIAN_FRONTEND=noninteractive apt install -y netfilter-persistent iptablespersistent
    sudo reboot
    sudo nano /etc/dhcpcd.conf
    -------
    interface wlan0
    static ip_address=192.168.4.1/24
    nohook wpa_supplicant
    sudo nano /etc/sysctl.d/routed-ap.conf
    -------
    sudo nano /etc/dnsmasq.conf
    -------
    interface=wlan0 # Listening interface
    dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h
    # Pool of IP addresses served via DHCP
    domain=wlan # Local wireless DNS domain
    address=/gw.wlan/192.168.4.1 # Alias for this router
    - + \ No newline at end of file diff --git a/docs/Investigator/Lightsheet/LightSheet Sample/index.html b/docs/Investigator/Lightsheet/LightSheet Sample/index.html index a0890755c..9be3797bf 100644 --- a/docs/Investigator/Lightsheet/LightSheet Sample/index.html +++ b/docs/Investigator/Lightsheet/LightSheet Sample/index.html @@ -10,7 +10,7 @@ - + @@ -32,7 +32,7 @@ The openUC2 light-sheet microscope features motorized axes for enhanced control and precision:
    • The Z-axis adjusts the objective lens focus relative to the light-sheet plane.
    • The X axis moves the sample in the vertical direction with respect to the ground surface.
    • The Y axis shifts the sample parallel to the light-sheet plane.
    • The A axis moves the sample along the light-sheet plane, towards or away from the objective lens.
    • Each step corresponds to approximately 300nm in physical units, enabling fine-tuned movement and positioning.

    We appreciate your engagement with the openUC2 light-sheet microscope and hope that these technical details enhance your understanding of the setup and its capabilities. Should you have any inquiries or require further assistance, please don't hesitate to reach out.

    Protocol to align the light-sheet w.r.t. the focus plane

    Alignment Protocol for Light-Sheet Microscope Focus Plane

    Efficient alignment of the light-sheet with the microscope objective lens's focus plane is crucial for optimal imaging results. This protocol outlines the steps to achieve precise alignment using fluorescent markers and manipulation of the kinematic mirror.

    Alignment Steps:

    1. Fluorescent Marker Setup:

      • Begin by ensuring that the light-sheet is coplanar with the microscope's objective lens field of view.
      • Use a fluorescent pen marker to label the embedding media, effectively visualizing the light-sheet.

    2. Activating the Laser:

    1. Visualizing the Light-Sheet:

      • With the laser activated, you should observe the light-sheet within the water chamber. Refer to the provided image for a reference.
    2. Kinematic Mirror Adjustment:

      • The three screws on the kinematic mirror in the right corner control the orientation of the light-sheet in 3D space.
      • Familiarize yourself with the degrees of freedom associated with these screws.

    1. Fundamental Considerations:
      • The cylindrical lens focuses the primary light-sheet in the backfocal plane of the illumination objective (4x, 0.1 NA).
      • Rotating the objective lens adjusts the orientation of the light-sheet.
      • The square orientation of the cylindrical lens ensures proper alignment with the detection objective lens.
      • The primary light-sheet exits the cylindrical lens at the center.
      • The kinematic mirror manipulates the light-sheet's position in the x and y directions, as well as introducing an offset.
      • Correct mirror alignment is crucial, placing it precisely at the diagonal center of the cube.
      • This central placement ensures that the primary light-sheet enters the objective lens's backfocal plane (BFP) at the center.
      • Such alignment results in the secondary illuminating light-sheet being parallel to the detection lens's focus plane.
      • Observe the effects of rotating the screws and adjust accordingly.

    1. Fluorescent Solution Application:
      • Utilize a syringe for convenient application of the fluorescent solution.

    7. Sample Cube Handling:

    • The sample cube is magnetically held, facilitating easy removal for cleaning.

    • Take care as the sample cube's coverslips are relatively thin and can break.

    Achieving precise alignment between the light-sheet and the objective lens's focus plane is critical for obtaining accurate imaging results. This protocol provides a systematic approach to optimizing your light-sheet microscope setup. For further assistance or questions, feel free to reach out to our community and support channels. Your engagement contributes to the ongoing refinement of the openUC2 light-sheet microscope system.

    Finding the the focus (waiste) of the light-sheet

    To effectively align the light-sheet in your setup, it's crucial to follow these two key steps:

    Step 1: Centering the Sheet within the Field of View (FOV)

    1. Begin by ensuring that the waist of the light-sheet is positioned at the center of the microscope's field of view (FOV).
    2. To achieve this, the cylindrical lens needs to be temporarily removed. Carefully release the lower puzzle pieces to detach the cylindrical lens cube.

    1. With the cylindrical lens removed, a collimated beam should enter the back focal plane (BFP) of the illuminating objective lens.
    2. Adjust the kinematic mirror to guide the round beam, approximately 10mm in diameter, into the center of the BFP of the illuminating objective lens. This alignment should be parallel to the optical axis.

    Step 2: Achieving Focus with the Detection Objective Lens

    1. Activate the camera, such as using Galaxy Viewer software that comes with the camera drivers, to observe the light-sheet's focus.
    2. The fluorescently labeled region should now exhibit a focused beam, perceptible to the naked eye.
    3. Initiate axial movement of the objective lens (Axis Z) using the online control website. You'll notice an increase in intensity at either the positive or negative direction until the light-sheet focus becomes visible within the field of view.

    1. To optimize focus, make fine adjustments to the kinematic mirror to direct the light-sheet beam if it's positioned too high or too low.
    2. It's common for the light-sheet's focus not to align precisely with the center of the FOV. In this case, carefully adjust the position of the illuminating objective lens along the cube axis to relocate the focus positions.
    3. Once you're content with the alignment, deactivate the laser and reinsert the cylindrical lens.
    4. Notably, this step doesn't need to be repeated each time the light-sheet is activated. The position of the cylindrical lens is relatively stable and doesn't require frequent recalibration.

    Following these steps meticulously will ensure that the light-sheet is accurately aligned both within the FOV's center and in-focus with the detection objective lens. This alignment process is essential for obtaining reliable and high-quality imaging results with the openUC2 light-sheet microscope.

    Once the cylindrical lens is back in, you can readjust the light-sheet wr.t. to the focus plane of the objective lens since they may be a slight variation after reassembly.

    Brightfield imaging

    In case you want to image the sample in transmisson mode, turn on the Neopixel LED that is connected to the sample cube and optionally remove the fluorescent filter by pulling it up and store it somewhere safe (dust and scratch free!).

    Using the Fully Assembled Light-Sheet Microscope for Sample Imaging

    Now that all components are meticulously aligned, the openUC2 light-sheet microscope is primed for sample imaging. Follow these steps to prepare and capture your fluorescent sample:

    1. Sample Preparation:

      • Begin by preparing your fluorescent sample according to the specified protocols.
      • Carefully follow the steps outlined in the dedicated sample preparation section within this document.
    2. Assembling the Sample Holder:

      • Loosen the nut that secures the syringe and insert the syringe into the sample holder.
      • Gradually lower the syringe so that the tip of the sample barely touches the light-sheet within the sample plane.

    1. Squeezing out the Agarose:
      • Squeeze out the agarose gently from the syringe while observing the sample, starting with brightfield imaging.
      • Monitor the camera's image stream to ensure the sample becomes visible within the field of view.

    1. Observing Brightfield Image:
      • If the sample isn't immediately visible, confirm its positioning within the sample cube and make minor adjustments in XYZ to bring it into view on the camera screen.
      • Once visible in brightfield, deactivate the LED light source.

    1. Switching to Laser Illumination:

      • Turn on the laser source, and initially, remove the fluorescent filter.
      • Adjust the imaging settings to enhance contrast and visibility, increasing intensity, exposure time, and/or camera gain until you obtain a clear, well-exposed image with minimal noise.
    2. Fine-tuning Laser Position:

      • Using bright scattering as a guide, locate the laser's position while ensuring you have reinserted the fluorescent filter.
      • Adjust the intensity as needed.
    3. Sample Positioning:

      • Manipulate the sample's position in XYZ space to center it on a region of interest.
    4. ImSwitch Scan and Reconstruction:

      • Utilize ImSwitch software's scan and reconstruction plugin to perform scans of your sample.
      • The specific scan and reconstruction process details are provided in the ImSwitch documentation.

    This completes the procedure for imaging your fluorescent sample using the fully assembled openUC2 light-sheet microscope. With careful preparation and precise adjustments, you can capture high-quality volumetric images that offer valuable insights into the structure and behavior of your sample. Your engagement with the microscope's capabilities contributes to ongoing advancements in microscopic research and exploration.

    ImSwitch data acquisition and Reconstruction

    We assume the system is running and you were able to install ImSwitch on your computer. The configuration JSONfile that describes the light-sheet system can be found further down this document. A tutorial on how to install our ImSwitch Version (SRC: https://github.com/openUC2/ImSwitch/) can be either found in the imSwitch repository or in the ImSwitch section in this wiki.

    Mount the sample on a metal tip

    Glue the sample on an M5 set screw using super glue or blutek (non-safe, sample can fall off). Insects offer a great level of fluorescent signal due to autofluorescence and act as nice training samples that can simply hang down using this method

    Sample preparation á la agarose-in-syringe method

    SRC

    Sample Preparation Protocol for openUC2 Light-Sheet Microscope Imaging: Fluorescently Labeled Zebrafish

    This simplified protocol outlines the steps to prepare a fluorescently labeled zebrafish sample for imaging using the openUC2 light-sheet microscope. This method involves embedding the sample in an agarose cylinder for stable imaging in an aqueous environment. the "aquarium" or water-filled sample chamber is used to do refractive index matching as the sample would scatter too much light otherwise.

    Materials Required:

    • 1.5% Agar
    • Glass capillary
    • Zebrafish embryo (some other volumetric, mostly clear sample that can be excited at 488nm)
    • Sample medium
    • Falcon tube or small beaker
    • syringe or FEP tube (optional, for increased stability)

    Procedure:

    Mounting in Free-Hanging Agarose Cylinder:

    1. Take the syringe and cut away the tip
    2. Melt 1.5% agar at 70ºC and maintain it at 37ºC.
    3. Insert the plunger into the syringe capillary, ensuring the white end barely protrudes and suck in enough agarose
    4. Gently place the zebrafish embryo into the already solidified agarose, minimizing the water content.
    5. Pull the plunger to draw up about 3cm (1 inch) of melted agarose.
    6. Carefully position the sample close to the capillary's end.
    7. Allow the agarose to set for 1-2 minutes.
    8. When ready to image, gently push the plunger down to extrude the agarose cylinder with the sample, placing it just outside the capillary for imaging.

    Further tweaks for the system

    These steps are not necessary, but help you to customize the microscope to better match your sample configuration.

    Remove the xyz stage from the top

    In case you want to do maintenance on the microscope, the xyz stage can easily be removed by releasing the M3x55mm screws from the bottom part. Therfore, remove the puzzle piece that has be mounted below the objective lens and release the 3 screws that mount the stage plate to the uppoer part of the microscope. You can now release the stage. In order to move it back on, do the reverse process.

    Swap the sample mounting plate

    In principle the XYZ stage can mount any sample geometry. We wanted to start with something and adapted the common syringe mount. Only two screws from below have to be released in order to swap the sample mount plate:

    This part can be customized to adapt e.g. conventional sample slides

    ImSwitch configuration for the ligth-sheet

    {
    "positioners": {
    "ESP32Stage": {
    "managerName": "ESP32StageManager",
    "managerProperties": {
    "rs232device": "ESP32",
    "enableauto": 0,
    "isEnable": 1
    },
    "axes": [
    "X",
    "Y",
    "Z",
    "A"
    ],
    "forScanning": true,
    "forPositioning": true
    }
    },
    "rs232devices": {
    "ESP32": {
    "managerName": "ESP32Manager",
    "managerProperties": {
    "host_": "192.168.43.129",
    "serialport_": "COM3",
    "serialport": "/dev/cu.usbserial-A50285BI"
    }
    }
    },
    "lasers": {
    "488 Laser": {
    "analogChannel": null,
    "digitalLine": null,
    "managerName": "ESP32LEDLaserManager",
    "managerProperties": {
    "rs232device": "ESP32",
    "channel_index":1,
    "filter_change": false,
    "laser_despeckle_period": 10,
    "laser_despeckle_amplitude": 0
    },
    "wavelength": 488,
    "valueRangeMin": 0,
    "valueRangeMax": 1024
    },
    "LED Matrix": {
    "analogChannel": null,
    "digitalLine": null,
    "managerName": "ESP32LEDLaserManager",
    "managerProperties": {
    "rs232device": "ESP32",
    "channel_index": "LED",
    "filter_change": false,
    "filter_axis": 3,
    "filter_position": 32000,
    "filter_position_init": -0
    },
    "wavelength": 635,
    "valueRangeMin": 0,
    "valueRangeMax": 255
    }
    },
    "detectors": {
    "WidefieldCamera": {
    "ExtPackage": "imswitch_det_webcam",
    "analogChannel": null,
    "digitalLine": null,
    "managerName": "GXPIPYManager",
    "managerProperties": {
    "cameraListIndex": 1,
    "gxipycam": {
    "exposure": 20,
    "gain": 0,
    "blacklevel": 10,
    "image_width": 1000,
    "image_height": 1000
    }
    },
    "forAcquisition": true,
    "forFocusLock": true
    }
    },
    "rois": {
    "Full chip": {
    "x": 600,
    "y": 600,
    "w": 1200,
    "h": 1200
    }
    },
    "LEDMatrixs": {
    "ESP32 LEDMatrix": {
    "analogChannel": null,
    "digitalLine": null,
    "managerName": "ESP32LEDMatrixManager",
    "managerProperties": {
    "rs232device": "ESP32",
    "Nx": 4,
    "Ny": 4
    },
    "wavelength": 488,
    "valueRangeMin": 0,
    "valueRangeMax": 32768
    }
    },
    "autofocus": {
    "camera": "WidefieldCamera",
    "positioner": "ESP32Stage",
    "updateFreq": 10,
    "frameCropx": 780,
    "frameCropy": 400,
    "frameCropw": 500,
    "frameCroph": 100
    },
    "uc2Config": {
    "defaultConfig": "pindefWemos.json",
    "defaultConfig2": "pindefUC2Standalon2.json",
    "defaultConfig1": "pindefUC2Standalon.json"
    },
    "mct": {
    "monitorIdx": 2,
    "width": 1080,
    "height": 1920,
    "wavelength": 0,
    "pixelSize": 0,
    "angleMount": 0,
    "patternsDirWin": "C:\\Users\\wanghaoran\\Documents\\ImSwitchConfig\\imcontrol_slm\\488\\",
    "patternsDir": "/users/bene/ImSwitchConfig/imcontrol_sim/488"
    },
    "dpc": {
    "wavelength": 0.53,
    "pixelsize": 0.2,
    "NA":0.3,
    "NAi": 0.3,
    "n": 1.0,
    "rotations": [0, 180, 90, 270]
    },
    "webrtc":{},
    "PixelCalibration": {},
    "availableWidgets": [
    "Settings",
    "Positioner",
    "View",
    "Recording",
    "Image",
    "Laser",
    "UC2Config",
    "Joystick",
    "Lightsheet",
    "LEDMatrix"
    ],
    "nonAvailableWidgets":[
    "STORMRecon",
    "LEDMatrix",
    "MCT",

    "ImSwitchServer",
    "PixelCalibration",
    "Hypha",
    "FocusLock",
    "HistoScan",

    "FocusLock"]
    }
    - + \ No newline at end of file diff --git a/docs/Investigator/Lightsheet/LightSheet/index.html b/docs/Investigator/Lightsheet/LightSheet/index.html index ec580aa5d..4b741bdbd 100644 --- a/docs/Investigator/Lightsheet/LightSheet/index.html +++ b/docs/Investigator/Lightsheet/LightSheet/index.html @@ -10,7 +10,7 @@ - + @@ -19,7 +19,7 @@ Z-stage for the objective lens

    Almost Fully assembled UC2 Lighthseet microscope

    Step 2: Light-Sheet Generation and Sample Preparation

    The fiber-coupled laser emits light at a wavelength of 488 nanometers, which is ideal for exciting fluorescent molecules commonly used in biological imaging, such as green fluorescent protein (GFP). The collimated laser beam passes through a cylindrical lens, creating a one-dimensional focus with a width of approximately 10 mm.

    The kinematic mirror allows precise control of the laser beam position, ensuring proper alignment. The lens further shapes the laser beam into an optical sheet, which is then directed into the sample plane by the four-fold objective lens.

    The sample, such as a zebrafish embryo, is held in a small aquarium filled with water. The sample is positioned such that the light sheet intersects it, and fluorescence signals are emitted only where the light sheet illuminates.

    Step 3: Image Acquisition

    Using the XYZ stage, move the sample in the focal plane of the ten-fold objective lens. The camera will capture images as the sample is moved, allowing you to create a three-dimensional stack of the object. The long working distance of the objective lens allows sufficient space between the lens and the sample, reducing the potential for photodamage and phototoxicity.

    Benefits of Light-Sheet Microscopy

    Light-sheet microscopy offers several advantages for imaging biological samples:

    • Optical sectioning: The light-sheet illuminates only the focal plane, minimizing background noise and out-of-focus signals.
    • Reduced phototoxicity: With the sample illuminated only in the focal plane, light-sheet microscopy reduces photodamage and photobleaching, allowing long-term imaging of live samples.
    • High-speed imaging: Light-sheet microscopy enables rapid volumetric imaging, capturing dynamic processes in real-time.
    • High resolution: The combination of optical sectioning and minimal scattering allows for high-resolution imaging, revealing fine cellular structures.

    Bill-of-Material

    This is a list of components that are used in the latest version of the openUC2 light-sheet microscope. This is subject to changes. If you are interested to build one of these devices and need a kit, please, don't hesitate to contact us via Mail, Github or other channels :) Find more information on www.openuc2.com

    CategoryAmountPartShopPrice (€)CommentQuantityURL/SourceAlternative
    External Parts1Cylindrical lens, comarThorolabs1501Link
    1Camera, monochrome, CMOSDaheng3501Link
    1Focusing stage, micrometer, motorized (NEMA12)China1001Haoran
    110x objective, NA0.3, long-working distanceUSA2501Link
    1XYZ stage, AliExpress, micrometerChina2501LinkLink
    3Motor for stageChina803LinkLink
    1Tube lensChina2001Link
    1Fiber laserChina2001HaoranLink
    1MirrorPGI51Link
    14x objective lens finiteChina101Haoran
    1Fiber CollimatorChina1001Haoran
    14BaseplatesopenUC2314
    8CubesopenUC2510
    1Solid baseplate (aluminium)openUC2-1
    1Excitation filter (Thorlabs)Thorolabs1201Link
    Inserts1Fiber Collimator MountopenUC251
    1Cylindrical Lens MountopenUC251
    145° Mirror Mount (kinematic)openUC2251
    1RMS Lens MountopenUC251
    1Sample mount (printed)openUC2301
    1Base for XYZ StageopenUC221
    1Sample mount for XYZ StageopenUC2151
    1Holder for Z-stage motorizedopenuc2301
    1Holder for TubelensopenUC2101
    1Holder for UC2 ElectronicsopenUC2301
    Electronics1Electronics, Powersupply, Stepper driveropenUC21001
    2USB cables (camera, micro)Germany602
    1Playstation ControllerGermany501
    1Box + Foam insertopenUC21001Link
    Labour & Shipping-Labour + Shipping-5001
    TOTAL---2790-

    The 3D printing files can be found here

    Conclusion

    Congratulations! You have successfully built a light-sheet microscope using the UC2 modular toolbox. This powerful technique allows you to acquire high-resolution three-dimensional images of samples like zebrafishes. With the ability to perform optical sectioning and minimal phototoxicity, light-sheet microscopy is a valuable tool for studying biological structures in 3D. You can now explore the fascinating world of 3D biological imaging and discover new insights into the complexities of life at the microscopic level. Happy imaging!

    - + \ No newline at end of file diff --git a/docs/Investigator/Lightsheet/LightSheetOld/index.html b/docs/Investigator/Lightsheet/LightSheetOld/index.html index 2861407a6..9b5e9767f 100644 --- a/docs/Investigator/Lightsheet/LightSheetOld/index.html +++ b/docs/Investigator/Lightsheet/LightSheetOld/index.html @@ -10,7 +10,7 @@ - + @@ -34,7 +34,7 @@

    5. Use of filters
    • When using a correct filter between the Z-stage and the camera, it's possible to observe a fluorescent image of the sample.
    • Without filters you capture only the scattering image.

    Imaging with the light sheet microscope

    • The focus of the detection path can be finely adjusted using the Z-stage motor (GUI - Z).
    • Z-series can be acquired by moving the sample (GUI - X) through the focused light sheet plane - Move the sample-stage in both directions, using the lens tissue as a sample, to observe how the camera image changes.
    • To acquire an image: Choose "Start experiment" on the right side of the screen, click "Custom" on the top right side and then "Snap" on the bottom right side.
    • To acquire a z-stack use the tomographic mode:

    Results

    What can you see with the simplest possible light sheet setup:

    The result could look like this:

    Zebra fish embryo

    Participate!

    Do you want to show your own results? Do you have ideas for improvements? Let us know!

    - + \ No newline at end of file diff --git a/docs/Investigator/Lightsheet/LightsheetCalibration/index.html b/docs/Investigator/Lightsheet/LightsheetCalibration/index.html index 1f6077db8..03f259a83 100644 --- a/docs/Investigator/Lightsheet/LightsheetCalibration/index.html +++ b/docs/Investigator/Lightsheet/LightsheetCalibration/index.html @@ -10,13 +10,13 @@ - + - + \ No newline at end of file diff --git a/docs/Investigator/STORM/Electronics/index.html b/docs/Investigator/STORM/Electronics/index.html index e4c504ecb..f2fc6d10f 100644 --- a/docs/Investigator/STORM/Electronics/index.html +++ b/docs/Investigator/STORM/Electronics/index.html @@ -10,13 +10,13 @@ - +

    Electronics

    Here we make use of the ESP32 Wemos D1 R32 microcontroller board in combination with the CNC Shield v3. The wiring of the different components is straight forward as the Stepper Motors are attached to the stepper drivers and the Laser is triggered by the SpinEn pin. The NeoPixel LED mounts to the Hold pin.

    Flashing the firmware

    Go to the website https://youseetoo.github.io/ and choose the CNC board as the hardware configuration to flash the latest version of the Firmware. The PS3 controller's MAC address has to be setup with the PS Pairing tool. The actual MAC Address is printed out on the Serial monitor while the Board is booting up.

    - + \ No newline at end of file diff --git a/docs/Investigator/STORM/Illumination/index.html b/docs/Investigator/STORM/Illumination/index.html index ab735cefa..2971c5b20 100644 --- a/docs/Investigator/STORM/Illumination/index.html +++ b/docs/Investigator/STORM/Illumination/index.html @@ -10,7 +10,7 @@ - + @@ -112,7 +112,7 @@ represents 10 µm. Two CCPs have been zoomed in to plot the profiles along the red transparent line. Scale bar for the magnified regions of interest represents 200 nm.

    - + \ No newline at end of file diff --git a/docs/Investigator/STORM/Main/index.html b/docs/Investigator/STORM/Main/index.html index 2b6089102..d629aa069 100644 --- a/docs/Investigator/STORM/Main/index.html +++ b/docs/Investigator/STORM/Main/index.html @@ -10,7 +10,7 @@ - + @@ -83,7 +83,7 @@

    Mechanical stability of the setup

    See the mechanical stability section of the repository.

    Wide-field imaging, Live-cell imaging, Single molecule applications

    See the Results section of the repository.

    Get Involved

    This project is open so that anyone can get involved. You don't even have to learn CAD designing or programming. Find ways you can contribute in CONTRIBUTING

    License and Collaboration

    This project is open-source and is released under the CERN open hardware license. Our aim is to make the kits commercially available. We encourage everyone who is using our Toolbox to share their results and ideas, so that the Toolbox keeps improving. It should serve as a easy-to-use and easy-to-access general purpose building block solution for the area of STEAM education. All the design files are generally for free, but we would like to hear from you how is it going.

    You're free to fork the project and enhance it. If you have any suggestions to improve it or add any additional functions make a pull-request or file an issue.

    Please find the type of licenses here

    REMARK: All files have been designed using Autodesk Inventor 2019 (EDUCATION)

    Collaborating

    If you find this project useful, please like this repository, follow us on Twitter and cite the webpage or the publication! :-)

    - + \ No newline at end of file diff --git a/docs/Investigator/STORM/Results/index.html b/docs/Investigator/STORM/Results/index.html index c54031cdd..34a7f5988 100644 --- a/docs/Investigator/STORM/Results/index.html +++ b/docs/Investigator/STORM/Results/index.html @@ -10,7 +10,7 @@ - + @@ -57,7 +57,7 @@ represents 10 µm. Two CCPs have been zoomed in to plot the profiles along the red transparent line. Scale bar for the magnified regions of interest represents 200 nm.

    - + \ No newline at end of file diff --git a/docs/Investigator/STORM/Software/index.html b/docs/Investigator/STORM/Software/index.html index 01428fdfc..8588fe459 100644 --- a/docs/Investigator/STORM/Software/index.html +++ b/docs/Investigator/STORM/Software/index.html @@ -10,13 +10,13 @@ - +

    Software

    For the control and acquisition software, we use ImSwitch. This is an open-source software centered around Napari as a multi-layer viewer and a rich framework for QT-based widgets. We make use of the open-source localization framework "microEye" ()

    Installation

    For the installation we advise you to have a look at the ImSwitch repository here https://github.com/kasasxav/ImSwitch/

    After setting up ImSwitch, you can enable STORM reconstruction in real time using the MicroEye Plugin by adding the following configuration to the ImSwitch config file that is located in ~/Documents/ImSwitchConfig/config/imcontrol_options.json

    {
    "setupFileName": "example_uc2_storm_alliedvision.json",
    "recording": {
    "outputFolder": "./ImSwitch/ImSwitch/recordings",
    "includeDateInOutputFolder": true
    },
    "watcher": {
    "outputFolder": "/Users/bene/ImSwitchConfig/scripts"
    }
    }

    The setup file with the actual hardware configuration can be placed here:

    ~/Documents/ImSwitchConfig/imcontrol_setups/example_uc2_storm_alliedvision.json

    {
    "positioners": {
    "ESP32Stage": {
    "managerName": "ESP32StageManager",
    "managerProperties": {
    "rs232device": "ESP32"
    },
    "axes": [
    "X",
    "Y",
    "Z"
    ],
    "forScanning": true,
    "forPositioning": true
    }
    },
    "rs232devices": {
    "ESP32": {
    "managerName": "ESP32Manager",
    "managerProperties": {
    "host_": "192.168.43.129",
    "serialport_windows": "COM5",
    "serialport": "/dev/cu./dev/cu.SLAB_USBtoUART"
    }
    }
    },
    "lasers": {
    "488 Laser": {
    "analogChannel": null,
    "digitalLine": null,
    "managerName": "ESP32LEDLaserManager",
    "managerProperties": {
    "rs232device": "ESP32",
    "channel_index": 1,
    "filter_change": false,
    "laser_despeckle_period": 10,
    "laser_despeckle_amplitude": 0
    },
    "wavelength": 488,
    "valueRangeMin": 0,
    "valueRangeMax": 1024
    },
    "635 Laser": {
    "analogChannel": null,
    "digitalLine": null,
    "managerName": "ESP32LEDLaserManager",
    "managerProperties": {
    "rs232device": "ESP32",
    "channel_index": 2,
    "filter_change": false,
    "laser_despeckle_period": 10,
    "laser_despeckle_amplitude": 0
    },
    "wavelength": 635,
    "valueRangeMin": 0,
    "valueRangeMax": 1024
    },
    "LED": {
    "analogChannel": null,
    "digitalLine": null,
    "managerName": "ESP32LEDLaserManager",
    "managerProperties": {
    "rs232device": "ESP32",
    "channel_index": "LED",
    "filter_change": false,
    "filter_axis": 3,
    "filter_position": 32000,
    "filter_position_init": -0
    },
    "wavelength": 635,
    "valueRangeMin": 0,
    "valueRangeMax": 255
    }
    },
    "detectors": {
    "WidefieldCamera": {
    "analogChannel": null,
    "digitalLine": null,
    "managerName": "AVManager",
    "managerProperties": {
    "cameraListIndex": 1,
    "mocktype": "STORM",
    "mockstackpath": "/Users/bene/Downloads/New_SMLM_datasets/ROI_cos7MT_AF647fluopaint.tif",
    "avcam": {
    "exposure": 0,
    "gain": 0,
    "blacklevel": 100,
    "image_width": 1000,
    "image_height": 1000,
    "pixel_format": "Mono12"
    }
    },
    "forAcquisition": true,
    "forFocusLock": false
    }
    },
    "rois": {
    "Full chip": {
    "x": 600,
    "y": 600,
    "w": 1200,
    "h": 1200
    }
    },
    "LEDMatrixs": {
    "ESP32 LEDMatrix": {
    "analogChannel": null,
    "digitalLine": null,
    "managerName": "ESP32LEDMatrixManager",
    "managerProperties": {
    "rs232device": "ESP32",
    "Nx": 4,
    "Ny": 4
    },
    "wavelength": 488,
    "valueRangeMin": 0,
    "valueRangeMax": 32768
    }
    },
    "autofocus": {
    "camera": "WidefieldCamera",
    "positioner": "ESP32Stage",
    "updateFreq": 10,
    "frameCropx": 780,
    "frameCropy": 400,
    "frameCropw": 500,
    "frameCroph": 100
    },
    "availableWidgets": [
    "Settings",
    "View",
    "Recording",
    "Image",
    "Laser",
    "Positioner",
    "Autofocus",
    "STORMRecon"
    ]
    }

    ImSwitch in Action

    Here you can find a tour on Youtube how to set up everything and what it can do.

    https://www.youtube.com/watch?v=r8f-wmeq5i0

    - + \ No newline at end of file diff --git a/docs/Investigator/STORM/Stability/index.html b/docs/Investigator/STORM/Stability/index.html index 7b1bdf1a3..d7c5276da 100644 --- a/docs/Investigator/STORM/Stability/index.html +++ b/docs/Investigator/STORM/Stability/index.html @@ -10,7 +10,7 @@ - + @@ -24,7 +24,7 @@ sigma value of the localized beads over the measurement duration. The sigma value correlates with the defocusing of the beads i.e. low changes in sigma suggest small fluctuations of the samples axial position.

    - + \ No newline at end of file diff --git a/docs/Investigator/XYZMicroscope/AlignLaser/index.html b/docs/Investigator/XYZMicroscope/AlignLaser/index.html index 2a532d794..82398e4e3 100644 --- a/docs/Investigator/XYZMicroscope/AlignLaser/index.html +++ b/docs/Investigator/XYZMicroscope/AlignLaser/index.html @@ -10,13 +10,13 @@ - +

    Aligning the Beamsplitter Cube

    The new xyz microscope has a special 2x1 cube that holds the fluorescence optics. Inside the beamsplitter cube is mounted kinematically and can be adjusted with 3 set screws. It's important that the fiber coupled laser is focussed / reimaged in the back focal plane of the objective lens. Therefore, we have created a little tutorial to get you starting how this works.

    - + \ No newline at end of file diff --git a/docs/Investigator/XYZMicroscope/FiveD_v1/index.html b/docs/Investigator/XYZMicroscope/FiveD_v1/index.html index 6906537f4..1707d28db 100644 --- a/docs/Investigator/XYZMicroscope/FiveD_v1/index.html +++ b/docs/Investigator/XYZMicroscope/FiveD_v1/index.html @@ -10,13 +10,13 @@ - +

    openUC2 FiveD v1

    Unpacking the microscope

    The hardcover plastic case contains all you need for the microscope:

    • USB micro cable
    • USB3 camera cable
    • 12V power-supply
    • Sweet treat (optional ;D)
    • The actual microscope
    • The objective lens
    • The Illumination unit
    • A heavy Box

    The actual Box looks like this:

    Optional Please also find the treat and make sure you provide yourself with enough sugar throughout this unpacking routine :-)

    The foam holds the microscope in place (the actual colour may differ from what you may see):

    Remove the foam parts (please keep them for later reuse) to end up like this here:

    Getting started

    Mounting the illumination unit

    For this you need a 2.5mm Hex key and the M3 cylindrical screws. Mount the LED Arm like so:

    It should look like this:

    Wiring up the microscope

    First of all we need to wire up the microscope. For this we will start with the 12V power supply. Unfortunately the powersocket is inside the case, hence you have to first eat some candy in order to better find the spot ;-)

    The USB Cable is permanently mounted to the ESP32 UC2e unit:

    Note: Please make sure you have sufficient USB Power. In case the full LED array is turning on, it may happen that the ESP's voltage drops and the USB serial connection fails. A reconnect will help.

    The same holds true for the USB connection to the microcontroller board. You need to hook it up like that:

    Once done, we continue with inserting the objective lens. Eventually the lens is already inserted and you just need to check if the lens is centered correctly

    Wire up the microscope to your computer

    In order to get the microscope working, we first need to install additional drivers. For the Daheng Camera, this would be:

    For additional information and an in-depth explanation for the UC2e system, please have a look here

    - + \ No newline at end of file diff --git a/docs/Investigator/XYZMicroscope/FiveD_v2/index.html b/docs/Investigator/XYZMicroscope/FiveD_v2/index.html index 47a568f60..17c7d21b0 100644 --- a/docs/Investigator/XYZMicroscope/FiveD_v2/index.html +++ b/docs/Investigator/XYZMicroscope/FiveD_v2/index.html @@ -10,7 +10,7 @@ - + @@ -40,7 +40,7 @@

    Carefully take the lens out:

    In motion:

    Veritcal Operation

    Troubleshoot

    We learn from mistakes. So lets start learning. The system is fully open, meaning, you can adjust and change the vast majority of the parts on your own. The entire system consists of the openUC2 frame / skeleton and the 3D printed housing to shield it from dust and light. By removing all M3 cylindrical screws, you can detach the housing from the inner structure to eventually repair or alter the system.

    You can find a full description of how to dissassemble the microscope here: https://openuc2.github.io/docs/PRODUCTION/INVESTIGATOR/ProductionXYZMicroscope

    In Action

    We scanned arabidopsis in darkfield (LEDs >9 on):

    Connecting the microscope to the browser and controll it

    We encourage you to use the UC2ified ImSwitch software to control the microscope. You can find it in this repository: https://github.com/openUC2/ImSwitch/

    However, if you want to quick-start the microscope and see if it works, you can open your browser and use the WEB-Serial interface to interact with the microscope.

    Go to https://youseetoo.github.io/ and connect to your board (most right option saying ESP32 DEV-based UC2 standalone board V2). Select the COM Port which is holding the ESP32 and hit the LOG option, once the dialog opens. The alternative option will help you updating the firmware on the device. An in-depth explanation on how the firmware works can be found here.

    In general, you need to send JSON strings in order to control the system. The strings relevant for the Z-microscope are:

    Home the XY-axis

    It's important to always home the Motors in order to avoid them from getting stuck in an end position (ATTENTION!). The following string will move the motor until the endstop is hit. Afterwards it will release the switch:

    {"task":"/home_act", "home": {"steppers": [{"stepperid":1, "timeout": 2000, "speed": 15000, "direction":1, "endposrelease":3000}]}}

    and

    {"task":"/home_act", "home": {"steppers": [{"stepperid":2, "timeout": 2000, "speed": 15000, "direction":1, "endposrelease":3000}]}}

    Afterwards the internal position is set to 0. You can check that by entering:

    {"task": "/motor_get"}

    Move the Z-axis:

    The motor (Nema12) with 200 steps/revolution runs with 16 microstepps and offers a leadscrew with 1mm/revolution. Hence, one step corresponds to 312.5nm. Running the motor can be issued with the following command:

    {"task":"/motor_act",
    "motor":
    {
    "steppers": [
    { "stepperid": 3, "position": 1000, "speed": 15000, "isabs": 3, "isaccel":0}
    ]
    }
    }
    • stepperid: 3 correpsonds to the Z-axis
    • position: steps to go (not physical units!)
    • speed: steps / minute (do not exceed 20000)
    • isabs: absolute or relative motion
    • isaccel: for now, use only non-accelerated motion!

    Safety

    • in case of shattered glass, make sure you don't cut yourself
    • Make sure you don't hurt yourself
    • The moving parts can potentially hurt your finger
    • The electronics - if used in a wrong way - can harm you
    • edges may be sharp, make sure you don't cut yourself
    - + \ No newline at end of file diff --git a/docs/Investigator/XYZMicroscope/FiveD_v3/index.html b/docs/Investigator/XYZMicroscope/FiveD_v3/index.html index 1128c83fc..9fe6e3c9f 100644 --- a/docs/Investigator/XYZMicroscope/FiveD_v3/index.html +++ b/docs/Investigator/XYZMicroscope/FiveD_v3/index.html @@ -10,7 +10,7 @@ - + @@ -33,7 +33,7 @@ the second spring ball now plays along

    The last two fixed balls find their groove almost immediately before the front ball moves up its ramp to the pins

    Final position. All fixed balls in their "pin yokes" and both spring balls press the optics module against them.

    Final result

    Safety

    • in case of shattered glass, make sure you don't cut yourself
    • Make sure you don't hurt yourself
    • The moving parts can potentially hurt your finger
    • The electronics - if used in a wrong way - can harm you
    • edges may be sharp, make sure you don't cut yourself
    - + \ No newline at end of file diff --git a/docs/Investigator/XYZMicroscope/HistoScan/index.html b/docs/Investigator/XYZMicroscope/HistoScan/index.html index fcb3a5bc5..71638b63b 100644 --- a/docs/Investigator/XYZMicroscope/HistoScan/index.html +++ b/docs/Investigator/XYZMicroscope/HistoScan/index.html @@ -10,7 +10,7 @@ - + @@ -18,7 +18,7 @@

    Histo Scanner Plugin Documentation

    Welcome to the documentation page for the Histo Scanner Plugin, a powerful tool for scanning large areas and stitching images onto a large canvas. This page provides detailed information on how to configure and use the plugin effectively.

    Overview

    The Histoscanner Plugin integrates with the ImSwitch widget and controller to facilitate the scanning of large sample areas. Users can select a sample geometry and initiate scanning, which captures images and stitches them together to form a comprehensive view.

    Initial Setup

    Before starting a scan, ensure the following settings are configured correctly:

    • Pixel Size: Set in the setup.json file. This size must be calibrated, possibly using a ruler.
    • Step Size of Axis: Also set in the setup.json. It typically depends on the steps/mm defined by the leadscrew.
    • Sample Configuration File: An example file can be found here.

    Scanning Process

    The microscope will compute the scan area and the necessary scan stepsize on its own and will perform a snake scan. Alternatively you can provide a list of coordinates.

    Once the scan is successfully initiated, the final output is displayed in a downscaled version on napari to conserve memory.

    ImSwitch Configuration

    The configuration settings for the detector and stage are crucial. Here are the JSON settings for both:

    For the Stage

      "positioners": {
    "ESP32Stage": {
    "managerName": "ESP32StageManager",
    "managerProperties": {
    "rs232device": "ESP32",
    "isEnable": true,
    "enableauto": false,
    "stepsizeX": -0.3125,
    "stepsizeY": -0.3125,
    "stepsizeZ": 0.3125,
    "homeSpeedX": 15000,
    "homeSpeedY": 15000,
    "homeSpeedZ": 15000,
    "isDualaxis": true,
    "homeDirectionX": 1,
    "backlashXOld": 15,
    "backlashYOld": 40,
    "backlashX": 0,
    "backlashY": 0,
    "homeEndstoppolarityY": 0,
    "homeDirectionY": -1,
    "homeDirectionZ": 0,
    "homeXenabled": 1,
    "homeYenabled": 1,
    "homeZenabled": 0,
    "initialSpeed": {
    "X": 15000,
    "Y": 15000,
    "Z": 15000
    }
    },
    "axes": [
    "X",
    "Y",
    "Z"
    ],
    "forScanning": true,
    "forPositioning": true
    }
    }

    For the Detector

      "detectors": {
    "WidefieldCamera": {
    "analogChannel": null,
    "digitalLine": null,
    "managerName": "HikCamManager",
    "managerProperties": {
    "isRGB": 1,
    "cameraListIndex": 0,
    "cameraEffPixelsize": 0.2257,
    "hikcam": {
    "exposure": 0,
    "gain": 0,
    "blacklevel": 100,
    "image_width": 1000,
    "image_height": 1000
    }
    },
    "forAcquisition": true,
    "forFocusLock": true
    }

    File Handling

    • Storing Metadata: All metadata is stored in the OME.TIF format.
    • Opening in Fiji: Files can be easily opened and stitched in Fiji by importing them as OME.TIF.
    • Opening in ASHLAR: Use the script developed during the openUC2 hackathon available here as a starting point for handling files in Ashlar.

    Hardware/Software Setup

    Correct orientation of the stage coordinates and camera coordinates is essential. The configuration ensures that the camera orientation matches the stage scanning positions.

    In order to have correct orientation it's important that the stage coordinates and the camera coordaintes are matching. The below image shows how the camera has to be orietned w.r.t. the stage scanning positions

    Tutorials and Demonstrations

    • Tutorial on Matching Axes: A tutorial explaining the matching of different axes is available on YouTube.
    • Full Plugin in Action: Watch the plugin in action here.

    Feel free to reach out with any queries or suggestions to enhance this documentation. Happy scanning with Histo Scanner! uUlJuI&ab_channel=openUC2

    Tutorial that explains how the different axes can be matched

    The Full plugin in action

    - + \ No newline at end of file diff --git a/docs/Investigator/XYZMicroscope/MCTPlugin/index.html b/docs/Investigator/XYZMicroscope/MCTPlugin/index.html index 233cbafda..e24a2fd5f 100644 --- a/docs/Investigator/XYZMicroscope/MCTPlugin/index.html +++ b/docs/Investigator/XYZMicroscope/MCTPlugin/index.html @@ -10,13 +10,13 @@ - + - + \ No newline at end of file diff --git a/docs/Investigator/XYZMicroscope/ROIScanner/index.html b/docs/Investigator/XYZMicroscope/ROIScanner/index.html index 0d7050b5e..d1b168444 100644 --- a/docs/Investigator/XYZMicroscope/ROIScanner/index.html +++ b/docs/Investigator/XYZMicroscope/ROIScanner/index.html @@ -10,13 +10,13 @@ - +

    ROI Scanner

    Starting ImSwitch on Ubuntu and Start the ROI Scanner

    First of all: Open the terminal. Type the following (all case sensitive):

    conda activate imswitch

    sudo chown user:user /dev/ttyUSB0 # where user is the current user you're logged into (then enter password)

    The USB port may differ, so perhaps also try this:

    sudo chown veo:veo /dev/ttyUSB1
    sudo chown veo:veo /dev/ttyUSB2

    Then:

    python -m imswitch

    The images are stored in the working directory of the terminal.

    - + \ No newline at end of file diff --git a/docs/Investigator/XYZMicroscope/SetupPhasecontrast/index.html b/docs/Investigator/XYZMicroscope/SetupPhasecontrast/index.html index 699b5605c..bc3c13340 100644 --- a/docs/Investigator/XYZMicroscope/SetupPhasecontrast/index.html +++ b/docs/Investigator/XYZMicroscope/SetupPhasecontrast/index.html @@ -10,7 +10,7 @@ - + @@ -29,7 +29,7 @@ The cheek cells are relatively thick and cause some additional image degradation (i.e. multiple scattering)

    Using only the green line of the ring improves overall contrast and reduces the artifact

    Multiple cell layers visualized with the UC2 XYZ phase-contrast microscope

    - + \ No newline at end of file diff --git a/docs/Investigator/XYZMicroscope/SetupTubelens/index.html b/docs/Investigator/XYZMicroscope/SetupTubelens/index.html index c2d3222be..9c9a76aa6 100644 --- a/docs/Investigator/XYZMicroscope/SetupTubelens/index.html +++ b/docs/Investigator/XYZMicroscope/SetupTubelens/index.html @@ -10,7 +10,7 @@ - + @@ -18,7 +18,7 @@

    openUC2 Setting up the tube lens

    Introduction and Explanation

    The tube lens in the openUC2 setup is a critical component responsible for transforming an object that is far away (approximately infinitely far away) into an image on the camera sensor. Proper calibration of the tube lens is essential to ensure that it produces a sharp and clear image. In this documentation, we will guide you through the process of setting up the tube lens for your openUC2 system.

    To achieve optimal performance, you will need to follow these key steps:

    1. Adjust the CCTV lens to focus on objects at infinity.
    2. Fully open the aperture to maximize light collection.

    Additionally, there is a small tool called "the crown" that facilitates the alignment of the ring components. You can download "the crown" tool from this link.

    Procedure

    Follow these steps to set up the tube lens for your openUC2 system:

    1. Mount the Camera

    Begin by mounting the camera using the C-mount onto the CCTV lens. Ensure that you include the spacer ring to align the image plane of the CCTV lens with the sensor plane of the camera.

    2. Adjust the Image Plane

    Make sure that the camera is securely attached to the CCTV lens, preventing it from turning or becoming loose.

    3. Install "The Crown"

    Insert "the crown" tool between the camera and the CCTV lens. This tool will assist in aligning the rings correctly.

    4. Secure the Camera

    Turn the camera clockwise, typically 2-3 full rotations, to fully secure it to the CCTV lens.

    5. Open the Aperture

    Rotate the camera counter-clockwise until the aperture is fully open. Ensure that the camera is parallel to the ground during this step to maximize light intake.

    6. Focus to Infinity

    Now, use "the crown" tool to turn the outer focus ring of the CCTV lens counter-clockwise. This adjustment will ensure that the CCTV lens is focused at infinity.

    By following these steps, you will successfully set up the tube lens for your openUC2 system, allowing it to capture sharp and well-focused images. Remember to check and fine-tune your settings as needed to achieve the best results for your specific imaging requirements.

    - + \ No newline at end of file diff --git a/docs/Investigator/XYZMicroscope/StageCalibration/index.html b/docs/Investigator/XYZMicroscope/StageCalibration/index.html index c3d742a6c..b3a28675a 100644 --- a/docs/Investigator/XYZMicroscope/StageCalibration/index.html +++ b/docs/Investigator/XYZMicroscope/StageCalibration/index.html @@ -10,7 +10,7 @@ - + @@ -18,7 +18,7 @@

    Stage Mapping and Stage Calibration

    Stage Coordinates

    In this tutorial, we will guide you through the process of aligning the coordinate systems for the UC2 microscope stage. Proper alignment ensures that the movement of the stage corresponds accurately with the image displayed on the screen, facilitating an intuitive user experience. In principle all of this can be handled in software (e.g. flipping the camera image, changing stage axis), but it's always good to start with a common ground from the hardware side.

    This is the microscope (UC2 XYZ v3) with the ingredients controlled by ImSwitch

    Alignment of Axes

    The goal of aligning the coordinate systems is to ensure they are correctly matched. The alignment of the stage is considered from the origin point (zero point). The desired behavior is as follows:

    • When the stage moves to the right (x+), the image on the screen should also move to the right.
    • When the stage moves upwards (y+), the image on the screen should move upwards as well.

    This is illustrated in the following Figure. When viewing the sample from above with the microscope positioned in front, the image should match what is shown in Imswitch. This is also represented by the VirtualMicroscope with the VirtualStage and VirtualCamera in this config (Config: https://github.com/openUC2/ImSwitchConfig/blob/master/imcontrol_setups/example_virtualmicroscope.json).

    Understanding Axes in NumPy

    It's important to note the labeling of axes. In NumPy, x = 1 and y = 0. This means:

    • The x-axis is the second axis (index 1) of an array.
    • The y-axis is the first axis (index 0) of an array.

    NumPy arrays are multidimensional, with axes numbered as follows:

    • Axis 0 is the first axis (often the vertical direction).
    • Axis 1 is the second axis (often the horizontal direction).

    Stage Coordinate System

    When viewing the stage from above, the coordinate system is arranged as follows:

    • X-Axis (Horizontal)
      • Positive direction: Right
      • Negative direction: Left
    • Y-Axis (Vertical)
      • Positive direction: Up
      • Negative direction: Down

    Aligning Axes with Imswitch

    To enable intuitive operation, the stage and camera axes must be correctly aligned with the coordinate system in Imswitch. To achieve this, the commands "flip x" and "flip y" are used. These commands invert the direction of the axes in the coordinate system, meaning that movement or position along the axes is reversed.

    Steps for Aligning Axes:

    1. Initial Setup:

      • Ensure the microscope and stage are properly connected to the control software (e.g., Imswitch).
    2. Define Origin:

      • Identify the origin (zero point) of the stage coordinate system. (in Hardware this would be defined by the Endstops that are used for homing the axes; The motor will run - if the direction is set correctly - until it hits the switch)
    3. Test Movement:

      • Move the stage to the right and observe the direction of the image on the screen.
        • If the image moves left, apply the "flip x" command.
      • Move the stage upwards and observe the direction of the image on the screen.
        • If the image moves down, apply the "flip y" command.
    4. Adjust Axes:

      • Use the following commands as needed to align the axes:

        # Flip the x-axis if necessary
        if x_movement_incorrect:
        stage.flip_x()

        # Flip the y-axis if necessary
        if y_movement_incorrect:
        stage.flip_y()
    5. Verify Alignment:

      • After applying the flips, verify that the stage movements correspond correctly with the image movements on the screen.
    6. Save Configuration:

      • Save the configuration settings to ensure the alignment persists across sessions.

    Stage Calibration

    Richard Bowman and his team provided a very nice way to calibrate stage coordinates to camera pixel coordinates. We burtally integrated the open-source software which you can find here: https://gitlab.com/openflexure/microscope-extensions/camera-stage-mapping into ImSwitch. If you activate the HistoScan Controller and Widget you can start it either by the GUI or using the HTTP interface by calling http://localhost:8002/HistoScanController/startStageMapping (URL and PORT may differ). What the stage will do is moving a certain series of steps in XY, performs a cross-correlation of the images and computes the shift in XY of the mciroscope image on the camera, compares it to the expected shift on and returns the Image-To-Stage-Displacement Matrix as well as the Backlashvector. Both matrices/vectors are microscope specificand will help you matching e.g. stage coordinates for stitching software such as ASHLAR or OFM Stitching. This document should give you a rough idea of what's happening.

    Some terminology:

    • Combine X and Y calibrations: The calibration involves combining two separate measurements or calibration runs for the x and y directions, ensuring that the directions are orthogonal (at right angles to each other).

    • 2x2 transformation matrix: The image_to_stage_displacement matrix maps image displacements to stage displacements. This ensures that movements in the image coordinate system are accurately translated to movements in the stage coordinate system.

    • backlash_vector: This is a vector estimating the backlash (mechanical slack or play in the system) in each direction. In this case, the estimated backlash is zero, indicating a precise calibration with no noticeable mechanical play.

    • backlash: The function is expected to return the highest element of backlash_vector as a scalar value, which would be zero in this case.

    Interpreation of the Matrix

    Calibration Matrix image_to_stage_displacement

    The entries of the calibration matrix image_to_stage_displacement can be given specific names and meanings based on their positions within the matrix. Let's denote the matrix as follows:

    image_to_stage_displacement=(01.01.00)\text{image\_to\_stage\_displacement} = \begin{pmatrix} 0 & -1.0 \\ -1.0 & 0 \end{pmatrix}
    (abcd)\begin{pmatrix} a & b \\ c & d \end{pmatrix}

    Entries and Their Names

    1. a (0):

      • Name: a
      • Meaning: Represents the scaling factor from the x-coordinate in the image to the x-coordinate in the stage. Here, it is 0, indicating no direct mapping from image x to stage x.
    2. b (-1.0):

      • Name: b
      • Meaning: Represents the scaling factor from the y-coordinate in the image to the x-coordinate in the stage. The value -1.0 indicates an inverse and slightly scaled mapping from image y to stage x.
    3. c (-1.0):

      • Name: c
      • Meaning: Represents the scaling factor from the x-coordinate in the image to the y-coordinate in the stage. The value -1.0 indicates an inverse and slightly scaled mapping from image x to stage y.
    4. d (0):

      • Name: d
      • Meaning: Represents the scaling factor from the y-coordinate in the image to the y-coordinate in the stage. Here, it is 0, indicating no direct mapping from image y to stage y.

    Summary of the Matrix Entries

    • a (0): No direct mapping from image x to stage x.
    • b (-1.0): Inverse mapping from image y to stage x.
    • c (-1.0): Inverse mapping from image x to stage y.
    • d (0): No direct mapping from image y to stage y.

    This calibration matrix indicates that there is a transformation involving a 90-degree rotation combined with an inverse scaling factor slightly above 1 between the image coordinates and the stage coordinates. The exact interpretation may depend on the specific application, but generally, it implies that movements in one direction in the image are mapped to movements in the perpendicular direction on the stage with a slight scaling adjustment.

    Interpretation of the Values

    The following simulation of the VirtualMicroscope inside ImSwitch (Config: https://github.com/openUC2/ImSwitchConfig/blob/master/imcontrol_setups/example_virtualmicroscope.json):

    The result of the stage mapping is a json file containing (under /ImSwitch/calibFile.json) the following important element:

        "camera_stage_mapping_calibration": {
    "backlash": 0.0,
    "backlash_vector": [
    0.0,
    0.0,
    0.0
    ],
    "image_to_stage_displacement": [
    [
    0.0,
    -1.0
    ],
    [
    -1.0,
    0.0
    ]
    ]
    }

    The provided matrices explains transforming image coordinates to stage coordinates and estimating backlash. Let's break down the interpretation of the entries:

    1. image_to_stage_displacement Matrix

    mData["camera_stage_mapping_calibration"]["image_to_stage_displacement"] =
    array([[ 0. , -1.00135997],
    [-1.00135997, 0. ]])

    This matrix is a 2x2 transformation matrix used to map image coordinates to stage coordinates. Each entry in this matrix has a specific meaning:

    • [0,0] = 0: There is no direct transformation of the x-coordinate in the image to the x-coordinate in the stage.
    • [0,1] = -1.00135997: The y-coordinate in the image inversely affects the x-coordinate in the stage.
    • [1,0] = -1.00135997: The x-coordinate in the image inversely affects the y-coordinate in the stage.
    • [1,1] = 0: There is no direct transformation of the y-coordinate in the image to the y-coordinate in the stage.

    The presence of -1.00135997 off-diagonal elements indicates that the transformation involves a negative and approximately unit scaling between the coordinates, implying a possible 90-degree rotation combined with a scaling factor close to -1.

    2. backlash_vector Matrix

    mData["camera_stage_mapping_calibration"]["backlash_vector"] =
    array([ 0., 0., 0.])

    This vector represents the estimated backlash in each direction (x, y, and possibly z, though z is not utilized in a 2D context). Here, all elements are zero, indicating no measurable backlash in the x and y directions.

    - + \ No newline at end of file diff --git a/docs/Investigator/XYZMicroscope/StageScanning/index.html b/docs/Investigator/XYZMicroscope/StageScanning/index.html index a2f4f47d9..16812487f 100644 --- a/docs/Investigator/XYZMicroscope/StageScanning/index.html +++ b/docs/Investigator/XYZMicroscope/StageScanning/index.html @@ -10,14 +10,14 @@ - +
    -

    Stage Scanning and Image Stitching (ASHLAR)

    We have multiple ways to perform stage scanning and stitching using ImSwitch. Below you can find dedicated documentation for some of them:

    1. Use ImScripting to take snapshots, save them locally and perform stitching using ASHLAR offline
    2. Perform GUI-based stitching and perform stitching using ASHLAR / simple pixel assignmens online (e.g. within/after the scanning process)
    3. Coming soon

    Using Imswitch for Image Retrieval and Stitching with Interactive ImScripting

    Overview

    This documentation outlines the steps to use Imswitch and Interactive IMScripting to retrieve images and stitch them together. The process involves configuring the motor settings, capturing images in a grid pattern, and stitching these images using ASHLAR.

    The following code can be executed inside the ImSwitch's ImScripting editor.

    # install a modified version of ashlar that enables loading numpy arrays directly without going through a file
    # python -m pip install https://github.com/openUC2/ashlar/archive/refs/heads/master.zip
    import numpy as np
    import time
    import threading
    import os
    import tifffile
    import re
    from ashlar.scripts import ashlar
    from ashlar.scripts.ashlar import process_images
    from pathlib import Path

    # Calculate the image size and the overlap of the images based on pixel size and resolution.
    mPixelSize = 1.0 # micron - use a calibration chart to get this right!
    input_dir = "./mScanImages"
    output_dir = "./mStitchedImage"
    input_name = "TmpTileFile.ome.tif"
    output_name = "ResultingStitchedImage.ome.tif"
    initialPosX = 0
    initialPosY = 0
    maximum_shift_microns = 1000
    Nx = 5
    Ny = 5
    # please try changing these two values to make it match!
    flip_x=True
    flip_y=False

    # create the folders and names
    Path(input_dir).mkdir(parents=True, exist_ok=True)
    Path(output_dir).mkdir(parents=True, exist_ok=True)
    ashlar_output_file = os.path.join(output_dir, output_name)
    ashlar_input_file = os.path.join(input_dir, input_name)

    mFrameShape = api.imcontrol.snapImage(True, False).shape
    xDim = mFrameShape[1] * mPixelSize
    yDim = mFrameShape[0] * mPixelSize
    mOverlap = 0.8 # 90% overlap at the edges

    # Set the motor control to 0 and define the motor speeds for the X, Y, and Z axes.
    positionerName = api.imcontrol.getPositionerNames()[0]
    api.imcontrol.setPositionerSpeed(positionerName, "X", 20000)
    api.imcontrol.setPositionerSpeed(positionerName, "Y", 20000)
    api.imcontrol.setPositionerSpeed(positionerName, "Z", 2000)

    ## Capture images in a 2x3 grid pattern. The stage moves to the start position and captures images at each step. Each image is saved with coordinates as the filename.
    iiter = 0

    USE_OME = False
    if USE_OME:# on MAC ARM M1 it may not work..
    with tifffile.TiffWriter(input_name) as tif: ## Define the input and output directories, and the pixel size. Open a new TIFF file to write the collected tiles, read each image, extract the position from the filename, prepare metadata, and write the image with metadata into the TIFF file. Finally, use ASHLAR to stitch the images together.
    for ix in np.arange(Nx):
    for iy in np.arange(Ny):
    mPos = (ix * xDim * mOverlap + initialPosX, iy * yDim * mOverlap + initialPosY)
    api.imcontrol.movePositioner(positionerName, "XY", mPos, True, True)
    time.sleep(0.5)
    mFrame = api.imcontrol.snapImage(True, False)
    metadata = {
    'Pixels': {'PhysicalSizeX': mPixelSize, 'PhysicalSizeXUnit': 'm', 'PhysicalSizeY': mPixelSize, 'PhysicalSizeYUnit': 'm'},
    'Plane': {'PositionX': ix, 'PositionY': iy}
    }
    tif.write(mFrame, metadata=metadata)
    iiter += 1
    ashlar.main(['', ashlar_input_file, '-o', ashlar_output_file, '--pyramid', '-m%s' % maximum_shift_microns, "-flip_x", flip_x, "-flip_y", flip_y])

    else: # this is a workaround with a numpy reader instead
    mImageList = []
    position_list = []
    for ix in range(Nx):
    for iy in range(Ny):
    mPos = (ix * xDim * mOverlap + initialPosX, iy * yDim * mOverlap + initialPosY)
    api.imcontrol.movePositioner(positionerName, "XY", mPos, True, True)
    time.sleep(0.5)
    mFrame = api.imcontrol.snapImage(True, False)
    mImageList.append(mFrame)
    position_list.append(mPos)
    print(mPos)
    arrays = [np.expand_dims(np.array(mImageList),1)] # (num_images, num_channels, height, width)
    # create a 2D list of xy positions
    position_list = np.array(position_list)

    # Process numpy arrays
    process_images(filepaths=arrays,
    output='ashlar_output.tif',
    align_channel=0,
    flip_x=flip_x,
    flip_y=flip_y,
    flip_mosaic_x=False,
    flip_mosaic_y=False,
    output_channels=None,
    maximum_shift=maximum_shift_microns,
    stitch_alpha=0.01,
    maximum_error=None,
    filter_sigma=0,
    filename_format='cycle_{cycle}_channel_{channel}.tif',
    pyramid=False,
    tile_size=1024,
    ffp=None,
    dfp=None,
    barrel_correction=0,
    plates=False,
    quiet=False,
    position_list=position_list,
    pixel_size=mPixelSize)
    mImage = tifffile.imread('ashlar_output.tif')

    #display the resulting tiles
    api.imcontrol.displayImageNapari("Tiles", arrays[0], isRGB=False)

    print(position_list)
    # display the resulting image
    api.imcontrol.displayImageNapari("StitchedImage", mImage, isRGB=False)

    Additional Image Processing

    Additional commands can be used to manipulate the stitched image if needed (depends if the image looks weird or not..):

    Flip X-Axis

    ashlar.main(['', collected_tiles_file, '-o', ashlar_output_file, '--pyramid', '-m%s' % maximum_shift_microns, "--flip-x"])

    Flip Both Axes and Mirror Images in X-Direction

    ashlar.main(['', collected_tiles_file, '-o', ashlar_output_file, '--pyramid', '-m%s' % maximum_shift_microns, "--flip-mosaic-x"])

    In action

    Here we use the loading of numpy images inside ImSwitch and process them with Ashlar to directly dipslay them in Napari. -Make sure the orientation is set as in the animation below according to the Stage Calibration results.

    # keep this number low (e.g. 1-2 to check the correction direction of X/Y)
    Nx = 2
    Ny = 2
    # please try changing these two values to make it match!
    flip_x=True
    flip_y=False

    - +

    Stage Scanning and Image Stitching (ASHLAR)

    We have multiple ways to perform stage scanning and stitching using ImSwitch. Below you can find dedicated documentation for some of them:

    1. Use ImScripting to take snapshots, save them locally and perform stitching using ASHLAR offline
    2. Perform GUI-based stitching and perform stitching using ASHLAR / simple pixel assignmens online (e.g. within/after the scanning process)
    3. Coming soon

    1. Using Imswitch for Image Retrieval and Stitching with Interactive ImScripting

    Overview

    This documentation outlines the steps to use Imswitch and Interactive IMScripting to retrieve images and stitch them together. The process involves configuring the motor settings, capturing images in a grid pattern, and stitching these images using ASHLAR.

    The following code can be executed inside the ImSwitch's ImScripting editor.

    # install a modified version of ashlar that enables loading numpy arrays directly without going through a file
    # python -m pip install https://github.com/openUC2/ashlar/archive/refs/heads/master.zip
    import numpy as np
    import time
    import threading
    import os
    import tifffile
    import re
    from ashlar.scripts import ashlar
    from ashlar.scripts.ashlar import process_images
    from pathlib import Path

    # Calculate the image size and the overlap of the images based on pixel size and resolution.
    mPixelSize = 1.0 # micron - use a calibration chart to get this right!
    input_dir = "./mScanImages"
    output_dir = "./mStitchedImage"
    input_name = "TmpTileFile.ome.tif"
    output_name = "ResultingStitchedImage.ome.tif"
    initialPosX = 0
    initialPosY = 0
    maximum_shift_microns = 1000
    Nx = 5
    Ny = 5
    # please try changing these two values to make it match!
    flip_x=True
    flip_y=False

    # create the folders and names
    Path(input_dir).mkdir(parents=True, exist_ok=True)
    Path(output_dir).mkdir(parents=True, exist_ok=True)
    ashlar_output_file = os.path.join(output_dir, output_name)
    ashlar_input_file = os.path.join(input_dir, input_name)

    mFrameShape = api.imcontrol.snapImage(True, False).shape
    xDim = mFrameShape[1] * mPixelSize
    yDim = mFrameShape[0] * mPixelSize
    mOverlap = 0.8 # 90% overlap at the edges

    # Set the motor control to 0 and define the motor speeds for the X, Y, and Z axes.
    positionerName = api.imcontrol.getPositionerNames()[0]
    api.imcontrol.setPositionerSpeed(positionerName, "X", 20000)
    api.imcontrol.setPositionerSpeed(positionerName, "Y", 20000)
    api.imcontrol.setPositionerSpeed(positionerName, "Z", 2000)

    ## Capture images in a 2x3 grid pattern. The stage moves to the start position and captures images at each step. Each image is saved with coordinates as the filename.
    iiter = 0

    USE_OME = False
    if USE_OME:# on MAC ARM M1 it may not work..
    with tifffile.TiffWriter(input_name) as tif: ## Define the input and output directories, and the pixel size. Open a new TIFF file to write the collected tiles, read each image, extract the position from the filename, prepare metadata, and write the image with metadata into the TIFF file. Finally, use ASHLAR to stitch the images together.
    for ix in np.arange(Nx):
    for iy in np.arange(Ny):
    mPos = (ix * xDim * mOverlap + initialPosX, iy * yDim * mOverlap + initialPosY)
    api.imcontrol.movePositioner(positionerName, "XY", mPos, True, True)
    time.sleep(0.5)
    mFrame = api.imcontrol.snapImage(True, False)
    metadata = {
    'Pixels': {'PhysicalSizeX': mPixelSize, 'PhysicalSizeXUnit': 'm', 'PhysicalSizeY': mPixelSize, 'PhysicalSizeYUnit': 'm'},
    'Plane': {'PositionX': ix, 'PositionY': iy}
    }
    tif.write(mFrame, metadata=metadata)
    iiter += 1
    ashlar.main(['', ashlar_input_file, '-o', ashlar_output_file, '--pyramid', '-m%s' % maximum_shift_microns, "-flip_x", flip_x, "-flip_y", flip_y])

    else: # this is a workaround with a numpy reader instead
    mImageList = []
    position_list = []
    for ix in range(Nx):
    for iy in range(Ny):
    mPos = (ix * xDim * mOverlap + initialPosX, iy * yDim * mOverlap + initialPosY)
    api.imcontrol.movePositioner(positionerName, "XY", mPos, True, True)
    time.sleep(0.5)
    mFrame = api.imcontrol.snapImage(True, False)
    mImageList.append(mFrame)
    position_list.append(mPos)
    print(mPos)
    arrays = [np.expand_dims(np.array(mImageList),1)] # (num_images, num_channels, height, width)
    # create a 2D list of xy positions
    position_list = np.array(position_list)

    # Process numpy arrays
    process_images(filepaths=arrays,
    output='ashlar_output.tif',
    align_channel=0,
    flip_x=flip_x,
    flip_y=flip_y,
    flip_mosaic_x=False,
    flip_mosaic_y=False,
    output_channels=None,
    maximum_shift=maximum_shift_microns,
    stitch_alpha=0.01,
    maximum_error=None,
    filter_sigma=0,
    filename_format='cycle_{cycle}_channel_{channel}.tif',
    pyramid=False,
    tile_size=1024,
    ffp=None,
    dfp=None,
    barrel_correction=0,
    plates=False,
    quiet=False,
    position_list=position_list,
    pixel_size=mPixelSize)
    mImage = tifffile.imread('ashlar_output.tif')

    #display the resulting tiles
    api.imcontrol.displayImageNapari("Tiles", arrays[0], isRGB=False)

    print(position_list)
    # display the resulting image
    api.imcontrol.displayImageNapari("StitchedImage", mImage, isRGB=False)

    Additional Image Processing

    Additional commands can be used to manipulate the stitched image if needed (depends if the image looks weird or not..):

    Flip X-Axis

    ashlar.main(['', collected_tiles_file, '-o', ashlar_output_file, '--pyramid', '-m%s' % maximum_shift_microns, "--flip-x"])

    Flip Both Axes and Mirror Images in X-Direction

    ashlar.main(['', collected_tiles_file, '-o', ashlar_output_file, '--pyramid', '-m%s' % maximum_shift_microns, "--flip-mosaic-x"])

    In action

    Here we use the loading of numpy images inside ImSwitch and process them with Ashlar to directly dipslay them in Napari. +Make sure the orientation is set as in the animation below according to the Stage Calibration results.

    # keep this number low (e.g. 1-2 to check the correction direction of X/Y)
    Nx = 2
    Ny = 2
    # please try changing these two values to make it match!
    flip_x=True
    flip_y=False

    2. Perform GUI-based stitching and perform stitching using ASHLAR in the Main GUI

    Navigate to the HistoScan Menu and perform the grid-based scanning. Select ASHLAR stitching and the appropriate flipping of the axes (will be suggested by the previously performed stage mapping) and run the scanning. The stitched result will be displayed after some computational time which may vary depending on your CPU and memory availabililty.

    + \ No newline at end of file diff --git a/docs/Investigator/ZMicroscope/UpackZMicroscope/index.html b/docs/Investigator/ZMicroscope/UpackZMicroscope/index.html index fbec78c78..5c804d2b3 100644 --- a/docs/Investigator/ZMicroscope/UpackZMicroscope/index.html +++ b/docs/Investigator/ZMicroscope/UpackZMicroscope/index.html @@ -10,13 +10,13 @@ - +

    Unpack the openUC2 Z-Microscope

    Unpacking the microscope

    The hardcover plastic case contains all you need for the microscope:

    • USB micro cable
    • USB3 camera cable
    • 12V power-supply
    • Sweet treat
    • The actual microscope
    • The objective lens

    The actual Box looks like this:

    Please also find the treat and make sure you provide yourself with enough sugar throughout this unpacking routine :-)

    The foam holds the microscope in place (the actual colour may differ from what you may see):

    The cables are hidden behind the foam:

    Check if you find the content of the box:

    Getting started

    First of all we need to wire up the microscope. For this we will start with the 12V power supply. Unfortunately the powersocket is inside the case, hence you have to first eat some candy in order to better find the spot ;-)

    The same holds true for the USB connection to the microcontroller board. You need to hook it up like that:

    Once done, we continue with inserting the objective lens. Eventually the lens is already inserted and you just need to check if the lens is centered correctly

    The microscope should look like this:

    Wire up the microscope to your computer

    In order to get the microscope working, we first need to install additional drivers. For the Daheng Camera, this would be:

    For additional information and an in-depth explanation for the UC2e system, please have a look here

    Troubleshoot

    We learn from mistakes. So lets start learning. The system is fully open, meaning, you can adjust and change the vast majority of the parts on your own. The entire system consists of the openUC2 frame / skeleton and the 3D printed housing to shield it from dust and light. By removing all M3 cylindrical screws, you can detech the housing from the inner structure to eventually repair or alter the system.

    A 2.5m hex key will help you for finishing this job:

    Lift the lid and the microscpe will follow (make sure all cables are detached):

    Now you can start working on the "inner bits":

    In Action

    Here you see the extended focussing of the objective lens:

    Connecting the microscope to the browser and controll it

    We encourage you to use the UC2ified ImSwitch software to control the microscope. You can find it in this repository: https://github.com/openUC2/ImSwitch/

    However, if you want to quick-start the microscope and see if it works, you can open your browser and use the WEB-Serial interface to interact with the microscope.

    Go to https://youseetoo.github.io/ and connect to your board (most right option saying ESP32 DEV-based UC2 standalone board V2). Select the COM Port which is holding the ESP32 and hit the LOG option, once the dialog opens. The alternative option will help you updating the firmware on the device. An in-depth explanation on how the firmware works can be found here.

    In general, you need to send JSON strings in order to control the system. The strings relevant for the Z-microscope are:

    Home the Z-axis

    It's important to always home the Motors in order to avoid them from getting stuck in an end position (ATTENTION!). The following string will move the motor until the endstop is hit. Afterwards it will release the switch:

    {"task":"/home_act", "home": {"steppers": [{"stepperid":3, "timeout": 2000, "speed": 15000, "direction":1, "endposrelease":3000}]}}

    Afterwards the internal position is set to 0. You can check that by entering:

    {"task": "/motor_get"}

    Move the Z-axis:

    The motor (Nema12) with 200 steps/revolution runs with 16 microstepps and offers a leadscrew with 1mm/revolution. Hence, one step corresponds to 312.5nm. Running the motor can be issued with the following command:

    {"task":"/motor_act",
    "motor":
    {
    "steppers": [
    { "stepperid": 3, "position": 1000, "speed": 15000, "isabs": 3, "isaccel":0}
    ]
    }
    }
    • stepperid: 3 correpsonds to the Z-axis
    • position: steps to go (not physical units!)
    • speed: steps / minute (do not exceed 20000)
    • isabs: absolute or relative motion
    • isaccel: for now, use only non-accelerated motion!

    Safety

    • in case of shattered glass, make sure you don't cut yourself
    • Make sure you don't hurt yourself
    • The moving parts can potentially hurt your finger
    • The electronics - if used in a wrong way - can harm you
    • edges may be sharp, make sure you don't cut yourself
    - + \ No newline at end of file diff --git a/docs/PRODUCTION/INVESTIGATOR/ProductionXYZMicroscope/index.html b/docs/PRODUCTION/INVESTIGATOR/ProductionXYZMicroscope/index.html index e88d37b3a..0010ccd96 100644 --- a/docs/PRODUCTION/INVESTIGATOR/ProductionXYZMicroscope/index.html +++ b/docs/PRODUCTION/INVESTIGATOR/ProductionXYZMicroscope/index.html @@ -10,7 +10,7 @@ - + @@ -27,7 +27,7 @@

    Prepare the Z-stage

    The documentation for the motorized 25mm Z-stage can be found here: https://openuc2.github.io/docs/PRODUCTION/PG_12_STAGE_Z_NEMA

    Once done, lock the Stage with the Puzzle piece with M5x8 worm screws:

    Prepare Electronics

    Bill of Material

    • UC2e v2 electronics
    • 3x A4988 Stepper driver
    • 12V power supply
    • USB micro cable
    • 3D printed case
    • 2x puzzle pieces
    • 8 M5x8 thread-only screws
    • 4x M3x8mm screws

    Assembly

    Attach the electronics board to the 3D printed assembly and tighten it with the M3 screws (cylindrical, Din906) Attach the puzzle pieces to the distal ends of the assembly and lock it with the M5 screws. For this the yet closed holes have to be opened by "drilling" it through.

    Prepare Triangle Structure

    Tubelens

    Bill of Material

    • Berrybase 100mm CCTV Lens
    • Daheng Vision IMX226 sensor
    • USB 3 Camera Cable
    • 2x Puzzlepieze
    • 8x M5x8 mm worm screw
    • 4x M3x18mm screw

    Assembly

    Adding the Baseplate

    Endstops and Illumination

    Skeleton

    Fully Assembled

    Fluo Extension

    Improvements

    Stage does not run smoothly

    You can release the pressure on the linear bearings by loosening the screws carefully. Make sure you don't introduce unneccesary play. The stage works with two v-grooves and balls in between.

    Additional images (have to be sorted)

    Safety

    TODO: Add additional information!

    • in case of shattered glass, make sure you don't cut yourself
    • Make sure you don't hurt yourself
    • The moving parts can potentially hurt your finger
    • The electronics - if used in a wrong way - can harm you
    • edges may be sharp, make sure you don't cut yourself
    - + \ No newline at end of file diff --git a/docs/PRODUCTION/Modules/APERTURES/index.html b/docs/PRODUCTION/Modules/APERTURES/index.html index b2d9b228b..aaf7df7ba 100644 --- a/docs/PRODUCTION/Modules/APERTURES/index.html +++ b/docs/PRODUCTION/Modules/APERTURES/index.html @@ -10,13 +10,13 @@ - +

    Apertures

    This page describes how to assemble the kinematic XY mount for moving a laser/ pinhole.

    Duration: 1

    Bill of material

    Below you will find all components necessary to build this device.

    3D printing files

    All these files need to be printed.

    Printing parameters:

    InfillLayerheightSpecial ProfileMaterial
    ~20%0.25/0.3mmmini/i3PLA (black)
    IDAmountTypeDetailsLink
    #01-011BaseHolds MirrorPart.stl
    #01-012BaseSpring LocksPart.stl

    Additional parts

    This is used in the current version of the setup

    IDAmountTypeDetailsPriceLink
    #01-011Spring0,20€NONE
    #01-011Threaded Inserts M30,20€NONE
    #01-011Screw Ball head0,20€NONE

    Assembly

    Duration: 1

    Below we describe how the device can be build and assembled in order to replicate the whole system.

    STEP 1

    All parts you need to assemble the module:

    Design files

    The original design files are in the INVENTOR folder.

    - + \ No newline at end of file diff --git a/docs/PRODUCTION/Modules/BEAMSPLITTER/index.html b/docs/PRODUCTION/Modules/BEAMSPLITTER/index.html index 7235da772..a6681583c 100644 --- a/docs/PRODUCTION/Modules/BEAMSPLITTER/index.html +++ b/docs/PRODUCTION/Modules/BEAMSPLITTER/index.html @@ -10,13 +10,13 @@ - +

    KINEMATIC MIRROR (90°)

    This page describes how to assemble the partially transparent mirror (45°) module. It uses a Frontsurface 50% mirror that.

    Duration: 1

    Bill of material

    Below you will find all components necessary to build this device

    3D printing files

    All these files need to be printed.

    Printing parameters:

    InfillLayerheightSpecial ProfileMaterial
    ~20%0.25/0.3mmmini/i3PLA (black)
    IDAmountTypeDetailsLink
    #01-011BaseHolds MirrorPart.stl

    Additional parts

    This is used in the current version of the setup

    IDAmountTypeDetailsPriceLink
    #01-01150% MirrorAstromedia 40x30mm PArtially Transparent Mirror8,00€Astromedia

    Assembly

    Duration: 1

    Below we describe how the device can be build and assembled in order to replicate the whole system.

    STEP 1

    All parts you need to assemble the module:

    STEP 2

    caution

    Insert the beam splitter in such a way that the mirroring/coated surface points away from the printed part!

    Design files

    The original design files are in the INVENTOR folder.

    - + \ No newline at end of file diff --git a/docs/PRODUCTION/Modules/Camera/index.html b/docs/PRODUCTION/Modules/Camera/index.html index 92d6c3a43..40000e56b 100644 --- a/docs/PRODUCTION/Modules/Camera/index.html +++ b/docs/PRODUCTION/Modules/Camera/index.html @@ -10,7 +10,7 @@ - + @@ -18,7 +18,7 @@

    USB Camera

    Duration: 1

    This page describes how to assemble the camera module. It has two different variations:

    • IMX214 (Arducam, LINK)
    • IMX179 (Waveshare, LINK)

    Bill of material

    Below you will find all components necessary to build this device

    3D printing files

    All these files need to be printed.

    Printing parameters:

    InfillLayerheightSpecial ProfileMaterial
    ~20%0.25/0.3mmmini/i3PLA (black)
    TypeDetailsLink
    Camera holderholds IMX179/214Part.stl

    Additional parts

    This is used in the current version of the setup

    TypeDetailsPriceLink
    USB CameraArducam USB IMX21440 €Amazon
    or---------
    USB CameraArducam USB IMX21440 €Amazon
    Mounting screwsDIN912 M3x12mm Screws0.40 €Würth

    Assembly

    Duration: 1

    Below we describe how the device can be build and assembled in order to replicate the whole system.

    IMX219 (Arducam)

    STEP 1

    All parts you need to assemble the module:

    Remove the lens (M12/cellphone) from the camera board.

    STEP 2

    Use the DIN912 M3x12mm screws to mount the camera securely. ATTENTION: Use the decentered holes such that the Camera is placed in the inserts's center!

    STEP 3

    Add the insert to the cube, close it and store the cable safely.

    IMX179 (Waveshare)

    STEP 1

    All parts you need to assemble the module:

    STEP 2

    Remove the lens (M12) from the camera board using a cross key.

    STEP 3

    Use the DIN912 M3x12mm screws to mount the camera securely. ATTENTION: Use the centered screws to have the camera's lens in the center of the module!

    STEP 4

    To remove the lens take a cloth/tissue and pliers and knock it of with some force. Don't break the part!

    STEP 5

    Add the part to the cube and you're done.

    Design files

    The original design files are in the INVENTOR folder.

    - + \ No newline at end of file diff --git a/docs/PRODUCTION/Modules/Eyepiece/index.html b/docs/PRODUCTION/Modules/Eyepiece/index.html index 0589505a4..d4615904c 100644 --- a/docs/PRODUCTION/Modules/Eyepiece/index.html +++ b/docs/PRODUCTION/Modules/Eyepiece/index.html @@ -10,13 +10,13 @@ - +

    Eyepiece

    Duration: 1

    This page describes how to assemble the Eyepiece module. It uses a standard eyepiece with 22mm diameter.

    Bill of material

    Below you will find all components necessary to build this device

    3D printing files

    All these files need to be printed.

    Printing parameters:

    InfillLayerheightSpecial ProfileMaterial
    ~20%0.25/0.3mmmini/i3PLA (black)
    TypeDetailsLink
    Holderholds EyepiecePart.stl

    Additional parts

    This is used in the current version of the setup

    TypeDetailsPriceLink
    Eyepiece10x, 18mm Eyepiece10 €Aliexpress

    Assembly

    Duration: 1

    Below we describe how the device can be build and assembled in order to replicate the whole system.

    STEP 1

    All parts you need to assemble the module:

    Remove XX

    STEP 2

    Use Hotglue to permanently mount the eyepiece to the insert.

    STEP 3

    Add the insert to the cube, close it and store it safely.

    Design files

    The original design files are in the INVENTOR folder.

    - + \ No newline at end of file diff --git a/docs/PRODUCTION/Modules/KIN_MIR_45/index.html b/docs/PRODUCTION/Modules/KIN_MIR_45/index.html index 6c7c58b94..b0880faf0 100644 --- a/docs/PRODUCTION/Modules/KIN_MIR_45/index.html +++ b/docs/PRODUCTION/Modules/KIN_MIR_45/index.html @@ -10,13 +10,13 @@ - +

    KINEMATIC MIRROR (45°)

    This page describes how to assemble the kinematic mirror (45°) module. It uses a Frontsurface mirror that can be tuned in 3 axis

    Duration: 1

    Bill of material

    Below you will find all components necessary to build this device

    3D printing files

    All these files need to be printed.

    Printing parameters:

    InfillLayerheightSpecial ProfileMaterial
    ~20%0.25/0.3mmmini/i3PLA (black)
    IDAmountTypeDetailsLink
    #01-011BaseHolds screwsPart.stl
    #01-021Mirror Mountholds mirror and is movablePart.stl

    Additional parts

    This is used in the current version of the setup

    IDAmountTypeDetailsPriceLink
    #01-011FS MirrorAstromedia 40x30mm Frontsurface Mirror5,00€Astromedia
    #01-024Screw (orings)M3x12, DIN9125,00€Astromedia
    #01-033Screw (Pushing)M3x20, NOT DECIDED!15,00€Link
    #01-042O-Ringr=8mm0,10€Link
    #01-051Cube5,00€Link

    Assembly

    Duration: 1

    Below we describe how the device can be build and assembled in order to replicate the whole system.

    STEP 1

    All parts you need to assemble the module:

    STEP 2

    STEP 3

    STEP 4

    Design files

    The original design files are in the INVENTOR folder.

    - + \ No newline at end of file diff --git a/docs/PRODUCTION/Modules/KIN_MIR_90/index.html b/docs/PRODUCTION/Modules/KIN_MIR_90/index.html index 8bc5e48a1..78a9b7480 100644 --- a/docs/PRODUCTION/Modules/KIN_MIR_90/index.html +++ b/docs/PRODUCTION/Modules/KIN_MIR_90/index.html @@ -10,13 +10,13 @@ - +

    KINEMATIC MIRROR (90°)

    This page describes how to assemble the kinematic mirror (90) module. It uses a Frontsurface mirror that can be tuned in 3 axis

    Duration: 1

    Bill of material

    Below you will find all components necessary to build this device

    3D printing files

    All these files need to be printed.

    Printing parameters:

    InfillLayerheightSpecial ProfileMaterial
    ~20%0.25/0.3mmmini/i3PLA (black)
    IDAmountTypeDetailsLink
    #01-011BaseHolds screwsPart.stl
    #01-021Mirror Mountholds mirror and is movablePart.stl

    Additional parts

    This is used in the current version of the setup

    IDAmountTypeDetailsPriceLink
    #01-011FS MirrorAstromedia 40x30mm Frontsurface Mirror5,00€Astromedia
    #01-024Screw (orings)M3x12, DIN9125,00€Astromedia
    #01-033Screw (Pushing)M3x20, NOT DECIDED!15,00€Link
    #01-042O-Ringr=8mm0,10€Link
    #01-051Cube5,00€Link

    Assembly

    Duration: 1

    Below we describe how the device can be build and assembled in order to replicate the whole system.

    STEP 1

    All parts you need to assemble the module:

    STEP 2

    STEP 3

    STEP 4

    STEP 5

    STEP 6

    Design files

    The original design files are in the INVENTOR folder.

    - + \ No newline at end of file diff --git a/docs/PRODUCTION/Modules/KIN_XY_LASER/index.html b/docs/PRODUCTION/Modules/KIN_XY_LASER/index.html index 8e376f28b..34dec4e81 100644 --- a/docs/PRODUCTION/Modules/KIN_XY_LASER/index.html +++ b/docs/PRODUCTION/Modules/KIN_XY_LASER/index.html @@ -10,13 +10,13 @@ - +

    Kinematic XY Mount

    This page describes how to assemble the kinematic XY mount for moving a laser/ pinhole.

    Duration: 1

    Bill of material

    Below you will find all components necessary to build this device.

    3D printing files

    All these files need to be printed.

    Printing parameters:

    InfillLayerheightSpecial ProfileMaterial
    ~20%0.25/0.3mmmini/i3PLA (black)
    IDAmountTypeDetailsLink
    #01-011BaseHolds MirrorPart.stl
    #01-012BaseSpring LocksPart.stl

    Additional parts

    This is used in the current version of the setup

    IDAmountTypeDetailsPriceLink
    #01-011Spring0,20€NONE
    #01-011Threaded Inserts M30,20€NONE
    #01-011Screw Ball head0,20€NONE

    Assembly

    Duration: 1

    Below we describe how the device can be build and assembled in order to replicate the whole system.

    STEP 1

    All parts you need to assemble the module:

    STEP 2

    STEP 3

    STEP 4

    STEP 6

    Design files

    The original design files are in the INVENTOR folder.

    - + \ No newline at end of file diff --git a/docs/PRODUCTION/Modules/LENS/index.html b/docs/PRODUCTION/Modules/LENS/index.html index 45869fc8e..8aa4cd0ab 100644 --- a/docs/PRODUCTION/Modules/LENS/index.html +++ b/docs/PRODUCTION/Modules/LENS/index.html @@ -10,14 +10,14 @@ - +

    LENS

    Duration: 1

    This page describes how to assemble the LEns module. It uses a 40mm biconvex/biconcave glasslens with varyin diameter

    Bill of material

    Below you will find all components necessary to build this device

    3D printing files

    All these files need to be printed.

    Printing parameters:

    InfillLayerheightSpecial ProfileMaterial
    ~20%0.25/0.3mmmini/i3PLA (black)
    IDTypeDetailsLink
    #01-01Holderholds LensPart.stl
    #01-02Lidfixes lens using screw mechanismPart.stl

    Additional parts

    This is used in the current version of the setup

    IDTypeDetailsPriceLink
    #01-03Lens (50mm)f'=50mm, Diameter 40mm2 €Aliexpress
    or
    #01-04Lens (100mm)f'=100mm, Diameter 40mm2 €Aliexpress
    or
    #01-05Lens (-50mm)f'=-50mm, Diameter 40mm2 €Aliexpress

    Assembly

    Duration: 1

    Below we describe how the device can be build and assembled in order to replicate the whole system.

    STEP 1

    All parts you need to assemble the module:

    STEP 2

    Thread in the round piece tand fix the lens. Make sure you use the right ring for the right lens!

    caution

    Clean the lenses with a cotton cloth.

    Design files

    The original design files are in the INVENTOR folder.

    - + \ No newline at end of file diff --git a/docs/PRODUCTION/Modules/MIR_45/index.html b/docs/PRODUCTION/Modules/MIR_45/index.html index 46b2bdad9..7027d5089 100644 --- a/docs/PRODUCTION/Modules/MIR_45/index.html +++ b/docs/PRODUCTION/Modules/MIR_45/index.html @@ -10,13 +10,13 @@ - +

    Mirror (45°)

    This page describes how to assemble the standard fold mirror (45°) module. It uses a Frontsurface mirror.

    Duration: 1

    Bill of material

    Below you will find all components necessary to build this device

    3D printing files

    All these files need to be printed.

    Printing parameters:

    InfillLayerheightSpecial ProfileMaterial
    ~20%0.25/0.3mmmini/i3PLA (black)
    IDAmountTypeDetailsLink
    #01-011BaseHolds MirrorPart.stl

    Additional parts

    This is used in the current version of the setup

    IDAmountTypeDetailsPriceLink
    #01-011MirrorAstromedia 40x30mm PArtially Transparent Mirror8,00€Astromedia

    Assembly

    Duration: 1

    Below we describe how the device can be build and assembled in order to replicate the whole system.

    STEP 1

    All parts you need to assemble the module:

    STEP 2

    STEP 3

    Design files

    The original design files are in the INVENTOR folder.

    - + \ No newline at end of file diff --git a/docs/PRODUCTION/Modules/POLARIZER_ROTATING/index.html b/docs/PRODUCTION/Modules/POLARIZER_ROTATING/index.html index 747b08ec1..5d7f93d45 100644 --- a/docs/PRODUCTION/Modules/POLARIZER_ROTATING/index.html +++ b/docs/PRODUCTION/Modules/POLARIZER_ROTATING/index.html @@ -10,13 +10,13 @@ - +

    Polarization Rotator

    This page describes how to assemble the kinematic XY mount for moving a laser/ pinhole.

    Duration: 1

    Bill of material

    Below you will find all components necessary to build this device.

    3D printing files

    All these files need to be printed.

    Printing parameters:

    InfillLayerheightSpecial ProfileMaterial
    ~20%0.25/0.3mmmini/i3PLA (black)
    IDAmountTypeDetailsLink
    #01-011BaseHolds MirrorPart.stl
    #01-012BaseSpring LocksPart.stl

    Additional parts

    This is used in the current version of the setup

    IDAmountTypeDetailsPriceLink
    #01-011Spring0,20€NONE
    #01-011Threaded Inserts M30,20€NONE
    #01-011Screw Ball head0,20€NONE

    Assembly

    Duration: 1

    Below we describe how the device can be build and assembled in order to replicate the whole system.

    STEP 1

    All parts you need to assemble the module:

    STEP 2

    STEP 3

    Design files

    The original design files are in the INVENTOR folder.

    - + \ No newline at end of file diff --git a/docs/PRODUCTION/Modules/SAMPLE_HOLDEr/index.html b/docs/PRODUCTION/Modules/SAMPLE_HOLDEr/index.html index 6b65a90ba..133047db3 100644 --- a/docs/PRODUCTION/Modules/SAMPLE_HOLDEr/index.html +++ b/docs/PRODUCTION/Modules/SAMPLE_HOLDEr/index.html @@ -10,13 +10,13 @@ - +

    Sample Holder

    This page describes how to assemble the kinematic XY mount for moving a laser/ pinhole.

    Duration: 1

    Bill of material

    Below you will find all components necessary to build this device.

    3D printing files

    All these files need to be printed.

    Printing parameters:

    InfillLayerheightSpecial ProfileMaterial
    ~20%0.25/0.3mmmini/i3PLA (black)
    IDAmountTypeDetailsLink
    #01-011BaseHolds MirrorPart.stl
    #01-012BaseSpring LocksPart.stl

    Additional parts

    This is used in the current version of the setup

    IDAmountTypeDetailsPriceLink
    #01-011Spring0,20€NONE
    #01-011Threaded Inserts M30,20€NONE
    #01-011Screw Ball head0,20€NONE

    Assembly

    Duration: 1

    Below we describe how the device can be build and assembled in order to replicate the whole system.

    STEP 1

    All parts you need to assemble the module:

    STEP 2

    :::alert

    this has been updated with magnets! Make sure you label the magnets with prior to insertion so that polarity is correct.

    :::

    Design files

    The original design files are in the INVENTOR folder.

    - + \ No newline at end of file diff --git a/docs/PRODUCTION/Modules/STAGE_Z_MANUAL/index.html b/docs/PRODUCTION/Modules/STAGE_Z_MANUAL/index.html index 313f479d6..48ac3cdd7 100644 --- a/docs/PRODUCTION/Modules/STAGE_Z_MANUAL/index.html +++ b/docs/PRODUCTION/Modules/STAGE_Z_MANUAL/index.html @@ -10,13 +10,13 @@ - +

    Kinematic XY Mount / Laser

    This page describes how to assemble the kinematic XY mount for moving a laser/ pinhole.

    Duration: 1

    Bill of material

    Below you will find all components necessary to build this device.

    3D printing files

    All these files need to be printed.

    Printing parameters:

    InfillLayerheightSpecial ProfileMaterial
    ~20%0.25/0.3mmmini/i3PLA (black)
    IDAmountTypeDetailsLink
    #01-011BaseHolds MirrorPart.stl
    #01-012BaseSpring LocksPart.stl

    Additional parts

    This is used in the current version of the setup

    IDAmountTypeDetailsPriceLink
    #01-011Spring0,20€NONE
    #01-011Threaded Inserts M30,20€NONE
    #01-011Screw Ball head0,20€NONE

    Assembly

    Duration: 1

    Below we describe how the device can be build and assembled in order to replicate the whole system.

    STEP 1

    All parts you need to assemble the module:

    STEP 2

    STEP 3

    STEP 4

    STEP 5

    STEP 6

    STEP 7

    STEP 8

    STEP 9

    STEP 10

    Design files

    The original design files are in the INVENTOR folder.

    - + \ No newline at end of file diff --git a/docs/PRODUCTION/Modules/STAGE_Z_NEMA/index.html b/docs/PRODUCTION/Modules/STAGE_Z_NEMA/index.html index cb285ad96..6e509e190 100644 --- a/docs/PRODUCTION/Modules/STAGE_Z_NEMA/index.html +++ b/docs/PRODUCTION/Modules/STAGE_Z_NEMA/index.html @@ -10,13 +10,13 @@ - +

    Z-Stage Motorized NEMA12 25mm

    This page describes how to assemble the kinematic XY mount for moving a laser/ pinhole.

    Duration: 1

    Bill of material

    Below you will find all components necessary to build this device.

    3D printing files

    All these files need to be printed.

    Printing parameters:

    InfillLayerheightSpecial ProfileMaterial
    ~20%0.25/0.3mmmini/i3PLA (black)
    IDAmountTypeDetailsLink
    #01-011BaseHolds MirrorPart.stl
    #01-012BaseSpring LocksPart.stl

    Additional parts

    This is used in the current version of the setup

    IDAmountTypeDetailsPriceLink
    #01-011Spring0,20€NONE
    #01-011Threaded Inserts M30,20€NONE
    #01-011Screw Ball head0,20€NONE

    Assembly

    Duration: 1

    Below we describe how the device can be build and assembled in order to replicate the whole system.

    STEP 1

    All parts you need to assemble the module:

    STEP 2

    STEP 3

    STEP 4

    STEP 5

    STEP 6

    STEP 7

    STEP 8

    STEP 9

    Design files

    The original design files are in the INVENTOR folder.

    - + \ No newline at end of file diff --git a/docs/PRODUCTION/Modules/TORCH/index.html b/docs/PRODUCTION/Modules/TORCH/index.html index 6f9eac981..646d8bdb3 100644 --- a/docs/PRODUCTION/Modules/TORCH/index.html +++ b/docs/PRODUCTION/Modules/TORCH/index.html @@ -10,13 +10,13 @@ - +

    Torch

    This page describes how to assemble the kinematic XY mount for moving a laser/ pinhole.

    Duration: 1

    Bill of material

    Below you will find all components necessary to build this device.

    3D printing files

    All these files need to be printed.

    Printing parameters:

    InfillLayerheightSpecial ProfileMaterial
    ~20%0.25/0.3mmmini/i3PLA (black)
    IDAmountTypeDetailsLink
    #01-011BaseHolds MirrorPart.stl
    #01-012BaseSpring LocksPart.stl

    Additional parts

    This is used in the current version of the setup

    IDAmountTypeDetailsPriceLink
    #01-011Spring0,20€NONE
    #01-011Threaded Inserts M30,20€NONE
    #01-011Screw Ball head0,20€NONE

    Assembly

    Duration: 1

    Below we describe how the device can be build and assembled in order to replicate the whole system.

    STEP 1

    All parts you need to assemble the module:

    STEP 2

    Design files

    The original design files are in the INVENTOR folder.

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryCore/CHINESE/uc2miniboxCN/index.html b/docs/Toolboxes/DiscoveryCore/CHINESE/uc2miniboxCN/index.html index 4b3c6911d..ec9e2733c 100644 --- a/docs/Toolboxes/DiscoveryCore/CHINESE/uc2miniboxCN/index.html +++ b/docs/Toolboxes/DiscoveryCore/CHINESE/uc2miniboxCN/index.html @@ -10,7 +10,7 @@ - + @@ -23,7 +23,7 @@ 显微镜物镜: 一种特殊的透镜系统,可以放大物体

    接下来将通过一个视频介绍一个MiniBox(2022年10月的版本)里面有什么:

    什么是UC2?

    UC2项目的核心元素是一个简单的立方体。 这个立方体由两半部分组成,通常内有一个可以滑动的插件。 插件可以容纳各种光学元件(例如透镜、反光镜),这意味着每个立方体可以通过安装不同的插件来实现不同的功能。

    立方体类型1:带插头连接注塑成型件

    底板

    底板

    立方体可以安装在底板上。底板模块可以像拼图一样组合在一起。

    自行打印UC2

    UC2立方体也可以3D打印。它看起来与注塑模型相同,但这里它由立方体盖和立方体体组成,用螺丝固定在一起。螺丝非常适合放在磁性板上。通过结合不同的立方体模块,可以轻松组装不同的光学结构。每个骰子可以增加一个新功能。你的创造力没有限制。

    立方体类型2:带磁性连接的3D打印件

    立方体

    带磁铁的底板

    在3D打印的底板中有小的球形磁铁,立方体就放在这些磁铁上。

    想要更多的立方体?那你可以自行3D打印。你可以在这里找到所有信息

    这就是立方体如何组合在一起

    持续时间:1分钟

    确保立方体正确放置在板上,并且没有倾斜。最后重要的是插件放置在正确的位置。

    如果你没有看到清晰的图像,移动插件(例如透镜),直到你看到它很清楚。图片中的绿色箭头显示了如何做。

    这里你可以找到一个小视频,解释了立方体的核心概念

    文档内容:

    符号是什么意思?

    实验 如果你看到这个方块,说明有实验可做!你可以在这个方块上放置一个UC2立方体。
    解释:如果你看到这个图标,说明有东西可以学习!
    账单:这里有东西需要计算。拿起笔和纸开始解谜。
    注意:不要用手指触摸玻璃表面!
    清洁镜头:如果你已经触摸了镜头,你可以用眼镜布来清洁它。

    透镜能做什么?

    持续时间:2分钟

    拿一个或多个内有透镜的立方体,看着这里展示的UC2符号。手持立方体,改变透镜和图像之间的距离。

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryCore/ENGLISH/CoreLens/index.html b/docs/Toolboxes/DiscoveryCore/ENGLISH/CoreLens/index.html index 2c84ae5a5..d8548a5d3 100644 --- a/docs/Toolboxes/DiscoveryCore/ENGLISH/CoreLens/index.html +++ b/docs/Toolboxes/DiscoveryCore/ENGLISH/CoreLens/index.html @@ -10,7 +10,7 @@ - + @@ -18,7 +18,7 @@

    Lens

    Lenses

    In ray optics, light is represented as a bundle of rays (arrows), which simplifies the physical properties of light. A ray has a direction and is therefore drawn with an arrow. A lens "refracts" the beam, changing its direction.

    The focal length of a lens corresponds to the distance from the lens to the focal plane on which the focal point lies. It is given in millimeters (f = mm).

    Converging (positive) and diverging (negative) lenses

    Converging lenses refract the rays of light traveling parallel to the optical axis at a point called the focal point.

    The diverging lenses refract the rays of light traveling parallel to the optical axis as if they originated from a point called the "virtual" focus.

    Lenses “refract” the rays of light

    You can find the focal length of the lens as a printed number on the lens holder. The MiniBOX receives a 100mm converging lens, two 40mm converging lenses and a -50mm negative lens. The numbers indicate the focal length.

    The converging lens is also called a positive or convex lens. The middle part of the lens is always thicker than the edge.

    The converging lens enlarges the image. The magnification is different for the 40mm lens and the 100mm lens. The image can be upright or inverted.

    The negative lens (spreading lens) is sometimes also called a negative or concave lens. The middle part of the lens is always thinner than the edge.

    With the negative lens (here: -50 mm lens) the image is always reduced and always upright

    We assume that our lenses are so-called "thin lenses". This means we can consider them as one plane and not care about their thickness. This makes explanations and calculations much easier.

    Did the answers raise any more questions? Then drive to find out exactly how lenses work...

    Lens image

    Now take the lentil cubes. With the right lens, try to decipher the focal length information in the cubes shown. Move the lens over the writing until it is the same size as the "UC2" text.

    Can you see the text the same size and orientation as the "UC2"? What happens when you change the distance between the lens and the image?

    What happens if you use a lens with the wrong focal length?

    Image of an object through a positive lens

    Let's take the converging lens as an example. We start with an object (green arrow) and see what happens to the rays that start from the top. There are infinitely many rays in all directions, but for drawing the figure the following three rays will suffice:

    1. The centre beam (orange) passes undisturbed through the center of the lens.
    2. The focus ray (yellow) also starts from the tip of the arrow, but goes through the object-side focus at focal length f. After the lens, it continues at the same height, but now parallel to the optical axis.
    3. The parallel beam (red) initially runs parallel to the optical axis, but is then refracted at the lens in such a way that it passes through the focal point on the image side at focal length f.

    The image is formed where all the rays intersect. The principle is used for all points or the rays of an object emanating from them. Depending on which lens is used and depending on the position of the object, the properties of the image change, such as size, orientation and position.

    Image of an object through a negative lens

    In the case of the negative lens, we use the same method to image the ray path. Unlike the case of the converging lens, the image is always reduced and virtual. Magnification depends on the position of the object in front of the lens. Unlike the converging lens, the image is created on the object side and is therefore called a virtual image. You can see it directly with your eyes but not project it onto a screen.

    The way a lens creates an image is predictable by knowing the focal length of that lens. Therefore, a certain distance must be maintained so that you can see the writing with the specified lens on the previous sheet.

    The magnification and the location where the image is formed depend on the focal length of the lens and the distance between the lens and the object.

    With the diverging lens (f = -50 mm) you always see a reduced virtual image. A virtual image can only be viewed with the eye. So far we only have virtual ones seen pictures.

    The converging lens as a magnifying glass

    Take the UC2 lens cube with focal length f=40mm and use it as a magnifying glass.

    Can you read the small letters through the converging lens? What is written there?

    A lens in action can be found here:

    That's what converging lenses do

    With the converging lenses, the image and the magnification depend on the position of the object.

    If the distance between the object and the lens is more than twice the focal length of the lens, then the image is...

    • Vice versa
    • Swapped sides
    • Reduced
    • Real

    If the distance between the object and the lens is exactly twice the focal length of the lens, then the image is...

    • Vice versa
    • Swapped sides
    • Same size
    • Real

    If the distance between the object and the lens is more than the focal length and less than twice the focal length of the lens, then the image is...

    • Vice versa
    • Swapped sides
    • Magnified
    • real

    Object distance (g)

    The distance between the object and the lens plane is called g.

    Image width (b)

    The distance between the lens plane and the image formed by the lens is denoted as b.

    The converging lens can produce a real image. The real image can then be seen on a screen.

    That's why the magnifying glass enlarges

    Magnifying glass effect!

    If the distance between the object and the lens is less than the focal length of the lens, then the image is...

    • upright
    • right side up
    • Magnified
    • Virtual

    The magnifying glass is the simplest of all optical devices, since it consists only of a simple converging lens with a suitable focal length. Why does the cube with the 50 𝑚𝑚 enlarge the small text? If the object is in front of the focal length of the lens - i.e. less than 50 𝑚𝑚 in front of the lens - the lens creates a virtual image which is behind the actual object. The eye perceives it enlarged. Check out the diagram above.

    Calculate the magnification of the magnifying glass using the following formula:

    250 𝑚𝑚 is the distance of clear visual range - i.e. the distance between the object and the eye at which most people can read well. More on this later in the “accommodation” of the eye.

    How does a cinema projector work?

    Take the UC2 lens cube with focal length 𝑓 =40 𝑚𝑚 and place it behind the sample holder cube. The distance between the object and the lens (i.e. the object distance g) should be approx. 50 mm. If you now illuminate the object with the flashlight, you will see it sharply at a distance of approx. 200 mm on the wall. A cinema projector has a film strip instead of the object and of course a much stronger light source.

    Use a flashlight (e.g. from your cell phone) as a light source and hold it in front of the object

    Use the image or text on the microscope slide as the object

    How is the image oriented? Slide the lens back and forth in the cube and see when the image is in focus. Find the image for g = 50mm, 60mm, 65mm and measure the distance between the lens and the image.

    How does a cinema projector work?

    Where is the picture?

    When an object is imaged through a converging lens, the position and size of the image depend on the distance (g) of the object to the lens and its focal length (f). The lens equation describes the relationship between image distance (b) and object distance (g):

    How big is the picture?

    The magnification of the object on the screen can easily be calculated using the following formula:

    How the projector works

    Check if your observation agrees with the calculation

    Calculate the magnification of the projector for the different values of g and b.

    Our lens has a focal length of f= 40 mm.

    For g = 50mm → b = 200mm

    For g = 60 mm → b = 120 mm\

    For g = 65 mm → b = 104 mm\


    The projector always produces an enlarged, inverted (reversed) image. The position of the image and its magnification depend on the position and size of the object.

    Tutorial: Determining the Focal Distance of a Positive Lens

    Materials needed:

    • Light source (e.g., room's illumiation)
    • Positive lens
    • Screen (e.g. table, piece of paper, etc.)

    Instructions:

    1. Position the positive lens so that it faces the light source. Align a screen parallel to the focal plane of the lens.
    2. Modify the distance between the lens and the screen.
    3. Carefully observe and record the position at which the light source forms a clear image on the surface of the screen.

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryCore/ENGLISH/CoreTelescope/index.html b/docs/Toolboxes/DiscoveryCore/ENGLISH/CoreTelescope/index.html index 6c3fbed67..9461ab05c 100644 --- a/docs/Toolboxes/DiscoveryCore/ENGLISH/CoreTelescope/index.html +++ b/docs/Toolboxes/DiscoveryCore/ENGLISH/CoreTelescope/index.html @@ -10,7 +10,7 @@ - + @@ -28,7 +28,7 @@ Search for an object to the distance and use Galileo's telescope to look at it.

    What is a Kepler telescope?

    Set the lenses in the correct positions as shown in the diagram. Then look through the telescope into the distance.

    What does the picture look like? How is the image oriented?

    As you look through the telescope, vary the distances between the components to see such a sharp image!

    This is a Kepler telescope

    This type of telescope is often used in astronomy.

    This is how the Kepler telescope works

    What is the magnification of this Kepler telescope?

    Formula for calculating magnification

    This telescope can achieve a higher magnification than the Galilean telescope. But it creates the opposite picture. However, this is not a problem for observing the stars.

    The picture is always
    • Magnified by the magnification from the formula above
    • Vice versa
    • Sides reversed

    The field of view is larger than with the Galileo telescope.


    Tutorial: Kepler's Telescope

    Materials needed:

    • Eight base plates
    • 100 mm positive lens (in cube)
    • 50 mm positive lens (in cube)
    • Two empty cubes

    Diagram (side view):

    Instructions for assembling Kepler's telescope:

    Step 1: Align the cubes

    Align the cubes such that the two lenses lay at the extremes and the two empty cubes in the middle.

    Step 2: Fix the cubes with base plates

    Fix the cubes with the base plates placing them on top and on the bottom.

    Step 3: Adjust the distance

    Adjust the distance between the lenses as shown in the image.

    Step 4: Use Kepler's telescope

    Look for an object to the distance and use Kepler's telescope to look at it.

    What is a spotting scope?

    The spotting scope is long, so the scheme is not the same size. Set the lenses in the correct positions as shown in the diagram and look into the distance through the telescope.

    which results into

    How does the image here compare to the Kepler telescope?

    As you look through the telescope, adjust the distances between the components to see a sharp image!

    This is how the spotting scope works

    The magnification is like that of the Kepler telescope. The erecting lens only changes the orientation (the image is reversed), not the magnification.

    An upright image is necessary for terrestrial observations. True terrestrial telescopes use prism systems to rotate the image and keep it compact.

    The picture is
    • Magnified at the same magnification as the Keppler telescope
    • Upright
    • mirrored

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryCore/ENGLISH/coreMicroscope/index.html b/docs/Toolboxes/DiscoveryCore/ENGLISH/coreMicroscope/index.html index 9f3f8ff58..1ea5c6d7f 100644 --- a/docs/Toolboxes/DiscoveryCore/ENGLISH/coreMicroscope/index.html +++ b/docs/Toolboxes/DiscoveryCore/ENGLISH/coreMicroscope/index.html @@ -10,7 +10,7 @@ - + @@ -30,7 +30,7 @@

    Materials needed:

    • Microscope objective 4x
    • Microscope objective long mount with gear
    • Ramsden-Eyepiece (in cube)
    • Two non-kinematic mirrors (in cubes)
    • Sample holder (in cube)
    • Three empty cubes
    • 11 base plates
    • Smartphone base plate
    • Torch lamp
    • 50 mm lens (in cube)

    Diagram (Side view):

    Instructions for assembling the Smartphone Microscope:

    Step 1: Build a four-base plate line

    Step 2: Assemble the components

    Place the Microscope objective mount on one extreme followed by the two mirrors facing each other and one empty cube in the other extreme. Fix them with base plates.

    Step 3: Adjust the objective

    Build one cube with the microscope objective inside. Adjust the objective's height if necessary by using the gear.

    Step 4: Place the eyepiece

    Place the eyepiece next to the microscope objective and one empty cube next to it. Mind the right orientation of the eyepiece.

    Step 5: Align the smartphone base

    Place the smartphone base with the hole aligned with the eyepiece. Note: You can adjust the orientation of the smartphone base to adapt your smartphone's size.

    Step 6: Set up the sample holder

    Place the sample holder cube on top of the microscope objective. Mind the distance between them. You can adjust the coarse distance by sliding the sample holder inside the cube and the finer distance by using the gear.

    Step 7: Add the converging lens and lamp

    Place a converging lens cube on top of the sample holder cube and place the torch lamp on top. Place the smartphone aligned to the eyepiece.

    Step 8: Adjust for clarity

    Try to move the smartphone such that the whole eyepiece circle appears illuminated. Then, turn the gear to focus and get a sharp image of the specimen.

    Better with smartphone or eye?

    The smartphone camera has a lens with a very short focal length because it has to fit into the thin smartphone. The lens then creates an image on the camera sensor whose properties are similar to those of the human eye.

    The eye can see objects from both a distance and near. This property is called accommodation.

    The smartphone camera can also do this, but it is called autofocus. It describes the ability to sharply image objects at different distances on the sensor.

    The image from the eyepiece comes in parallel rays, as if coming from infinity. You observed with a relaxed eye (looking into the distance) or with a camera focused at infinity.


    Calculation results

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryCore/ENGLISH/uc2miniboxEN/index.html b/docs/Toolboxes/DiscoveryCore/ENGLISH/uc2miniboxEN/index.html index 165c0f1b5..08c368a13 100644 --- a/docs/Toolboxes/DiscoveryCore/ENGLISH/uc2miniboxEN/index.html +++ b/docs/Toolboxes/DiscoveryCore/ENGLISH/uc2miniboxEN/index.html @@ -10,7 +10,7 @@ - + @@ -24,7 +24,7 @@ docs/01_Toolboxes/01_DiscoveryCore/IMAGES/MINIBOX/2.png

    If you don't see a sharp image, move the inserts (e.g. lens) until you see it clearly. The green arrow in the picture shows you how to do this.

    Here you can find a small video that explains the core concept of the cube

    What do the symbols mean?

    Duration: 2

    Experiment If you see this block, there is something to experiment with! You can place a UC2 cube on this block.
    Explanations: If you see this icon, there's something to learn!
    Invoices: There is something to calculate here. Take a pen and paper and start puzzles.
    Caution: Do not touch the glass surfaces with your fingers!
    Cleaning the lenses: If you have already touched the lens, you can clean it with a glasses cloth.

    What can a lens do?

    Duration: 2

    Take one or more of the cubes that have a lens in them and look at the UC2 symbol shown here. Hold the cube in your hand and change the distance between the lens and the image.

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryCore/FRENCH/CoreLensFR/index.html b/docs/Toolboxes/DiscoveryCore/FRENCH/CoreLensFR/index.html index 80fa3eced..c59093639 100644 --- a/docs/Toolboxes/DiscoveryCore/FRENCH/CoreLensFR/index.html +++ b/docs/Toolboxes/DiscoveryCore/FRENCH/CoreLensFR/index.html @@ -10,13 +10,13 @@ - +

    Lentille

    Lentilles

    En optique géométrique, la lumière est représentée comme un faisceau de rayons (flèches), ce qui simplifie les propriétés physiques de la lumière. Un rayon a une direction et est donc dessiné avec une flèche. Une lentille "réfracte" le faisceau, changeant sa direction.

    La distance focale d'une lentille correspond à la distance entre la lentille et le plan focal sur lequel se trouve le point focal. Elle est donnée en millimètres (f = mm).

    Lentilles convergentes (positives) et divergentes (négatives)

    Les lentilles convergentes réfractent les rayons lumineux se déplaçant parallèlement à l'axe optique en un point appelé le point focal.

    Les lentilles divergentes réfractent les rayons lumineux se déplaçant parallèlement à l'axe optique comme s'ils provenaient d'un point appelé le foyer "virtuel".

    Les lentilles “réfractent” les rayons lumineux

    Vous pouvez trouver la distance focale de la lentille comme un numéro imprimé sur le support de lentille. La MiniBOX contient une lentille convergente de 100 mm, deux lentilles convergentes de 40 mm et une lentille négative de -50 mm. Les numéros indiquent la distance focale.

    La lentille convergente est également appelée lentille positive ou convexe. La partie centrale de la lentille est toujours plus épaisse que le bord.

    La lentille convergente agrandit l'image. Le grossissement est différent pour la lentille de 40 mm et celle de 100 mm. L'image peut être droite ou inversée.

    La lentille négative (lentille divergente) est parfois aussi appelée lentille négative ou concave. La partie centrale de la lentille est toujours plus fine que le bord.

    Avec la lentille négative (ici : lentille de -50 mm), l'image est toujours réduite et toujours droite.

    Nous supposons que nos lentilles sont des "lentilles minces". Cela signifie que nous pouvons les considérer comme un plan unique sans nous soucier de leur épaisseur. Cela rend les explications et les calculs beaucoup plus simples.

    Les réponses ont-elles suscité d'autres questions ? Alors découvrez exactement comment fonctionnent les lentilles...

    Image de la lentille

    Prenez maintenant les cubes de lentilles. Avec la bonne lentille, essayez de déchiffrer les informations sur la distance focale dans les cubes montrés. Déplacez la lentille sur l'écriture jusqu'à ce qu'elle soit de la même taille que le texte "UC2".

    Pouvez-vous voir le texte de la même taille et orientation que le "UC2" ? Que se passe-t-il lorsque vous changez la distance entre la lentille et l'image ?

    Que se passe-t-il si vous utilisez une lentille avec la mauvaise distance focale ?

    Image d'un objet à travers une lentille positive

    Prenons la lentille convergente comme exemple. Nous commençons par un objet (flèche verte) et voyons ce qui arrive aux rayons qui partent du sommet. Il y a une infinité de rayons dans toutes les directions, mais pour dessiner la figure, les trois rayons suivants suffiront :

    1. Le rayon central (orange) passe sans être perturbé par le centre de la lentille.
    2. Le rayon focal (jaune) commence également à partir de la pointe de la flèche, mais passe par le foyer côté objet à une distance focale f. Après la lentille, il continue à la même hauteur, mais maintenant parallèlement à l'axe optique.
    3. Le rayon parallèle (rouge) se déplace d'abord parallèlement à l'axe optique, mais est ensuite réfracté à la lentille de manière à passer par le point focal côté image à une distance focale f.

    L'image se forme là où tous les rayons se croisent. Le principe est utilisé pour tous les points ou les rayons d'un objet émanant d'eux. Selon la lentille utilisée et selon la position de l'objet, les propriétés de l'image changent, telles que la taille, l'orientation et la position.

    Image d'un objet à travers une lentille négative

    Dans le cas de la lentille négative, nous utilisons la même méthode pour imager le chemin des rayons. Contrairement au cas de la lentille convergente, l'image est toujours réduite et virtuelle. Le grossissement dépend de la position de l'objet devant la lentille. Contrairement à la lentille convergente, l'image est créée du côté objet et est donc appelée une image virtuelle. Vous pouvez la voir directement avec vos yeux, mais ne pas la projeter sur un écran.

    La façon dont une lentille crée une image est prévisible en connaissant la distance focale de cette lentille. Par conséquent, une certaine distance doit être maintenue afin que vous puissiez voir l'écriture avec la lentille spécifiée sur la feuille précédente.

    Le grossissement et l'emplacement où l'image est formée dépendent de la distance focale de la lentille et de la distance entre la lentille et l'objet.

    Avec la lentille divergente (f = -50 mm), vous voyez toujours une image virtuelle réduite. Une image virtuelle ne peut être vue qu'avec l'œil. Jusqu'à présent, nous n'avons vu que des images virtuelles.

    La lentille convergente comme loupe

    Prenez le cube de lentilles UC2 avec une distance focale f = 40 mm et utilisez-le comme une loupe.

    Pouvez-vous lire les petites lettres à travers la lentille convergente ? Qu'est-ce qui est écrit là ?

    Une lentille en action peut être trouvée ici :

    Ce que font les lentilles convergentes

    Avec les lentilles convergentes, l'image et le grossissement dépendent de la position de l'objet.

    Si la distance entre l'objet et la lentille est supérieure à deux fois la distance focale de la lentille, alors l'image est...

    • Inversée
    • Côté opposé
    • Réduite
    • Réelle

    Si la distance entre l'objet et la lentille est exactement deux fois la distance focale de la lentille, alors l'image est...

    • Inversée
    • Côté opposé
    • Même taille
    • Réelle

    Si la distance entre l'objet et la lentille est supérieure à la distance focale et inférieure à deux fois la distance focale de la lentille, alors l'image est...

    • Inversée
    • Côté opposé
    • Agrandie
    • Réelle

    Distance de l'objet (g)

    La distance entre l'objet et le plan de la lentille est appelée g.

    Largeur de l'image (b)

    La distance entre le plan de la lentille et l'image formée par la lentille est désignée comme b.

    La lentille convergente peut produire une image réelle. L'image réelle peut ensuite être vue sur un écran.

    Pourquoi la loupe agrandit-elle ?

    Effet de loupe !

    Si la distance entre l'objet et la lentille est inférieure à la distance focale de la lentille, alors l'image est...

    • Droite
    • Côté droit
    • Agrandie
    • Virtuelle

    La loupe est le plus simple de tous les dispositifs optiques, car elle consiste uniquement en une simple lentille convergente avec une distance focale appropriée. Pourquoi le cube avec les 50 mm agrandit-il le petit texte ? Si l'objet est devant la distance focale de la lentille - c'est-à-dire à moins de 50 mm devant la lentille - la lentille crée une image virtuelle qui se trouve derrière l'objet réel. L'œil la perçoit agrandie. Consultez le schéma ci-dessus.

    Calculez le grossissement de la loupe en utilisant la formule suivante :

    250 mm est la distance de vision distincte - c'est-à-dire la distance entre l'objet et l'œil à laquelle la plupart des gens peuvent bien lire. Plus d'informations à ce sujet plus tard dans la section “accommodation” de l'œil.

    Comment

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryCore/FRENCH/CoreTelescopeFR/index.html b/docs/Toolboxes/DiscoveryCore/FRENCH/CoreTelescopeFR/index.html index 4d1bf2103..841f07082 100644 --- a/docs/Toolboxes/DiscoveryCore/FRENCH/CoreTelescopeFR/index.html +++ b/docs/Toolboxes/DiscoveryCore/FRENCH/CoreTelescopeFR/index.html @@ -10,7 +10,7 @@ - + @@ -27,7 +27,7 @@ Cherchez un objet au loin et utilisez le télescope de Galilée pour le regarder.

    Qu'est-ce qu'un télescope de Kepler ?

    Placez les lentilles dans les positions correctes comme indiqué dans le schéma. Ensuite, regardez au loin à travers le télescope.

    À quoi ressemble l'image ? Comment est l'image orientée ?

    En regardant à travers le télescope, variez les distances entre les composants pour voir une image nette !

    Voici un télescope de Kepler

    Ce type de télescope est souvent utilisé en astronomie.

    Voici comment fonctionne le télescope de Kepler

    Quelle est l'augmentation de ce télescope de Kepler ?

    Formule pour calculer l'agrandissement

    Ce télescope peut atteindre un grossissement plus élevé que le télescope de Galilée. Mais il crée une image inversée. Cependant, ce n'est pas un problème pour observer les étoiles.

    L'image est toujours
    • Agrandie par le grossissement de la formule ci-dessus
    • Inversée
    • Côtés inversés

    Le champ de vision est plus grand qu'avec le télescope de Galilée.


    Tutoriel : télescope de Kepler

    Matériaux nécessaires :

    • Huit plaques de base
    • Lentille positive de 100 mm (dans un cube)
    • Lentille positive de 50 mm (dans un cube)
    • Deux cubes vides

    Schéma (vue latérale) :

    Instructions pour assembler le télescope de Kepler :

    Étape 1 : Alignez les cubes

    Alignez les cubes de sorte que les deux lentilles soient aux extrémités et les deux cubes vides au milieu.

    Étape 2 : Fixez les cubes avec des plaques de base

    Fixez les cubes avec les plaques de base en les plaçant en haut et en bas.

    Étape 3 : Ajustez la distance

    Ajustez la distance entre les lentilles comme montré dans l'image.

    Étape 4 : Utilisez le télescope de Kepler

    Cherchez un objet au loin et utilisez le télescope de Kepler pour le regarder.

    Qu'est-ce qu'une longue-vue ?

    La longue-vue est longue, donc le schéma n'est pas à la même taille. Placez les lentilles dans les positions correctes comme indiqué dans le schéma et regardez au loin à travers le télescope.

    ce qui donne

    Comment l'image ici se compare-t-elle au télescope de Kepler ?

    En regardant à travers le télescope, ajustez les distances entre les composants pour voir une image nette !

    Voici comment fonctionne la longue-vue

    Le grossissement est comme celui du télescope de Kepler. La lentille redressante ne change que l'orientation (l'image est inversée), pas le grossissement.

    Une image droite est nécessaire pour les observations terrestres. Les véritables télescopes terrestres utilisent des systèmes de prismes pour tourner l'image et la garder compacte.

    L'image est
    • Agrandie au même grossissement que le télescope de Kepler
    • Droite
    • Miroir

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryCore/FRENCH/coreMicroscopeFR/index.html b/docs/Toolboxes/DiscoveryCore/FRENCH/coreMicroscopeFR/index.html index 6dbf91e01..c952b01d9 100644 --- a/docs/Toolboxes/DiscoveryCore/FRENCH/coreMicroscopeFR/index.html +++ b/docs/Toolboxes/DiscoveryCore/FRENCH/coreMicroscopeFR/index.html @@ -10,7 +10,7 @@ - + @@ -30,7 +30,7 @@

    Matériaux nécessaires :

    • Objectif de microscope 4x
    • Support long d'objectif de microscope avec engrenage
    • Oculaire de Ramsden (dans un cube)
    • Deux miroirs non cinématiques (dans des cubes)
    • Porte-échantillon (dans un cube)
    • Trois cubes vides
    • 11 plaques de base
    • Plaque de base pour smartphone
    • Lampe torche
    • Lentille de 50 mm (dans un cube)

    Schéma (vue latérale) :

    Instructions pour assembler le microscope pour smartphone :

    Étape 1 : Construire une ligne de quatre plaques de base

    ![](../IMAGES/MINIBOXTUTORIAL/image49

    .jpg)

    Étape 2 : Assembler les composants

    Placez le support d'objectif de microscope à une extrémité suivi des deux miroirs se faisant face et d'un cube vide à l'autre extrémité. Fixez-les avec des plaques de base.

    Étape 3 : Ajuster l'objectif

    Construisez un cube avec l'objectif de microscope à l'intérieur. Ajustez la hauteur de l'objectif si nécessaire en utilisant l'engrenage.

    Étape 4 : Placer l'oculaire

    Placez l'oculaire à côté de l'objectif de microscope et un cube vide à côté. Respectez la bonne orientation de l'oculaire.

    Étape 5 : Aligner la base du smartphone

    Placez la base du smartphone avec le trou aligné avec l'oculaire. Remarque : Vous pouvez ajuster l'orientation de la base du smartphone pour adapter la taille de votre smartphone.

    Étape 6 : Installer le porte-échantillon

    Placez le cube porte-échantillon au-dessus de l'objectif de microscope. Respectez la distance entre eux. Vous pouvez ajuster la distance approximative en faisant glisser le porte-échantillon à l'intérieur du cube et la distance plus fine en utilisant l'engrenage.

    Étape 7 : Ajouter la lentille convergente et la lampe

    Placez un cube de lentille convergente au-dessus du cube porte-échantillon et placez la lampe torche au-dessus. Placez le smartphone aligné avec l'oculaire.

    Étape 8 : Ajuster pour la clarté

    Essayez de déplacer le smartphone de manière à ce que tout le cercle de l'oculaire apparaisse illuminé. Ensuite, tournez l'engrenage pour focaliser et obtenir une image nette de l'échantillon.

    Mieux avec le smartphone ou l'œil ?

    L'appareil photo du smartphone a une lentille avec une distance focale très courte car elle doit s'adapter à l'épaisseur du smartphone. La lentille crée alors une image sur le capteur de la caméra dont les propriétés sont similaires à celles de l'œil humain.

    L'œil peut voir des objets à la fois de loin et de près. Cette propriété est appelée accommodation.

    L'appareil photo du smartphone peut également faire cela, mais cela s'appelle autofocus. Cela décrit la capacité à imager nettement des objets à différentes distances sur le capteur.

    L'image de l'oculaire provient de rayons parallèles, comme si elle venait de l'infini. Vous avez observé avec un œil détendu (regardant au loin) ou avec une caméra mise au point à l'infini.


    Résultats des calculs

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryCore/FRENCH/uc2miniboxFR/index.html b/docs/Toolboxes/DiscoveryCore/FRENCH/uc2miniboxFR/index.html index c69766d64..4a886cef2 100644 --- a/docs/Toolboxes/DiscoveryCore/FRENCH/uc2miniboxFR/index.html +++ b/docs/Toolboxes/DiscoveryCore/FRENCH/uc2miniboxFR/index.html @@ -10,7 +10,7 @@ - + @@ -24,7 +24,7 @@ docs/01_Toolboxes/01_DiscoveryCore/IMAGES/MINIBOX/2.png

    Si vous ne voyez pas une image nette, déplacez les inserts (par exemple, la lentille) jusqu'à ce que vous la voyiez clairement. La flèche verte sur l'image vous montre comment faire.

    Ici, vous pouvez trouver une petite vidéo qui explique le concept de base du cube

    Que signifient les symboles ?

    Durée : 2

    Expérience : Si vous voyez ce bloc, il y a quelque chose à expérimenter ! Vous pouvez placer un cube UC2 sur ce bloc.
    Explications : Si vous voyez cette icône, il y a quelque chose à apprendre !
    Calculs : Il y a quelque chose à calculer ici. Prenez un stylo et du papier et commencez les puzzles.
    Attention : Ne touchez pas les surfaces en verre avec vos doigts !
    Nettoyage des lentilles : Si vous avez déjà touché la lentille, vous pouvez la nettoyer avec un chiffon pour lunettes.

    Que peut faire une lentille ?

    Durée : 2

    Prenez un ou plusieurs cubes qui contiennent une lentille et regardez le symbole UC2 montré ici. Tenez le cube dans votre main et changez la distance entre la lentille et l'image.

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryCore/GERMAN/CoreLens/index.html b/docs/Toolboxes/DiscoveryCore/GERMAN/CoreLens/index.html index ef0f47fcc..6f2f006e9 100644 --- a/docs/Toolboxes/DiscoveryCore/GERMAN/CoreLens/index.html +++ b/docs/Toolboxes/DiscoveryCore/GERMAN/CoreLens/index.html @@ -10,7 +10,7 @@ - + @@ -18,7 +18,7 @@

    Linse

    Linsen

    In der Strahlenoptik wird Licht als Bündel von Strahlen (Pfeilen) dargestellt, was die physikalischen Eigenschaften des Lichts vereinfacht. Ein Strahl hat eine Richtung und wird daher mit einem Pfeil gezeichnet. Eine Linse „bricht“ den Strahl und ändert dessen Richtung.

    Die Brennweite einer Linse entspricht der Entfernung von der Linse zur Brennebene, auf der der Brennpunkt liegt. Sie wird in Millimetern angegeben (f = mm).

    Sammellinsen (positiv) und Zerstreuungslinsen (negativ)

    Sammellinsen brechen die Lichtstrahlen, die parallel zur optischen Achse verlaufen, in einem Punkt, der Brennpunkt genannt wird.

    Die Zerstreuungslinsen brechen die Lichtstrahlen, die parallel zur optischen Achse verlaufen, so, als ob sie von einem Punkt, dem „virtuellen“ Brennpunkt, ausgingen.

    Linsen „brechen“ die Lichtstrahlen

    Sie können die Brennweite der Linse als aufgedruckte Zahl am Linsenhalter finden. Die MiniBOX erhält eine 100mm Sammellinse, zwei 40mm Sammellinsen und eine -50mm negative Linse. Die Zahlen geben die Brennweite an.

    Die Sammellinse wird auch positive oder konvexe Linse genannt. Der mittlere Teil der Linse ist immer dicker als der Rand.

    Die Sammellinse vergrößert das Bild. Die Vergrößerung unterscheidet sich zwischen der 40mm Linse und der 100mm Linse. Das Bild kann aufrecht oder invertiert sein.

    Die negative Linse (Streulinse) wird manchmal auch negative oder konkave Linse genannt. Der mittlere Teil der Linse ist immer dünner als der Rand.

    Mit der negativen Linse (hier: -50 mm Linse) wird das Bild immer verkleinert und immer aufrecht dargestellt.

    Wir gehen davon aus, dass unsere Linsen sogenannte „dünne Linsen“ sind. Das bedeutet, dass wir sie als eine Ebene betrachten können und uns nicht um ihre Dicke kümmern müssen. Das macht Erklärungen und Berechnungen viel einfacher.

    Haben die Antworten weitere Fragen aufgeworfen? Dann fahren Sie fort, um genau zu verstehen, wie Linsen funktionieren...

    Linsenbild

    Nehmen Sie jetzt die Linsenwürfel. Versuchen Sie mit der richtigen Linse, die Brennweiteninformation in den Würfeln zu entziffern. Bewegen Sie die Linse über die Schrift, bis sie dieselbe Größe wie der Text "UC2" hat.

    Können Sie den Text in derselben Größe und Ausrichtung wie das "UC2" sehen? Was passiert, wenn Sie den Abstand zwischen Linse und Bild ändern?

    Was passiert, wenn Sie eine Linse mit der falschen Brennweite verwenden?

    Bild eines Objekts durch eine positive Linse

    Nehmen wir die Sammellinse als Beispiel. Wir starten mit einem Objekt (grüner Pfeil) und sehen, was mit den Strahlen passiert, die von der Spitze ausgehen. Es gibt unendlich viele Strahlen in alle Richtungen, aber für die Zeichnung der Figur reichen die folgenden drei Strahlen aus:

    1. Der Zentralstrahl (orange) passiert ungestört das Zentrum der Linse.

    2. Der Fokusstrahl (gelb) startet ebenfalls von der Spitze des Pfeils, geht aber durch den objektseitigen Fokus bei Brennweite f. Nach der Linse geht er in gleicher Höhe, aber jetzt parallel zur optischen Achse weiter.

    3. Der Parallelstrahl (rot) verläuft zunächst parallel zur optischen Achse, wird dann aber an

      der Linse so gebrochen, dass er durch den bildseitigen Brennpunkt bei Brennweite f verläuft.

    Das Bild entsteht dort, wo alle Strahlen sich schneiden. Dieses Prinzip wird für alle Punkte oder die von ihnen ausgehenden Strahlen eines Objekts verwendet. Je nach verwendeter Linse und Position des Objekts ändern sich die Eigenschaften des Bildes, wie Größe, Orientierung und Position.

    Bild eines Objekts durch eine negative Linse

    Im Fall der negativen Linse verwenden wir dieselbe Methode, um den Strahlengang abzubilden. Anders als bei der Sammellinse ist das Bild immer verkleinert und virtuell. Die Vergrößerung hängt von der Position des Objekts vor der Linse ab. Anders als bei der Sammellinse wird das Bild auf der Objektseite erzeugt und daher als virtuelles Bild bezeichnet. Sie können es direkt mit Ihren Augen sehen, aber nicht auf einen Bildschirm projizieren.

    Die Art, wie eine Linse ein Bild erzeugt, ist vorhersehbar, wenn man die Brennweite dieser Linse kennt. Daher muss ein bestimmter Abstand eingehalten werden, damit Sie die Schrift mit der angegebenen Linse auf dem vorherigen Blatt sehen können.

    Die Vergrößerung und der Ort, an dem das Bild entsteht, hängen von der Brennweite der Linse und dem Abstand zwischen Linse und Objekt ab.

    Mit der Zerstreuungslinse (f = -50 mm) sehen Sie immer ein verkleinertes virtuelles Bild. Ein virtuelles Bild kann nur mit dem Auge betrachtet werden. Bisher haben wir nur virtuelle Bilder gesehen.

    Die Sammellinse als Lupe

    Nehmen Sie den UC2-Linsenwürfel mit einer Brennweite von f=40mm und verwenden Sie ihn als Lupe.

    Können Sie die kleinen Buchstaben durch die Sammellinse lesen? Was steht dort?

    Eine Linse in Aktion finden Sie hier:

    Das machen Sammellinsen

    Mit den Sammellinsen hängen Bild und Vergrößerung von der Position des Objekts ab.

    Wenn der Abstand zwischen Objekt und Linse mehr als das Doppelte der Brennweite der Linse beträgt, dann ist das Bild...

    • Umgekehrt
    • Seitlich getauscht
    • Verkleinert
    • Real

    Wenn der Abstand zwischen Objekt und Linse genau das Doppelte der Brennweite der Linse beträgt, dann ist das Bild...

    • Umgekehrt
    • Seitlich getauscht
    • Gleiche Größe
    • Real

    Wenn der Abstand zwischen Objekt und Linse mehr als die Brennweite und weniger als das Doppelte der Brennweite der Linse beträgt, dann ist das Bild...

    • Umgekehrt
    • Seitlich getauscht
    • Vergrößert
    • Real

    Objektabstand (g)

    Der Abstand zwischen dem Objekt und der Linsenebene wird als g bezeichnet.

    Bildweite (b)

    Der Abstand zwischen der Linsenebene und dem durch die Linse gebildeten Bild wird als b bezeichnet.

    Die Sammellinse kann ein reales Bild erzeugen. Das reale Bild kann dann auf einem Schirm gesehen werden.

    Deshalb vergrößert die Lupe

    Lupeneffekt!

    Wenn der Abstand zwischen dem Objekt und der Linse weniger als die Brennweite der Linse beträgt, dann ist das Bild...

    • Aufrecht
    • Richtig herum
    • Vergrößert
    • Virtuell

    Die Lupe ist das einfachste aller optischen

    Geräte, da sie nur aus einer einfachen Sammellinse mit geeigneter Brennweite besteht. Warum vergrößert der Würfel mit 50 𝑚𝑚 den kleinen Text? Wenn das Objekt vor der Brennweite der Linse liegt – also weniger als 50 𝑚𝑚 vor der Linse – erzeugt die Linse ein virtuelles Bild, das hinter dem eigentlichen Objekt liegt. Das Auge nimmt es vergrößert wahr. Schauen Sie sich das obenstehende Diagramm an.


    Berechnen Sie die Vergrößerung der Lupe mit der folgenden Formel:

    250 𝑚𝑚 ist der Abstand der klaren Sehweite – d. h. der Abstand zwischen dem Objekt und dem Auge, bei dem die meisten Menschen gut lesen können. Mehr dazu später bei der „Akkommodation“ des Auges.

    Wie funktioniert ein Kinoprojektor?

    Nehmen Sie den UC2-Linsenwürfel mit einer Brennweite von 𝑓 =40 𝑚𝑚 und platzieren Sie ihn hinter dem Probenhalterwürfel. Der Abstand zwischen dem Objekt und der Linse (also der Objektabstand g) sollte ca. 50 mm betragen. Wenn Sie das Objekt jetzt mit der Taschenlampe beleuchten, sehen Sie es in etwa 200 mm Entfernung scharf an der Wand. Ein Kinoprojektor hat anstelle des Objekts einen Filmstreifen und natürlich eine viel stärkere Lichtquelle.

    Verwenden Sie eine Taschenlampe (z. B. von Ihrem Handy) als Lichtquelle und halten Sie sie vor das Objekt

    Verwenden Sie das Bild oder den Text auf dem Mikroskopobjektträger als Objekt

    Wie ist das Bild ausgerichtet? Schieben Sie die Linse hin und her im Würfel und sehen Sie, wann das Bild scharf ist. Finden Sie das Bild für g = 50mm, 60mm, 65mm und messen Sie den Abstand zwischen der Linse und dem Bild.

    Wie funktioniert ein Kinoprojektor?

    Wo ist das Bild?

    Wenn ein Objekt durch eine Sammellinse abgebildet wird, hängen Position und Größe des Bildes von der Entfernung (g) des Objekts zur Linse und deren Brennweite (f) ab. Die Linsengleichung beschreibt die Beziehung zwischen Bildweite (b) und Objektabstand (g):

    Wie groß ist das Bild?

    Die Vergrößerung des Objekts auf der Leinwand kann einfach mit der folgenden Formel berechnet werden:

    Wie der Projektor funktioniert

    Überprüfen Sie, ob Ihre Beobachtung mit der Berechnung übereinstimmt

    Berechnen Sie die Vergrößerung des Projektors für die verschiedenen Werte von g und b.

    Unsere Linse hat eine Brennweite von f= 40 mm.

    Für g = 50mm → b = 200mm

    Für g = 60 mm → b = 120 mm\

    Für g = 65 mm → b = 104 mm\


    Der Projektor erzeugt immer ein vergrößertes, invertiertes (umgekehrtes) Bild. Die Position des Bildes und seine Vergrößerung hängen von der Position und Größe des Objekts ab.

    Tutorial: Bestimmung der Brennweite einer positiven Linse

    Benötigte Materialien:

    • Lichtquelle (z. B. Raumbeleuchtung)
    • Positive Linse
    • Schirm (z

    . B. Tisch, Stück Papier usw.)

    Anleitung:

    1. Positionieren Sie die positive Linse so, dass sie der Lichtquelle zugewandt ist. Richten Sie einen Schirm parallel zur Brennebene der Linse aus.
    2. Ändern Sie den Abstand zwischen Linse und Schirm.
    3. Beobachten und dokumentieren Sie sorgfältig die Position, an der die Lichtquelle ein klares Bild auf der Oberfläche des Schirms bildet.

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryCore/GERMAN/CoreTelescope/index.html b/docs/Toolboxes/DiscoveryCore/GERMAN/CoreTelescope/index.html index 44c9a7d74..71abe79fb 100644 --- a/docs/Toolboxes/DiscoveryCore/GERMAN/CoreTelescope/index.html +++ b/docs/Toolboxes/DiscoveryCore/GERMAN/CoreTelescope/index.html @@ -10,7 +10,7 @@ - + @@ -28,7 +28,7 @@ Suche ein Objekt in der Ferne und betrachte es durch Galileis Teleskop.

    Was ist ein Kepler-Teleskop?

    Setze die Linsen gemäß dem Diagramm in die richtigen Positionen. Dann schaue durch das Teleskop in die Ferne.

    Wie sieht das Bild aus? Wie ist die Bildausrichtung?

    Während du durch das Teleskop schaust, variiere die Abstände zwischen den Komponenten, um ein solch scharfes Bild zu sehen!

    Das ist ein Kepler-Teleskop

    Dieser Teleskoptyp wird oft in der Astronomie verwendet.

    So funktioniert das Kepler-Teleskop

    Welche Vergrößerung hat dieses Kepler-Teleskop?

    Formel zur Berechnung der Vergrö

    ßerung

    Dieses Teleskop kann eine höhere Vergrößerung als das Galilei-Teleskop erreichen. Es erzeugt jedoch ein umgekehrtes Bild. Das ist jedoch kein Problem bei der Beobachtung von Sternen.

    Das Bild ist immer
    • Vergrößert durch die Vergrößerung aus der obigen Formel
    • Umgekehrt
    • Seitlich vertauscht

    Das Sichtfeld ist größer als beim Galilei-Teleskop.


    Tutorial: Keplers Teleskop

    Benötigte Materialien:

    • Acht Bodenplatten
    • 100 mm positive Linse (im Würfel)
    • 50 mm positive Linse (im Würfel)
    • Zwei leere Würfel

    Diagramm (Seitenansicht):

    Anleitung zum Zusammenbau von Keplers Teleskop:

    Schritt 1: Würfel ausrichten

    Richte die Würfel so aus, dass die beiden Linsen an den Extremen liegen und die beiden leeren Würfel in der Mitte.

    Schritt 2: Würfel mit Bodenplatten fixieren

    Fixiere die Würfel mit den Bodenplatten, indem du sie oben und unten platzierst.

    Schritt 3: Abstand justieren

    Justiere den Abstand zwischen den Linsen, wie im Bild gezeigt.

    Schritt 4: Keplers Teleskop verwenden

    Suche ein Objekt in der Ferne und betrachte es durch Keplers Teleskop.

    Was ist ein Spektiv?

    Das Spektiv ist lang, daher ist das Schema nicht gleich groß. Setze die Linsen gemäß dem Diagramm in die richtigen Positionen und schaue durch das Teleskop in die Ferne.

    was zu folgendem führt

    Wie vergleicht sich das Bild hier mit dem Kepler-Teleskop?

    Während du durch das Teleskop schaust, justiere die Abstände zwischen den Komponenten, um ein scharfes Bild zu sehen!

    So funktioniert das Spektiv

    Die Vergrößerung ist wie beim Kepler-Teleskop. Die Umkehrlinse ändert nur die Orientierung (das Bild wird umgekehrt), nicht die Vergrößerung.

    Ein aufrechtes Bild ist für terrestrische Beobachtungen notwendig. Echte terrestrische Teleskope verwenden Prismensysteme, um das Bild zu drehen und kompakt zu halten.

    Das Bild ist
    • Mit der gleichen Vergrößerung wie das Kepler-Teleskop vergrößert
    • Aufrecht
    • Gespiegelt

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryCore/GERMAN/coreMicroscope/index.html b/docs/Toolboxes/DiscoveryCore/GERMAN/coreMicroscope/index.html index ef6579ab3..27ad1e1a9 100644 --- a/docs/Toolboxes/DiscoveryCore/GERMAN/coreMicroscope/index.html +++ b/docs/Toolboxes/DiscoveryCore/GERMAN/coreMicroscope/index.html @@ -10,7 +10,7 @@ - + @@ -20,7 +20,7 @@ ![](../IMAGES/MINIBO

    XTUTORIAL/image33.png)

    Mikroskop mit "Unendlichkeitsoptik" und Okular

    Kannst du das mikroskopische Bild durch die Okularlinse mit deinen Augen sehen? Welchen Effekt hat der Spiegel? Richte das Mikroskop ohne den Spiegel ein. Stelle sicher, dass du immer noch zwei leere Räume zwischen der Tubuslinse und dem Okular hast. Was beobachtest du dann?

    Eine kurze Einführung in Spiegel und deren Anwendungen findest du hier:

    Wozu dient das Okular?

    Neuere Mikroskope sind mit sogenannten "Unendlichkeitsoptiken" ausgestattet. In diesem Fall erzeugt die Linse kein reales Zwischenbild. Das Licht verlässt die Linse als unendliche parallele Strahlen. Am Ende des "unendlichen" Tubus befindet sich eine Tubuslinse. Diese erzeugt ein Zwischenbild, das dann durch das Okular erneut vergrößert wird.

    Das Bild hinter dem Okular ist umgekehrt, umgekehrt, vergrößert und virtuell. Das virtuelle Bild kann mit dem Auge gesehen werden.

    Diese Konfiguration ist sehr nützlich in modernen Mikroskopen, da sie das Einfügen zusätzlicher Komponenten wie Filter zwischen Objektiv und Tubuslinse erlaubt, ohne den optischen Weg zu beeinflussen.

    Ein Filter kann verwendet werden, um die Helligkeit und Farbe des Bildes zu ändern.


    Das Okular ist dafür gut

    Wie groß ist die Vergrößerung nach dem Okular?

    Gesamtvergrößerung

    Ein Okular ist eigentlich nur eine Linse, die das Zwischenbild vergrößert. Es bildet das virtuelle Bild so ab, dass du es mit deinen Augen sehen kannst.

    Mit dem Spiegel kannst du nicht nur dich selbst sehen, sondern auch das einfallende Licht in jede Richtung reflektieren. So kannst du den optischen Weg falten und die Arbeit komfortabler gestalten. Der Spiegel beeinflusst zwar nicht die Vergrößerung, dreht aber das Bild in eine Richtung.

    Tutorial: Lichtmikroskop mit Unendlichkeitsoptik und Okular

    Benötigte Materialien:

    • Keplers Teleskop
    • Taschenlampe
    • Acht Bodenplatten
    • Probenhalter (im Würfel) mit Probe
    • Spiegel (im Würfel)
    • Leerwürfel
    • Okular (im Würfel)

    Diagramm (Seitenansicht):

    Anleitung zum Zusammenbau des Lichtmikroskops mit Unendlichkeitsoptik und Okular:

    Schritt 1: Probenhalter-Würfel hinzufügen

    Füge den Probenhalter-Würfel im Keplers Teleskop neben der 50-mm-Sammellinse hinzu.

    Schritt 2: Neben der 100-mm-Linse zusammenbauen

    Montiere neben der 100-mm-Sammellinse einen Leerwürfel und daneben den Spiegelwürfel.

    Schritt 3: Das Okular platzieren

    Platziere das Okular oben auf dem Spiegelwürfel mit der richtigen Orientierung. Beleuchte die Probe aus ein

    iger Entfernung.

    Schritt 5: Für ein scharfes Bild justieren

    Schaue durch das Okular. Justiere den Linsenabstand, bis du ein fokussiertes scharfes Bild siehst. Hinweis: Wenn du das Präparat nicht siehst, versuche vorsichtig die Position der Probe zu justieren, bis du das Präparat siehst.

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryCore/GERMAN/uc2miniboxDE/index.html b/docs/Toolboxes/DiscoveryCore/GERMAN/uc2miniboxDE/index.html index 98ceb49f6..54dfbe37d 100644 --- a/docs/Toolboxes/DiscoveryCore/GERMAN/uc2miniboxDE/index.html +++ b/docs/Toolboxes/DiscoveryCore/GERMAN/uc2miniboxDE/index.html @@ -10,7 +10,7 @@ - + @@ -27,7 +27,7 @@ ||Rechnungen: Hier gibt es etwas zu rechnen. Nehmen Sie einen Stift und Papier und beginnen Sie mit den Rätseln. | ||Vorsicht: Berühren Sie die Glasoberflächen nicht mit Ihren Fingern! | ||Reinigung der Linsen: Wenn Sie die Linse bereits berührt haben, können Sie sie mit einem Brillentuch reinigen. |

    Was kann eine Linse bewirken?

    Nehmen Sie einen oder mehrere der Würfel, die eine Linse enthalten, und betrachten Sie das hier gezeigte UC2-Symbol. Halten Sie den Würfel in Ihrer Hand und ändern Sie den Abstand zwischen der Linse und dem Bild.

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryCore/Opticsintro/index.html b/docs/Toolboxes/DiscoveryCore/Opticsintro/index.html index 39017f63b..30f8fe4dd 100644 --- a/docs/Toolboxes/DiscoveryCore/Opticsintro/index.html +++ b/docs/Toolboxes/DiscoveryCore/Opticsintro/index.html @@ -10,7 +10,7 @@ - + @@ -36,7 +36,7 @@

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryCore/SPANISH/core_intro/index.html b/docs/Toolboxes/DiscoveryCore/SPANISH/core_intro/index.html index ca9cd8921..3f59f774c 100644 --- a/docs/Toolboxes/DiscoveryCore/SPANISH/core_intro/index.html +++ b/docs/Toolboxes/DiscoveryCore/SPANISH/core_intro/index.html @@ -10,7 +10,7 @@ - + @@ -21,7 +21,7 @@ Objetivo del microscopio: un sistema de lentes especial que agranda un objeto

    Un recorrido rápido a través de una caja ejemplar y cómo se ven los cubos (estado de octubre de 2022) se puede encontrar aquí:

    ¿Qué es UC2?

    El elemento central del proyecto UC2 es un cubo simple. El cubo consta de dos mitades y alberga un inserto deslizable. El inserto puede contener varios componentes ópticos (por ejemplo, lentes, espejos), lo que significa que se pueden implementar diferentes funciones con cada cubo.

    Tipo de cubo 1: moldeado por inyección con conexión de enchufe

    Base

    Base

    El cubo se puede montar en una placa base. Los módulos de la placa base se pueden juntar como un rompecabezas.

    UC2 para imprimir tú mismo

    El cubo UC2 también se puede imprimir en 3D. Se ve igual que el modelo moldeado por inyección, pero aquí consiste en una tapa de cubo y el cuerpo del cubo, que se mantienen unidos con tornillos. Los tornillos son excelentes para colocarlos en la placa magnética. Al combinar diferentes módulos de cubos, se pueden ensamblar fácilmente diferentes estructuras ópticas. Una nueva función se puede agregar con cada dado. Tu creatividad no tiene límites.

    Tipo de cubo 2: impreso en 3D con conexión magnética

    Dados

    Placa base con imanes

    En la placa base impresa en 3D hay pequeños imanes esféricos en los que se colocan los cubos.

    ¿Quieres más dados? Entonces puedes construirlos tú mismo. Puedes encontrar todo aquí

    Así es como encajan los dados

    Duración: 1

    Asegúrate de que los cubos estén colocados correctamente en la placa y no estén inclinados. Al final es importante que los insertos estén en el lugar correcto.

    Si no ves una imagen nítida, mueve los insertos (por ejemplo, lente) hasta que la veas claramente. La flecha verde en la imagen te muestra cómo hacerlo.

    Aquí puedes encontrar un pequeño video que explica el concepto central del cubo

    Of course, here's the translation of the provided text into Spanish:


    ¿Qué significan los símbolos?

    Duración: 2

    Experimenta Si ves este bloque, ¡hay algo con lo que experimentar! Puedes colocar un cubo UC2 en este bloque.
    Explicaciones: Si ves este icono, ¡hay algo que aprender!
    Facturas: Aquí hay algo que calcular. Toma un lápiz y papel y comienza a resolver rompecabezas.
    Precaución: ¡No toques las superficies de vidrio con tus dedos!
    Limpieza de las lentes: Si ya has tocado la lente, puedes limpiarla con un paño para gafas.

    ¿Qué puede hacer una lente?

    Duración: 2

    Toma uno o más de los cubos que tienen una lente y observa el símbolo UC2 mostrado aquí. Sostén el cubo en tu mano y cambia la distancia entre la lente y la imagen.

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryCore/Smartphone Microscope/index.html b/docs/Toolboxes/DiscoveryCore/Smartphone Microscope/index.html index cc13eb4b2..95ef1d7ff 100644 --- a/docs/Toolboxes/DiscoveryCore/Smartphone Microscope/index.html +++ b/docs/Toolboxes/DiscoveryCore/Smartphone Microscope/index.html @@ -10,13 +10,13 @@ - +

    openUC2 Smartphone Microscope with a finite corrected objective lens

    This video shows you how to build the UC2 smartphone microscope as also indicated in the PDF manual. It shows some tricks how to make it more stable and how to operate the Z-stage

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryDiffraction/ALIGNMENT_FinOptics/index.html b/docs/Toolboxes/DiscoveryDiffraction/ALIGNMENT_FinOptics/index.html index 64f76bddf..19c77d94a 100644 --- a/docs/Toolboxes/DiscoveryDiffraction/ALIGNMENT_FinOptics/index.html +++ b/docs/Toolboxes/DiscoveryDiffraction/ALIGNMENT_FinOptics/index.html @@ -10,13 +10,13 @@ - +

    The Course BOX Alignment Procedure (Finite Optics)

    This is the alignment procedure of the experiments with finite-corrected optics. If you are looking for the infinity-corrected setups click here.

    First experiment: Finite-corrected Microscope with Köhler Illumination

    This experiment demonstrates the essential parts of a microscope and explains the concept of conjugate planes. The key components are: Light source, Collector lens, Field Diaphragm, Aperture Diaphragm, Condenser lens, Sample, Objective lens and Eyepiece lens.

    The Aperture set of conjugate planes: Lamp filament, Aperture diaphragm, Back Focal Plane of the objective, Exit pupil of the eye.

    The Field set of conjugate planes: Field diaphragm, Sample plane, Primary Image Plane, Retina.

    Second experiment: Abbe Diffraction Experiment

    The famous Abbe Diffraction Experiments shows how diffraction of light by a specimen (and interference with the illuminating light) creates an image and how collection of diffracted light defines the resolution of the microscope. With this setup it is possible to view both sets of conjugate planes at the same time, with one's eye or a camera.

    The Aperture set of conjugate planes: Lamp filament, Aperture diaphragm, Back Focal Plane of the objective, Mirror surface in the side arm, Retina.

    The Field set of conjugate planes: Field diaphragm, Sample plane, Primary Image Plan, Retina.

    We propose to use a diffraction grating as a sample and spatial filter in the BFP.

    This tutorial will lead you step-by-step through the alignment of the Finite-corrected Microscope, Köhler Illumination and Abbe Diffraction Experiment.

    1. Start with 1×13 baseplate and all the cubes:
    • Flashlight Cube (1)
    • Collector Lens Cube (2)
    • 2× Circular Aperture Cube (3)
    • Condenser Lens Cube (4)
    • Sample Cube (5)
    • Objective Lens Cube (6)
    • Objective in Z-Stage Cube (7)
    • Eyepiece Lens Cube (8)
    • 4× Screen Cube - 1× with white paper, 3× with lens tissue (9)

    2. Start by placing the sample - we will build the microscope around it.

    3. Place the Primary Image Plane (PIP) by definition: the distance is 200 mm from sample to PIP when using the 4× objective (finite-corrected for 160 mm, 40 mm working distance). Use the Sample cube with white paper as a screen.

    1. Place the objective lens. It is a single plano-convex lens with f' = 35 mm.

    2. Use direct illumination from the flashlight with! its lens. Adjust the position of the objective lens - focus the image on PIP by moving the lens back or forth.

    • Focussing Trick: Firstly move the whole objective lens cube in one direction (away from the sample). If the image sharpness in PIP improves, slide the insert in that direction. If the image sharpness in PIP get worse, slide the insert in the opposite direction, towards the sample. Continue until you get a focussed image of your sample on the PIP.

    1. Place the eyepiece lens behind the PIP. It is a single plano-convex lens with f' = 40 mm. Exchange the PIP screen with a semitransparent screen (lens tissue). While looking through the eyepiece, focus it on the PIP. Use the Focussing Trick again. The position within the cube of the sample holder for the paper screen and for the semitransparent screen has to be identical.

    2. Take away the screen from PIP. To dim the flashlight, put a piece of lens tissue in front of it. Look through the eyepiece - you should see a sharp image of your sample.

    3. Place the Field Diaphragm (FD). The position was chosen in order to work well with the availible lenss.

    1. Place the condenser lens. It is a single plano-convex lens with f' = 40 mm.

    2. Place the PIP screen back to its position.

    3. Place the flashlight on one end of the baseplate. Close the FD.

    4. Adjust the position of the condenser lens - focus the image of the FD on PIP by moving the lens back or forth (Focussing Trick). Once you see a sharp image of the closed FD on the screen in PIP, open and close the aperture and observe its effect.

    5. Remove the screen, look throught the eyepiece and check whether you see a sharp image of the closed FD.

    6. Place the Aperture Diaphragm (AD) into the Front Focal Plane (FFP) of the condenser lens (40 mm).

    • Focal Plane Trick - In case you don't know where exactly the FFP is, use this:

    • Use the Laser Cube with Beam Expander Cube to produce a collimated beam. Place the condenser lens in the collimated beam and find focus.

    • Place the AD into the same plane - slide in within the cube. Careful - push the Aperture from one side to keep it together.

    1. Remove the lens of the flashlight. The position of the flashlight remains.

    1. Place the collector lens. It is a single plano-convex lens with f' = 50 mm.

    2. Remove the FD. Close the AD. Center the flashlight with respect to the AD. Focus the image of the LED on the AD by adjusting the position of the collector lens (Focussing Trick).

    3. Place the FD back in the illumination path. Now the Köhler illumination is properly aligned.

    4. Place a semitransparent screen into the Back Focal Plane (BFP) of the objective lens. Close the AD and check that you see a focussed image of the AD in the BFP.

    5. Remove all screens. Use a lens tissue to dim the light and look through the eyepiece. Observe the effect of opening and closing the apertures.

    • Left: both apertures open. Middle: FD closed. Right: AD closed.

    1. Exhange objective lens with 4× objective in Z-Stage. Place a screen in PIP and observe the effect of opening and closing the apertures in the PIP.

    • Top: both apertures open. Middle: AD closed. Bottom: FD closed.

    1. Remove the screen. This is an aligned finite-corrected microscope with Köhler illumination.

    1. By adding 4 more cubes and another baseplate, we will now create the Abbe Diffraction Experiment. The extra cubes are:
    • Beamsplitter Cube (1)
    • Mirror 45° Cube (2)
    • Eyepiece Lens Cube (different f' than the previously used one!) (3)
    • Relay Lens Cube (4)

    24. Remove the eyepiece (40 mm) and add the 4×2 baseplate. Exchange the 4× objective with the objective lens (35 mm).

    25. Place the Beamsplitter Cube.

    1. Place the screen into the PIP, in front of the Beamsplitter. Place a new eyepiece lens behind the Beamsplitter. It is a single plano-convex lens with f' = 100 mm. While looking through the eyepiece, focus it on the PIP (Focussing Trick).

    2. In the other arm we will observe the BFP. There are two options, depending on how you place the Mirror in the next step.
    • Option 1: Place the mirror as shown in the picture.
    • Place the eyepiece lens (40 mm).

    • Option 2: Place the mirror as shown in the picture.
    • Place the baseplate connector on the mirror cube.
    • Place the eyepiece cube (40 mm) on the connector on the mirror cube.

    1. Place the relay lens after the Beamsplitter. It is a single plano-convex lens with f' = 75 mm.

    2. Place a semitransparent screen in the BFP of the objective lens. Close AD and look through the eyepiece of the side arm. You should see a sharp image of the AD on the BFP.

    3. This is the Abbe Difraction Experiment. Through the eyepieces you can see both sets of conjugate planes at the same time.

    Participate

    If you have a cool idea, please don't hesitate to write us a line, we are happy to incorporate it in our design to make it even better.

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryDiffraction/ALIGNMENT_InfOptics/index.html b/docs/Toolboxes/DiscoveryDiffraction/ALIGNMENT_InfOptics/index.html index f3133cf55..2f5a1737f 100644 --- a/docs/Toolboxes/DiscoveryDiffraction/ALIGNMENT_InfOptics/index.html +++ b/docs/Toolboxes/DiscoveryDiffraction/ALIGNMENT_InfOptics/index.html @@ -10,7 +10,7 @@ - + @@ -52,7 +52,7 @@ We use a laser pointer as a light source and expand it using two lenses. The imaging path is the same as in the microscope in the first experiment and therefore we can observe the image of our sample in the main arm and the image of the BFP in the side arm.

    1. We use a very fine fish net as a sample here. You could try a net like this one. Another idea is to try one of these plastic tea bags. Or a diffraction grating.

    2. We provide a circular aperture and a rectangular aperture to be used in the BFP. We also suggest to use an opaque dot (a small dot made with some marker or pain on a microscope slide) and a thin line object (like this tiny hex key here). The apertures block the light from the outside while the dot and line can block the center of the light path.

    3. As mentioned earlier, we keep the imaging path in both main arm and side arm. Remove the illumination part of the microscope and also the Eyepiece.

    4. Besides the apertures that we already prepared, we will need :

    • Laser Cube with laser pointer (1)
    • 1× Lens Cube with 50 mm lens (2)

    For now, place the camera in PIP.

    1. The laser is equipped with a cap that holds a lens from the RasPi camera. Make sure to put it on, otherwise you won't be able to create an expanded parallel beam.

    2. Place the Laser cube on the baseplate as shown in the picture.

    Careful! Do not hit anybody's eyes with the laser beam. Keep the laser off if you're not using it at the moment. Always point the laser away from people. Block the light if it's leaving the table you're working on.

    1. Place the lens for beam expansion behind the Laser cube as shown in the picture. It is a single plano-convex lens with f' = 50 mm. Align the lens to illuminate your Sample with a collimated beam - the diameter of the beam should be the same just after the lens cube and also far away from it. When you beam is well-collimated, the distance between the laser+lens duo and the Sample doesn't matter.

    2. You can switch the camera between the PIP and the BFP. You could also use two cameras, one in PIP and one in BFP, if you have them.

    3. Between the objective and the Beamsplitter is the Back Focal Plane of the Objective. You can see it if you put a piece of paper there - you will see the Fourier transform of the sample. You should see the same on camera in the side arm.

    4. In the PIP, you can see an image of the sample. Here we see our fish net. Align the camera to obtain a sharp image.
      ⭐ Because of the Talbot effect you can find more than one sharp image of the sample. Therefore, partially close the Field diaphragm (FD) and find the position of the camera where you not only see a sharp image of the grating (fish net) but also of the FD.

    1. In the BFP image in the side arm, you can see the Fourier transform of the grating just as it looks in the BFP itself. Align the second Relay lens to obtain a focussed image on the camera.
      ⭐ The grating is regular in both X and Y and therefore it's a very convenient sample for this experiment, because its Fourier transform is easily predictable. With a different sample the BFP will of course also look differently.

    ⭐ Back Focal Plane

    The intensity peaks in the BFP are the diffraction orders of our sample. By placing an aperture or another object here we’ll be able to modify the information transmitted through the microscope that contributes to the image. Depending on the aperture we can observe different effects.

    • Circular aperture: The circular aperture blocks the light symmetrically from outside towards the center. Close the aperture and align the laser such that the 0th order is in the center of the aperture. You can align the laser using the four screws in its holder.

    • Rectangular aperture: The rectangular aperture closes independently from both sides in X and Y direction (horizontally and vertically). Use a hex key or a similar tool to close/open the aperture doors.

    • Dot and line: Use a sample holder cube or your (presumably steady) hand to hold these two. You can block the 0th or 0th+1st orders with the dot, depending on how big it is. You can block the X-0th or Y-0th order with the line-object.

    1. This is the setup for the second experiment: Abbe Diffraction Experiment.

    ⭐ Abbe Diffraction experiment - What do we see?

    1. With no aperture in the BFP, we see the image of the Sample in PIP and the Fourier transorm of the sample in the BFP, as we just aligned it and prepared it.

    2. Firstly we use the Circular aperture. As we slowly close it and change the diameter of the transmitting area, we cut out the higher diffraction orders that carry the high frequency information, hence the fine details. In the image plane we see how these details blur and the sharp edges soften. The more orders we cut out, the blurrier the image gets.

    3. Using the Rectangular aperture, we can block the diffraction orders more selectively. When we close the aperture in the X direction to only let through the Y-0th orders, the square pattern of the image disappears, and we have only lines. This is because there is no X order that would transmit the information about the shape in the perpendicular direction.

    4. When we do the same trick in the other direction, we then see lines of the other orientation but again no square pattern.

    5. Closing the aperture in both X and Y direction, we eventually block all the higher orders that form the image of the sample. As we can see here, when only the 0th order is transmitted all image information is lost. What we see is only some background noise.

    6. On the other hand, when we block only the 0th order but keep all the others (we do this using the dot on a slide), we are still able to see the pattern is preserved, because all the orders still have a corresponding partner to interfere with on the other side from the 0th order. But now we are in a so-called dark field imaging mode. We'll explain it in the next steps.

    7. We can even block the 0th and 1st order by simply using a bigger dot in the BFP. We are still able to recognize the square pattern but the high frequency information, the noise, is taking over the image.

    8. When using the line object instead of the dot, we can block the 0th order completely in the Y direction and see what it does to the image. We still see the square pattern but suddenly, in the X direction, it seems that we have twice as many squares. This is the dark field imaging effect but in X only. We’re seeing just the edges and because there are two edges per square in one direction, it appears that we see them twice.

    9. The same works also in the perpendicular direction - blocking the 0th order in X results in the dark field imaging mode in Y.

    10. Using the rectangular aperture again and we can find out what is the minimal amount of orders that we need to form a reliable image. We said that they always interfere with the 0th order, so we don't need both sides. Therefore, we close the aperture and let through only one quarter of the orders. We can block the higher orders as well, as they only carry the high frequency information, and we are still able to see the basic pattern of our sample.

    ⭐ Watch the video of this experiment!

    UC2 YouSeeToo - Abbe Experiment Demonstration

    Notes to the video:

    • In this demonstration of the experiment, two Alvium cameras from Allied vision are used, so we can show the PIP and BFP on the screen simultaneously
      • Find the cubes for the Alvium cameras here anch choose the adjustable insert for easy alignment.
    • The optical path is different from the one described in this tutorial. This is because of the use of the above mentioned cameras
      • The objective and eyepiece are both lenses with f' = 100 mm. The magnification of the microscope is therefore equal to 1. The "magnified" image is just a zoom into the camera view.
      • Thanks to the use of a 10 mm lens as an objective, the diffraction orders in BFP are more separated and easily accessible.
      • In the side arm, the first lens has f' = 100 mm and the second lens f' = 50 mm. The image of the BFP is therefore demagnified twice, to fit better in the field of view of the camera.

    Bonus question: This magical image was taken by the RasPi camera in the BFP with the fish net as a sample. If you tell me what created this effect, I send you a chocolate ;-)

    Participate

    If you have a cool idea, please don't hesitate to write us a line, we are happy to incorporate it in our design to make it even better.

    References:

    1; 2; 3; Cat image source;
    4 Advanced Optical Imaging Workshop; Plymouth; Noah Russell, 2009©

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryDiffraction/MicroscopyCore/index.html b/docs/Toolboxes/DiscoveryDiffraction/MicroscopyCore/index.html index 34d46b577..372918586 100644 --- a/docs/Toolboxes/DiscoveryDiffraction/MicroscopyCore/index.html +++ b/docs/Toolboxes/DiscoveryDiffraction/MicroscopyCore/index.html @@ -10,13 +10,13 @@ - +

    MicroscopyCore

    The first version of this BOX was designed for the "Principles of Light Microscopy" Course of the Light Microscopy Facility of MPI-CBG in Dresden. The alignment procedure was developed and optimised by Sebastian Bundschuh. It follows the lectures of Peter Evennett that can be found here.

    CourseBOX teaches the core principles of microscopy and basics of optical alignment. It is intended for microscopy courses for students that are rather on the side of users than designers. This BOX provides a hands-on experience with insight into the black box that microscope often seems to be. It comes with alignment tutorials and relies on basic components. By reusing the components and starting from the common ground, it shows that all the microscopy methods are based on only a few principles.

    It is not yet a comprehensive and optimised toolbox but rather a collection of modules and experiments that are frequently taught in microscopy courses. There is still space for improvement and we're hoping that more universities and institutions adopt the CourseBOX in their courses, which will lead to it's improvement and (if successful) production.

    Build the BOX

    A list of 3D-printed parts and necessary components is found in BUILD_ME, together with assembly guidelines and some printing tips and tricks.

    Setups

    What can you build with the CourseBOX?

    Compound microscope with proper Köhler illumination (finite optics)

    A finite corrected microscope with proper Köhler illumination. All conjugate planes are accessible.

    LINK for the detailed alignment procedure with image tutorial.

    Abbe Diffraction Experiment (finite optics)

    Classical experiment for explaining Fourier transform done by a lens. The illumination stays the same as in the previous experiment, but a beamsplitter and a relay lens are added, for simultaneous observation the Primary Image Plane and the Back Focal Plane.

    LINK for the detailed alignment procedure with image tutorial.

    Compound microscope with proper Köhler illumination (infinity optics)

    An infinity corrected microscope with proper Köhler illumination. All conjugate planes are accessible.

    LINK for the detailed alignment procedure with image tutorial.

    Abbe Diffraction Experiment (infinity optics)

    Classical experiment for explaining Fourier transform done by a lens. The setup of the previous experiment is reused and a laser pointer is added as a light source.

    LINK for the detailed alignment procedure with image tutorial.

    Coming soon:

    Laser Scanning Confocal Microscope

    Laser Scanning system is built on the detection side of the same setup. Scanning mirror can be rotated around one axis, which results in the translation of the point on the sample.

    Light Sheet Microscope

    The principle of Selective Plane illumination Microscopy is demonstrated with white light. The illumination path stays the same, only the collector lens is exchanged for a cylindrical one. The detection path is rotated by 90°.

    Participate

    If you have a cool idea, please don't hesitate to write us a line, we are happy to incorporate it in our design to make it even better.

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryDiffraction/index.html b/docs/Toolboxes/DiscoveryDiffraction/index.html index 1a27a544a..830a9217b 100644 --- a/docs/Toolboxes/DiscoveryDiffraction/index.html +++ b/docs/Toolboxes/DiscoveryDiffraction/index.html @@ -10,7 +10,7 @@ - + @@ -18,7 +18,7 @@

    Building The CourseBOX

    This is a guide for building the CourseBOX. If you were looking for another BOX version, click here.

    This guide currently describes how to build both the finite-corrected version and the infinity version of the CourseBOX.

    Content of each section

    1. Shopping
    2. 3D printing
    3. Tools
    4. Assembly

    Infinity Optics

    • Total price: 300 € without a Raspberry Pi (190 €) (assuming only material costs and printing everything yourself)
    • Printing time including preparation: 4 days
    • Assembly time: 1 day

    Shopping

    What to buy

    • Check out the RESOURCES for more information!
    Link - name of partAmountCommentPrice
    3D printing material~580 gChoose material that works with your 3D printer. If unsure, have a look at the guide in 3D printing section15 €
    Lens 50 mm5 piecesá 21 €
    Lens 100 mm3 piecesArtikel 2004á 6 €
    Lens for Eye Cube1 piece551.OALá 5 €
    Beamsplitter1 pieceArtikel 2137á 27 €
    Flashlight1 pieceLight source for microscope.á 7 €
    Laser Pointer1 pieceLight source for the Abbe experiment. With this very one you don't even need the flashlight. More information below.á 5 €
    Magnets64 piecesWhen using 3DP Cubes and baseplates. Ball magnets, diameter 5 mm.total 20 €
    Screws7 piecesM2×16 - 6 pieces; M2 nut - 6 pieces; M3×18 - 4 piecestotal ~2 €
    Screws112 piecesFor 3DP Cubes extra: (Art.-Nr. 00843 12) M3×12, galvanized steel - 64 pieces; (Art.-Nr. 00843 8) M3×8, galvanized steel - 64 pieces (or 128 pieces of M3×12) - BUT for this setup it isn't necessary to have screws on both sides ; (Art.-Nr. 025505 8) M5×8, galvanized steel - 96 pieces (half if one-sided)total ~4 €
    Raspberry Pi with accessoriesHave a look in our Bill-of-Materials for a complete list and links.190 €
    Chocolate1 barUse it as a reward when you're done.

    2 in 1 light source

    We propose the use of this Laser Pointer, because it also has a white LED. But we need to smartly adapt this for our experiments.

    • For beam expansion of the laser light, print a laser cap from the STL folder and put in it the RasPi lens that you removed from the camera
    • The LED here has a lens which cannot be removed. To be able to find a focussed image of your light source, take a thin permanent marker and make a cross on the surface of this lens. Now you'll be able to see a focussed image of the cross in the Field set of Aperture planes

    3D Printing:

    Parts

    To acquire the STL-files use the UC2-Configurator. The files themselves are in the RAW folder. The BOXes can be built using injection-moulded (IM) or 3D-printed (3DP) cubes.

    Note on the lens holders: If you use some other lens, you can generate a holder for it using our openSCAD design. Go to the Thingiverse page of this lens holder and use their in-built customizer to change the parameters of the insert.

    Completely new to 3D printing? Have a look into this beginner's guide!

    Our quick printing tutorial can be found here: UC2 YouSeeToo - How to print the base-cube?

    We have a good experience with this printer and settings:

    • Prusa i3/MK3S
      • Prusament PLA 1,75 mm, for one Box: 0,58 kg = 195 m = 90 hours = 15 €
      • Profile Optimal 0,15 mm, infill 20%, no support, 215/60°C

    Which tools to use

    ToolImageComment
    Electric screw driver with 2,5 mm hex bitFor putting the cubes together using M3×12 and M3×8 screws.
    2,5 mm hex keyFor fine adjustment of all the M3 screws if needed.
    Needle-nose PliersMight come handy

    Assembly

    Part - linkResultComment
    Baseplates16× baseplate puzzle
    Lens Cubes8× Lens Cube: 5× Lens Cube with 50 mm lens; 3× Lens Cube with 100 mm lens.
    Sample Cubes2× Sample Holder Cube
    Flashlight Cube1× Flashlight Cube
    Circular Aperture Cube2× Circular Aperture Cube
    Rectangular Aperture Cube1× Rectangular Aperture Cube
    Beamsplitter Cube1× Beam Expander Cube
    RasPi Camera Cube1× Camera Cube with Raspberry Pi camera with the lens removed
    Laser Cube1× Laser Holder Cube and Laser Clamp with a cap for RasPi lens
    Eye Cube1× Eyeball Cube

    Software

    Prepare the Raspberry Pi following our tutorial in UC2-Software-GIT!

    Done! Great job!


    Finite-corrected Optics

    • Printing time including preparation: 5 days
    • Assembly time: 1 day

    Shopping

    What to buy

    • Check out the RESOURCES for more information!
    Link - name of partAmountCommentPrice per amount used
    3D printing material~620 gChoose material that works with your 3D printer. If unsure, have a look at the guide in 3D printing section20 €
    Microscope objective 4×1 piece10 €
    Lens 35 mm1 pieceWe did the alignment with lenses of these focal lengths, but other combination are also possible. The alignment principle stays the same, but the positions of the element will be different.22 €
    Lens 40 mm2 pieces44 €
    Lens 50 mm1 piece21 €
    Lens 75 mm1 piece20 €
    Lens 100 mm1 piece20 €
    Flashlight1 pieceLight source for the projector and microscope.7 €
    Magnets128 piecesBall magnets, diameter 5 mm.30 €
    Screws~120 piecesM3×12, galvanized steel - ~90 pieces; M3×8, galvanized steel - ~90 pieces; M3×18, galvanized steel - 2 pieces; M3×30, not magnetic - 1 piece; M3 nut~15 €
    Chocolate1 barUse it as a reward when you're done.

    3D Printing:

    Completely new to 3D printing? Have a look into this beginner's guide!

    Our quick printing tutorial can be found here: UC2 YouSeeToo - How to print the base-cube?

    We have a good experience with this printer and settings:

    • Prusa i3/MK3S
      • PLA 1,75 mm, for one Box: 0,6 kg = 235 m = 85 hours = 20 €
      • Profile Optimal 0,15 mm, infill 20%, no support, 215/60°C

    Note: The design of the mechanical Z-stage has recently been changed. The files here are not yet up-to-date. Please check the Mechanical Z-stage for the latest version. Same applies to the Lens Holder available here

    Housing

    Name of part - Link to STL fileAmount
    (01) Basic Cube 2×11 piece
    (02) Basic Lid 2×11 piece
    (03) Basic Cube 1×120 pieces
    (04) Basic Lid 1×120 pieces
    (05) Baseplate 4×14 pieces
    (06) Baseplate 4×21 piece
    (07) Baseplate 1×11 piece
    (08) Baseplate Connector 1×11 piece

    Inserts

    Name of part - Link to STL fileAmountComment
    (09) Z-Stage Focusing Insert1 pieceRotate the part in your slicer before printing. Always print it laying on the flat side.
    (10) Z-Stage Objective Mount1 pieceFor mounting the objective lens (RMS thread).
    (11a) Z-Stage Bottom Plate1 pieceThe plate holds the gear and screw in position, allowing the only to rotate but not to wobble.
    (11b) Z-Stage Top Plate1 pieceThe plate holds the gear and screw in position, allowing the only to rotate but not to wobble.
    (12) Z-Stage Gear1 pieceKindly borrowed from openflexure.
    (13) Lens Holder6 piecesDiameter fits for the listed lenses (25 mm).
    (14) Lens Holder Clamp6 piecesDiameter fits for the listed lenses (25 mm).
    (15) Cylindrical Lens Holder1 pieceDiameter fits for the listed lenses (25 mm).
    (16) Generic Sample Holder5 piecesIn the SimpleBOX, it is used to hold the object in the projector setup.
    (17) Generic Sample Holder Clamp5 piecesTo fix the sample.
    (18) Mirror Holder 45° 30×30mm²1 pieceSize fits for the listed mirrors.
    (19) Flashlight Holder2 pieces
    (20) Circular Aperture Guide2 pieces
    (21) Circular Aperture Wheel2 pieces
    (22) Circular Aperture Lid2 pieces
    (23) Circular Aperture Leaf14 pieces
    (24) Laser Holder2 pieces
    (25) Laser Clamp1 piece
    (26) Beam Expander Insert1 piece
    (27) Beam Expander Lens Adapter1 piece
    (28) Beamsplitter Insert1 piece

    Which tools to use

    ToolImageComment
    Electric screw driver with 2,5 mm hex bitFor putting the cubes together using M3×12 and M3×8 screws.
    2,5 mm hex keyFor fine adjustment of all the M3 screws if needed.
    1,5 mm hex key↑↑For mounting worm screws.
    Needle-nose PliersMight come handy

    Assembly

    Part - linkResultComment
    Baseplates1× "big" baseplate (4×2), 4× "small" baseplate (4×1), 1× "unit" baseplate (1×1), 1× "unit" baseplate connector (1×1)
    Z-Stage Cube1× mechanical Z-Stage, Sample Clamp not necessary
    Lens Cubes6× Lens Cube; Write the focal lengths of the lenses on the holders, so you can always easily find the right one when building the setups.
    Cylindrical Lens Cube1× Cylindrical Lens Cube
    Sample Cubes5× Sample Holder Cube
    Mirror Cube1× Mirror Cube
    Flashlight Cube1× Flashlight Cube
    Circular Aperture Cube2× Circular Aperture Cube
    Laser Cube1× Laser Holder Cube and Laser Clamp
    Beam Expander Cube1× Beam Expander Cube
    Beamsplitter Cube1× Beam Expander Cube

    Done! Great job!

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryElectronics/Automation_intro/index.html b/docs/Toolboxes/DiscoveryElectronics/Automation_intro/index.html index dea632689..2b15c73f6 100644 --- a/docs/Toolboxes/DiscoveryElectronics/Automation_intro/index.html +++ b/docs/Toolboxes/DiscoveryElectronics/Automation_intro/index.html @@ -10,7 +10,7 @@ - + @@ -34,7 +34,7 @@

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryElectronics/Camera Setup/index.html b/docs/Toolboxes/DiscoveryElectronics/Camera Setup/index.html index 794041743..1f6612681 100644 --- a/docs/Toolboxes/DiscoveryElectronics/Camera Setup/index.html +++ b/docs/Toolboxes/DiscoveryElectronics/Camera Setup/index.html @@ -10,13 +10,13 @@ - +

    openUC2 Camera Setup

    The openUC2 Camera Setup provides guidance on configuring and using webcams and Daheng cameras for imaging purposes within the openUC2 ecosystem. This setup allows users to seamlessly integrate cameras into their experimental setups and utilize them for imaging and data acquisition. Below are detailed instructions for setting up cameras on different platforms:

    Webcam

    On Windows

    • Users can utilize the built-in webcam functionality provided by Windows. They need to open the webcam using the Windows internal software and start streaming.

    On Mac

    • For Mac users, the Photobooth application can be used to access the webcam. Simply open the Photobooth application and select the camera to start capturing images or videos.

    Alternative Method

    • Users can also use the openUC2 Web Serial interface available at https://youseetoo.github.io/indexWebSerialTest.html to open the camera stream.

    Daheng Cameras

    On Windows

    • To use Daheng cameras on Windows, users should visit https://www.get-cameras.com/customerdownloads?submissionGuid=93704570-544a-43e8-83d6-f5f3cf0b97fb.
    • From the provided options, select the "Windows SDK USB2+USB3+GigE (including Directshow + Python) Galaxy V1.23.2305.9161" package.
    • Install the software and drivers from the downloaded package.
    • Once installed, users can start the "Galaxy Viewer" application to begin capturing images using the Daheng camera.

    On Android Phones

    • To use Daheng cameras on Android phones, users should first visit https://www.get-cameras.com/customerdownloads?submissionGuid=93704570-544a-43e8-83d6-f5f3cf0b97fb.
    • From the provided options, select the "Android USB3 SDK v1.2.2112.9201" package and download it.
    • After downloading, unzip the package and install the "GxViewer_GetRawImage.apk" on the Android phone (users may need to allow installation of apps from unknown sources or 3rd party apps).
    • Connect the Daheng camera to the Android phone using a USB-C to Daheng cable (adapter).
    • Open the installed app ("GxViewer_GetRawImage") and grant access to the USB connection when prompted.
    • Users can adjust camera settings by swiping left in the app and then proceed to capture images.

    Video Tutorial

    A video tutorial demonstrating the camera setup is available at https://youtu.be/PtdU5qE6BSc.

    The openUC2 Camera Setup provides users with easy-to-follow instructions for configuring and utilizing webcams and Daheng cameras on different platforms, enabling seamless integration into various imaging applications and experiments.

    XIAO Sense Camera

    Coming Soon.

    You can have a glimpse here https://github.com/openUC2/openUC2-SEEED-XIAO-Camera/

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryElectronics/XYZ_stage_mico/index.html b/docs/Toolboxes/DiscoveryElectronics/XYZ_stage_mico/index.html index d5d691c9e..31ac651a8 100644 --- a/docs/Toolboxes/DiscoveryElectronics/XYZ_stage_mico/index.html +++ b/docs/Toolboxes/DiscoveryElectronics/XYZ_stage_mico/index.html @@ -10,7 +10,7 @@ - + @@ -20,7 +20,7 @@ Fully assembled XYZ stage with high precision stepper motors, designed for seamless automation in microscopy setups.

    Key Features:

    • Mounting Flexibility: The XYZ stage can be easily mounted on top of a cube or suspended at the side, offering flexibility in integrating it into various experimental setups.

    • Interferometer and Microscopy Applications: This stage finds application in interferometers and light-sheet/fluorescence microscopes, where it plays a crucial role in precisely manipulating the sample in all directions.

    • Durable Construction: Constructed entirely from metal, the XYZ stage ensures robustness and stability during delicate experiments.

    • High Precision Stepper Motors: The stage is equipped with non-captive stepper motors, delivering exceptional precision during positioning operations.

    XYZ Stage in an Interferometer Setup Image showing two XYZ stages (one motorized and one manual stage) employed in an OCT / Michelson type interferometer.

    Setup and Integration: To assist users in setting up and integrating the XYZ stage into their experimental configurations, a comprehensive video guide is available. This instructional video can be viewed at https://www.youtube.com/embed/E_hhclFqx5g.

    For further information or inquiries regarding the openUC2 XYZ Micrometer Stage, interested parties can refer to the official openOCT project page at https://github.com/openUC2/openUC2-Hackathon-openOCTRemote. The project page contains additional details, resources, and support for utilizing the XYZ stage effectively in diverse research settings.

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryElectronics/seeedmicroscope/index.html b/docs/Toolboxes/DiscoveryElectronics/seeedmicroscope/index.html index 6c3bb1af8..06fa031ec 100644 --- a/docs/Toolboxes/DiscoveryElectronics/seeedmicroscope/index.html +++ b/docs/Toolboxes/DiscoveryElectronics/seeedmicroscope/index.html @@ -10,7 +10,7 @@ - + @@ -55,7 +55,7 @@ Seeedmicroscope_40

    Focus sample with manual focusing stage Seeedmicroscope_41

    Using an Android APP

    For Android users, plesae have a look here: https://matchboxscope.github.io/docs/APP

    This app will help you connect and capture images using this microscope.

    Conclusion

    Congratulations! You have successfully assembled your modular microscope. With this microscope, you can now observe various samples and capture images using the camera connected to your smartphone or computer. This modular design allows for easy customization and experimentation, making it a versatile tool for exploring the microscopic world.

    Remember, the performance of the microscope might be affected by the modifications made to the objective lens, so adjust your expectations accordingly. Enjoy exploring and discovering the hidden wonders of the microcosmos!

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryElectronics/spectrometer/index.html b/docs/Toolboxes/DiscoveryElectronics/spectrometer/index.html index 26336564d..edf6bf8ce 100644 --- a/docs/Toolboxes/DiscoveryElectronics/spectrometer/index.html +++ b/docs/Toolboxes/DiscoveryElectronics/spectrometer/index.html @@ -10,7 +10,7 @@ - + @@ -31,7 +31,7 @@ 8. Example Plot of a spectrum (white light)

    Operating the Spectrometer

    • Calibration: Essential for accurate measurements.
    • Usage: Can be used to analyze spectra from various light sources.

    10. Example Plot of a spectrum (red LED)

    10. Example Plot of a spectrum (green LED)

    Further Reading and Resources

    For more in-depth information on spectroscopy and related subjects, refer to resources provided by Public Lab and other scientific publications.

    Public Lab: https://publiclab.org/wiki/spectrometry

    Gaudi Lab: https://www.gaudi.ch/GaudiLabs/?page_id=825

    ESPectrometer: https://matchboxscope.github.io/docs/Variants/ESPectrometer

    Youtube: https://www.youtube.com/watch?app=desktop&v=T_goVwwxKE4&ab_channel=Les%27Lab

    Software: https://github.com/leswright1977/PySpectrometer

    Contributing and Collaboration

    This open-source project welcomes contributions from everyone. Whether you're experienced in CAD design or programming,

    or just starting out, there are many ways to contribute. Check out our CONTRIBUTING guide for more details.

    Licensing and Collaboration Notes

    This project is licensed under the CERN open hardware license. We encourage users to share their modifications and improvements. All design files are available for free, but we appreciate feedback and collaboration.

    For details on the licensing, please visit License.md.

    Note: Design files were created using Autodesk Inventor 2019 (EDUCATION).

    Stay Connected

    If you find this project beneficial, please star this repository, follow us on Twitter, and cite our webpage in your work!

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryFluorescence/index.html b/docs/Toolboxes/DiscoveryFluorescence/index.html index 81d0c44ca..c713d9179 100644 --- a/docs/Toolboxes/DiscoveryFluorescence/index.html +++ b/docs/Toolboxes/DiscoveryFluorescence/index.html @@ -10,13 +10,13 @@ - + - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryInterferometer/InlineHolography/index.html b/docs/Toolboxes/DiscoveryInterferometer/InlineHolography/index.html index b0245eada..15c5e5a6b 100644 --- a/docs/Toolboxes/DiscoveryInterferometer/InlineHolography/index.html +++ b/docs/Toolboxes/DiscoveryInterferometer/InlineHolography/index.html @@ -10,7 +10,7 @@ - + @@ -26,7 +26,7 @@ Here you will finde a guide how to setup the ImSwitch Software:

    • Download the Software package from Dropbox
    • Install Anaconda (Important: When you're asked to add Anaconda to the PATH environment, say YES!)
    • Install Arduino + all drivers
    • Install the CH340 driver
    • Extract ImSwitch.zip to /User/$USER$/Documents/ImSwitch (clone or download from GitHub)
    • Extract ImSwitchConfig.zip to /User/$USER$/Documents/ImSwitchConfig (clone or download from GitHub)
    • Optional: Install Visual Studio Code + the Python plugin => setup the Visual studio code IDE for Python

    Install ImSwitch for UC2

    • Open the anaconda command (Windows + R => "CMD" => enter)
    • Type: conda create -n imswitch
    • Wait until environment is created
    • Type: conda activate imswitch
    • Type: cd /User/$USER$/Documents/ImSwitch
    • Type: pip intall -r requirements.txt
    • Type: pip intall -e ./
    • Type: imswitch

    Reconstruction

    This video will show you how to reconstruct holographic data using UC2 and ImSwitch.

    https://youtu.be/CWXx0Dw-Jro

    Things to explore:

    • Get Familiar with ImSwitch
    • Get a sparse sample e.g. plankton on coverslip would be best, or just dust/sand/cheeck cells and try to acquire some holograms

    Refocusing using ImSwitch

    Using the In-line Holography plug-in widget in ImSwitch we can refocus the sample by using a propagator in reverse from the recorded hologram in real-time.

    The In-line holography experiment can also be produced with a laser source. In this version of the In-line holography setup, we use white light as source and we use filters to have quasi-monochromatic light illuminating the sample.

    ADDITIONAL Speach-to-text

    The first experiment will be the inline holographic microscope. This is a relatively simple experiment where we can show both the temporal and especially coherence. We will create a lensless microscope where we use an LED that is filtered by a color filter and pinhole to create a quasi one of chromatic coherent light source. This is then illuminating the transparent sample that is sparse before the scattered wave is sitting the camera sensor. This is relatively simple to build with the C2 system; for this, we only need the LED holder, a gel color filter, as it sees from theaters, aluminum foil where we'll stitch in a hole in order to create a local pinhole, some space between this created light source and the sample, and then the sample that this ultimately glued onto the sensor very closely so that the pinhole virtually scales in size as the ratio between the distance of the light source to the sample and sample to the sensor. In order to build the system, we will place the here created light source on the far left; then another empty cube follows right next to it; then another empty cube follows on the right-hand side; and then we combine the sample mount and the camera into one cube so that the distance between the sample and the camera is minimized. All these cubes should be mounted on puzzle pieces on the lower end and the upper bar so that the whole system becomes stable. We will turn on the camera and also turn on the lights source. Then we go to the web app after connecting to the camera through Wi-Fi, and then we will try to see any variation in the contrast of the camera. If the contrast is not high enough because of this scattering background light, we have to cover the system with a box or with some closing so that there's no straight lights hitting the sensor. This will make a very bad result in the reconstruction. When you're lucky, you can see the sample as a kind of shadow on the sensor already. The core idea now is to reconstruct this digital hologram, where we have to carefully maximize the quality of the file image. Compression artifacts from the ESP32 camera are unavoidable and will eventually degrade the final image results. What we are going to do now is to temper in image and then back propagate the distance from the sensor to the sandal plane using a numerical transformation. What this really means is that we take the image and take every pixel and back propagated by a certain distance numerically. This is done using a fast-year transform where we first fiatransform the image so that it is in frequency space; then we multiply it with a parabolic face Factor, and then we inverse full-year transform the results to end up in real space again. This becomes a convolution of the Fresnel colonel, which essentially propagates every pixel edge of certain distance depending on the wavelength and sampling rate. We can conveniently do that in Python with the Script that is provided by the Jupiter notebook. For this, we go to the website of the ESP32, hit the capture button, and download the image onto the computer. Then we start the Jupiter notebook server by opening the command line in Windows or in Linux and enter Jupiter notebook. Then we go to the browser and open the example Jupiter notebook that will reconstruct our hologram. We will enter the path of our downloaded image file and then reconstruct the results. There are several problems which we can describe but not solve at the moment for stop inland holography, as the name already says, has the problem that the light source and the scattered wave interfere in line. That means the point source will create spherical waves that are propagating its free space and will become almost a plain wave when it's the sample. Here some parts of the wave are scattered where which means that a plane wave is altered in its face depending on the face of the microscopic example, and some portion of the wave is an altered. That means after the sample the unchecked and scattered wave are propagating to the sensor where the two amplitudes are superposing. That means they add up for stuff since our camera detector cannot record amplitudes since the object of frequency is very very high. We are averaging out over time. That means that we will record intensity values in the end. This also means that the information about the face is getting lost. When we are reconstructing the hologram, the color will differentiate whether the sample is before or behind the sensor since the face information is that anymore. This means that in the reconstruction, the so-called twin image always overlays the real image in the end. This causes an avoidable ringing artifacts in the reconstruction. There are some ways to remove it, for example by estimating the face using iterative algorithms or model-based approaches, where we take the full image acquisition process into account. Alternatively, suit also be machine learning algorithms where an algorithm estimates the background and remove these artifacts. However, here we won't use these algorithms as we just want to learn how we can reconstruct the simple.

    Some notes on the transform that we have just used here. Briefly, it is a transformation from spatial to frequency coordinates. This sounds very abstract, but for example, our ear does this all the time. When we talk, our voice generates a vibration of the air. That means different frequencies are oscillating and add up to something like noise. Our ear, in turn, has the cochlear where many nerve cells, in turn, are oscillating depending on the resonance frequency of every cell. In a way, they are unmixing the noise and modulate the different frequencies. That means that if you're singing like an A, there is the fundamental frequency and several higher and lower harmonics. And lens does something very similar but in two dimensions. You can have optical frequencies where, for example, a grating that is having stripes that represent on and off and on and off

    at a certain distance represent periodic structure. It lens when you place something in the focal plane will then flea transform this into the demodulated frequency components. When you, for example, have a periodic structure like a grating, it will produce two pieces in its Fourier transform or in its focal length on the object side. A fast Fourier transform is its equivalent in the computational science. You can take an image and then represent it in its frequency components for stock that means it tries to estimate the sum of all the different frequency components that make up the image. We use this fast Fourier transform in our code to bring it from real space to frequency space and back again. But since we start with an image without an amplitude or without the face, lack the information.

    This property creates additional artifacts since relax the information of the face when we record intensity values on our camera, we also limited to samples that I see like just for the tomt capture in the watcher. The optical resolution of our microscope is bound to the pixel size and the opening angle or the numerical aperture that is created by the illumination and the sensor size that we use to detect the image. However, it is a very nice way of demonstrating how long profil works and how we can detect images without a lens. For stop many different have used it, for example, to detect Malaria in blood. New sins the field of view is very Deutsch.

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryInterferometer/Interferometer_intro/index.html b/docs/Toolboxes/DiscoveryInterferometer/Interferometer_intro/index.html index aa9a83dc2..5371521f1 100644 --- a/docs/Toolboxes/DiscoveryInterferometer/Interferometer_intro/index.html +++ b/docs/Toolboxes/DiscoveryInterferometer/Interferometer_intro/index.html @@ -10,13 +10,13 @@ - +

    openUC2 Interferometer Introduction

    This is a a collection of different mini-tutorials to assemble the different optical systems using UC2. First, we will introduce the setup with a brief text. Afterwards, a little video will help you assembling the device. If you have any questions, please feel free to post a question in the Forum or in the Github Issue section.

    What will you learn?

    • What's inside the box?
    • How can we start different experiments?

    What's inside the box?

    Duration: 3

    Inside the box you will find a number of different cubes, all coming with different functionalities. Below you will find a list of all modules inside the discovery kit.

    Lasers and Beamexpanders

    Duration: 3

    Lasers and Interferometers

    Duration: 3

    Microscopes

    Duration: 3

    Polarization

    Duration: 3

    Microscope with Webcam

    Duration: 3

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryInterferometer/MachZenderInterferometer/index.html b/docs/Toolboxes/DiscoveryInterferometer/MachZenderInterferometer/index.html index fc6fe4973..da6a995e9 100644 --- a/docs/Toolboxes/DiscoveryInterferometer/MachZenderInterferometer/index.html +++ b/docs/Toolboxes/DiscoveryInterferometer/MachZenderInterferometer/index.html @@ -10,7 +10,7 @@ - + @@ -20,7 +20,7 @@

    Step 6: Setup and alignment

    Place the camera on the sample arm as shown. Put the screen on the other arm exit. Place the sample holder using one half of the cube at a time to not collide with the microscope objective.

    Turn the laser on and use the screen to align both beams using the screws on the reference mirror.

    Step 7: Connect and adjust in the MVS app

    Connect the camera to the computer and open the MVS app. Block the reference beam. Move the coverslide such that your sample enters the FoV (Field of View). Unblock the reference beam. Zoom into the image to distinguish the fringe pattern in the MVS camera display. Adjust the angles of the reference mirror using the screws to change the fringe pattern as shown.

    Step 7: Data processing

    Process the data. Phase unwrapping possible.

    First Tests with Modifications to the Original Setup

    Using Lei code, the need of a linear stage for the sample was identified. Adjusting the objective and tube lens enhances the interference, making it crucial to use the ImSwitch interface to see the FFT in real time and optimize. The final goal is to move the position of the first order interference to use Lei algorithm (or some Phase unwrapping algorithm) to retrieve the Phase. To achieve this, two images need to be acquired: a sample image and a background image (without a cover slide or a slide region with no specimen).

    Result of Phase Unwrapping

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryInterferometer/MichelsonInterferometer/index.html b/docs/Toolboxes/DiscoveryInterferometer/MichelsonInterferometer/index.html index e63ff4821..d11ef1043 100644 --- a/docs/Toolboxes/DiscoveryInterferometer/MichelsonInterferometer/index.html +++ b/docs/Toolboxes/DiscoveryInterferometer/MichelsonInterferometer/index.html @@ -10,7 +10,7 @@ - + @@ -35,7 +35,7 @@

    Step 12: Adjust the camera exposure

    Adjust the exposure time of the camera. You should see a fringe pattern. Try to adjust the reference mirror screws finely to bring the center of the interference pattern to the center of the camera.

    Experimental Data

    This is the fully assembled UC2 interferometer with a green laser diode, a camera representing a scree and to digitize the inteference, a beamsplitter, a kinematic mirror and a mirror that can be translated along Z.

    If you bring the two beams on top of each other, you will be able to observe the interference pattern, which in case of one beam exactly overlaying the other will be a ring pattern. These rings are also called Newton rings and come from the fact that we interfere two divergent beams, leading to a super position of two spherical caps/waves.

    Using the ESP32 camera, we can quantify the motion of the beams and e.g. measure distances or angles.

    Conclusion

    Congratulations! You have successfully built a Michelson Interferometer using the UC2 modular microscope toolbox. This device allows you to explore the interference properties of light and perform fascinating experiments. As you move one of the arms, you will observe constructive and destructive interference patterns on the camera, demonstrating the wave-like nature of light. Have fun experimenting with different setups and learning more about the wave-particle duality of light!

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryInterferometer/SoftwareTutorial/index.html b/docs/Toolboxes/DiscoveryInterferometer/SoftwareTutorial/index.html index a154c289d..a4c7e9cff 100644 --- a/docs/Toolboxes/DiscoveryInterferometer/SoftwareTutorial/index.html +++ b/docs/Toolboxes/DiscoveryInterferometer/SoftwareTutorial/index.html @@ -10,14 +10,14 @@ - +

    HIK-Camera Software Installation

    Install MVS App for Camera Utilization

    Camera model: MV-CE060-10UC. Visit the HIKROBOTICS website and download the MVS software suitable for your computer. Below are steps exemplifying the software installation for Mac.

    Install the downloaded file.

    Open the MVS Software.

    You should see the following window.

    Connect the camera. Refresh the USB line to detect the camera.

    Select the make-link button on the detected camera.

    The following window should be displayed.

    Click on the play button in the actions bar of the camera.

    If properly connected, you should see a real-time image. Adjust the exposure if the image is overexposed.

    To adjust the exposure time, go to the Feature tree, select the Acquisition Control Category, and change the Exposure Auto option to Continuous.

    Now, a clear image with good contrast should be visible.

    To stop recording, click on the stop button in the camera's actions bar.

    To disconnect the camera, click on the break-link button next to the detected camera in the USB devices list.

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryPhaseMicroscopy/DPCmicroscopy/index.html b/docs/Toolboxes/DiscoveryPhaseMicroscopy/DPCmicroscopy/index.html index d9b463ebc..7ddb95fc1 100644 --- a/docs/Toolboxes/DiscoveryPhaseMicroscopy/DPCmicroscopy/index.html +++ b/docs/Toolboxes/DiscoveryPhaseMicroscopy/DPCmicroscopy/index.html @@ -10,7 +10,7 @@ - + @@ -19,7 +19,7 @@

    Step 3: Build the DPC setup

    Substep 1

    Build the camera module as shown. It comprises of a tube lens and a Hikrobot Camera. Adjust the screw which binds the camera to the camera base plate to get the right distance between the camera and the tube lens.

    Substep 2

    Insert the non-kinematic mirror, the microscope objective in the fixed mount and the XYZ stage accordingly.

    Substep 3

    Build the illumination module which comprises of the LED array and the condenser lens as shown.

    Substep 4

    Finally, on top of the module built in substep 2 add the illimination module.

    Step 4: Adjust the Source-sample distance

    First, adjust the distance between the LED array and the condenser lens by placing them a focal distance (f = 50 mm) apart. This assures the plane wave illumination. Then, adjust the XYZ to the central positions. Adjust the Microscope objective position so that it matches roughly the working distance.

    Step 5: Focus on the sample

    Use Imswitch to turn one of the central LEDs, place a test sample to focus on it by coarse moving the microscope objective and finely tuning the height using the XYZ stage. Once it is in focus, adjust the distance from the condenser to the sample to be the focal length (f = 50 mm). In this geometry the LED array dimensions are near the match illumination condition. Hence, some LEDs illuminate at the objective NA (NAi = NAobj).

    Note: If your sample is transparent be careful not to crash the sample with the microscope objective! For more information about this experimental setup look at: 3D differential phase-contrast microscopy with computational illumination using an LED array.

    Example of illuminating sample with one half circle illumination. We should be able to see the phase gradient using oblique illumination. In the figure we can compare a defocused and focused image of a cheek cells sample.

    Step 6: Run the ImDPC experiment!

    Once you have focused on the sample, adjust the desired FoV. Now you are set. Click Start on the DPC widget!

    Congrats! You have created a DPC microscope with OpenUC2!

    DPC Images

    Using the reconstruction algorithm we can retrieve the phase of the sample.

    First test with the OpenUC2-DPC setup:

    In the animation you can compare the contrast that we can get with brightfield illumination and the DPC reconstruction generated by the four images taken with the half circle illumination.

    Taking a series of DPC images at different focal planes. Cropped DPC image of Unknown cells (top) and Cheek cells (bottom) captured with 0.25 NA microscope objective with 10x magnification.

    Left:Cropped DPC image captured with 0.17 NA microscope objective with 4x magnification.

    Reconstruction algorithm (Waller-Lab)

    The reconstruction algorithm works with the development of the Weak Object Transfer Function (WOTF). Using the code implemented by Waller (Waller-Lab/DPC), we are able to reconstruct the absorption and phase of the samples. Here we explain each step and implementation of the code using Imswitch.

    We are going to revise each part of the code and understand it.

    Acquisition

    We need four images corresponding to each half-circle illumination pattern. With a good exposure time for the camera to reduce noise. In the figure we can see an example of the four captured DPC images.

    We can correct the images using flatfield correction. Flatfield correction consists on taking an image without the sample, then we take the image to be corrected and divided by the flatfield image. This enables us to get rid of noise like dust on the camera, for instance.

    The code

    The code consist of a Jupyter notebook and one python script.

    Python script: dpc_algorithm.py

    This script contains the core algorithm to solve the DPC problem and from the four acquired images retrieve the phase.

    import numpy as np
    from scipy.ndimage import uniform_filter
    pi = np.pi
    naxis = np.newaxis
    F = lambda x: np.fft.fft2(x)
    IF = lambda x: np.fft.ifft2(x)

    def pupilGen(fxlin, fylin, wavelength, na, na_in=0.0):
    pupil = np.array(fxlin[naxis, :]**2+fylin[:, naxis]**2 <= (na/wavelength)**2)
    if na_in != 0.0:
    pupil[fxlin[naxis, :]**2+fylin[:, naxis]**2 < (na_in/wavelength)**2] = 0.0
    return pupil

    def _genGrid(size, dx):
    xlin = np.arange(size, dtype='complex128')
    return (xlin-size//2)*dx

    class DPCSolver:
    def __init__(self, dpc_imgs, wavelength, na, na_in, pixel_size, rotation, dpc_num=4):
    self.wavelength = wavelength
    self.na = na
    self.na_in = na_in
    self.pixel_size = pixel_size
    self.dpc_num = 4
    self.rotation = rotation
    self.fxlin = np.fft.ifftshift(_genGrid(dpc_imgs.shape[-1], 1.0/dpc_imgs.shape[-1]/self.pixel_size))
    self.fylin = np.fft.ifftshift(_genGrid(dpc_imgs.shape[-2], 1.0/dpc_imgs.shape[-2]/self.pixel_size))
    self.dpc_imgs = dpc_imgs.astype('float64')
    self.normalization()
    self.pupil = pupilGen(self.fxlin, self.fylin, self.wavelength, self.na)
    self.sourceGen()
    self.WOTFGen()

    def setTikhonovRegularization(self, reg_u = 1e-6, reg_p = 1e-6):
    self.reg_u = reg_u
    self.reg_p = reg_p

    def normalization(self):
    for img in self.dpc_imgs:
    img /= uniform_filter(img, size=img.shape[0]//2)
    meanIntensity = img.mean()
    img /= meanIntensity # normalize intensity with DC term
    img -= 1.0 # subtract the DC term

    def sourceGen(self):
    self.source = []
    pupil = pupilGen(self.fxlin, self.fylin, self.wavelength, self.na, na_in=self.na_in)
    for rotIdx in range(self.dpc_num):
    self.source.append(np.zeros((self.dpc_imgs.shape[-2:])))
    rotdegree = self.rotation[rotIdx]
    if rotdegree < 180:
    self.source[-1][self.fylin[:, naxis]*np.cos(np.deg2rad(rotdegree))+1e-15>=
    self.fxlin[naxis, :]*np.sin(np.deg2rad(rotdegree))] = 1.0
    self.source[-1] *= pupil
    else:
    self.source[-1][self.fylin[:, naxis]*np.cos(np.deg2rad(rotdegree))+1e-15<
    self.fxlin[naxis, :]*np.sin(np.deg2rad(rotdegree))] = -1.0
    self.source[-1] *= pupil
    self.source[-1] += pupil
    self.source = np.asarray(self.source)

    def WOTFGen(self):
    self.Hu = []
    self.Hp = []
    for rotIdx in range(self.source.shape[0]):
    FSP_cFP = F(self.source[rotIdx]*self.pupil)*F(self.pupil).conj()
    I0 = (self.source[rotIdx]*self.pupil*self.pupil.conj()).sum()
    self.Hu.append(2.0*IF(FSP_cFP.real)/I0)
    self.Hp.append(2.0j*IF(1j*FSP_cFP.imag)/I0)
    self.Hu = np.asarray(self.Hu)
    self.Hp = np.asarray(self.Hp)

    def solve(self, xini=None, plot_verbose=False, **kwargs):
    dpc_result = []
    AHA = [(self.Hu.conj()*self.Hu).sum(axis=0)+self.reg_u, (self.Hu.conj()*self.Hp).sum(axis=0),\
    (self.Hp.conj()*self.Hu).sum(axis=0) , (self.Hp.conj()*self.Hp).sum(axis=0)+self.reg_p]
    determinant = AHA[0]*AHA[3]-AHA[1]*AHA[2]
    for frame_index in range(self.dpc_imgs.shape[0]//self.dpc_num):
    fIntensity = np.asarray([F(self.dpc_imgs[frame_index*self.dpc_num+image_index]) for image_index in range(self.dpc_num)])
    AHy = np.asarray([(self.Hu.conj()*fIntensity).sum(axis=0), (self.Hp.conj()*fIntensity).sum(axis=0)])
    absorption = IF((AHA[3]*AHy[0]-AHA[1]*AHy[1])/determinant).real
    phase = IF((AHA[0]*AHy[1]-AHA[2]*AHy[0])/determinant).real
    dpc_result.append(absorption+1.0j*phase)

    return np.asarray(dpc_result)

    Jupyer notebook: main_dpc.ipynb

    With this Jupyter notebook you can test the DPC reconstruction algorithm using your own images!

    Import Modules

    %load_ext autoreload
    %autoreload 2
    %matplotlib notebook
    import numpy as np
    import matplotlib.pyplot as plt
    from os import listdir
    from skimage import io
    from mpl_toolkits.axes_grid1 import make_axes_locatable
    from dpc_algorithm import DPCSolver

    Load DPC Measurements

    data_path  = "../sample_data/" #INSERT YOUR DATA PATH HERE
    image_list = listdir(data_path)
    image_list = [image_file for image_file in image_list if image_file.endswith(".tif")]
    image_list.sort()
    dpc_images = np.array([io.imread(data_path+image_list[image_index]) for image_index in range(len(image_list))])
    #plot first set of measured DPC measurements
    f, ax = plt.subplots(2, 2, sharex=True, sharey=True, figsize=(6, 6))

    for plot_index in range(4):
    plot_row = plot_index//2
    plot_col = np.mod(plot_index, 2)
    ax[plot_row, plot_col].imshow(dpc_images[plot_index], cmap="gray",\
    extent=[0, dpc_images[0].shape[-1], 0, dpc_images[0].shape[-2]])
    ax[plot_row, plot_col].axis("off")
    ax[plot_row, plot_col].set_title("DPC {:02d}".format(plot_index))
    plt.show()

    Output (example):

    Set System Parameters

    wavelength     =  0.514 #micron
    mag = 40.0
    na = 0.40 #numerical aperture
    na_in = 0.0
    pixel_size_cam = 6.5 #pixel size of camera
    dpc_num = 4 #number of DPC images captured for each absorption and phase frame
    pixel_size = pixel_size_cam/mag
    rotation = [0, 180, 90, 270] #degree

    DPC Absorption and Phase Retrieval

    Initialize DPC Solver

    dpc_solver_obj = DPCSolver(dpc_images, wavelength, na, na_in, pixel_size, rotation, dpc_num=dpc_num)

    Visualize Source Patterns

    #plot the sources
    max_na_x = max(dpc_solver_obj.fxlin.real*dpc_solver_obj.wavelength/dpc_solver_obj.na)
    min_na_x = min(dpc_solver_obj.fxlin.real*dpc_solver_obj.wavelength/dpc_solver_obj.na)
    max_na_y = max(dpc_solver_obj.fylin.real*dpc_solver_obj.wavelength/dpc_solver_obj.na)
    min_na_y = min(dpc_solver_obj.fylin.real*dpc_solver_obj.wavelength/dpc_solver_obj.na)
    f, ax = plt.subplots(2, 2, sharex=True, sharey=True, figsize=(6, 6))
    for plot_index, source in enumerate(list(dpc_solver_obj.source)):
    plot_row = plot_index//2
    plot_col = np.mod(plot_index, 2)
    ax[plot_row, plot_col].imshow(np.fft.fftshift(dpc_solver_obj.source[plot_index]),\
    cmap='gray', clim=(0,1), extent=[min_na_x, max_na_x, min_na_y, max_na_y])
    ax[plot_row, plot_col].axis("off")
    ax[plot_row, plot_col].set_title("DPC Source {:02d}".format(plot_index))
    ax[plot_row, plot_col].set_xlim(-1.2, 1.2)
    ax[plot_row, plot_col].set_ylim(-1.2, 1.2)
    ax[plot_row, plot_col].set_aspect(1)

    Output (example):

    Visualize Weak Object Transfer Functions

    #plot the transfer functions
    f, ax = plt.subplots(2, 4, sharex=True, sharey=True, figsize = (10, 4))
    for plot_index in range(ax.size):
    plot_row = plot_index//4
    plot_col = np.mod(plot_index, 4)
    divider = make_axes_locatable(ax[plot_row, plot_col])
    cax = divider.append_axes("right", size="5%", pad=0.05)
    if plot_row == 0:
    plot = ax[plot_row, plot_col].imshow(np.fft.fftshift(dpc_solver_obj.Hu[plot_col].real), cmap='jet',\
    extent=[min_na_x, max_na_x, min_na_y, max_na_y], clim=[-2., 2.])
    ax[plot_row, plot_col].set_title("Absorption WOTF {:02d}".format(plot_col))
    plt.colorbar(plot, cax=cax, ticks=[-2., 0, 2.])
    else:
    plot = ax[plot_row, plot_col].imshow(np.fft.fftshift(dpc_solver_obj.Hp[plot_col].imag), cmap='jet',\
    extent=[min_na_x, max_na_x, min_na_y, max_na_y], clim=[-.8, .8])
    ax[plot_row, plot_col].set_title("Phase WOTF {:02d}".format(plot_col))
    plt.colorbar(plot, cax=cax, ticks=[-.8, 0, .8])
    ax[plot_row, plot_col].set_xlim(-2.2, 2.2)
    ax[plot_row, plot_col].set_ylim(-2.2, 2.2)
    ax[plot_row, plot_col].axis("off")
    ax[plot_row, plot_col].set_aspect(1)

    Output (example):

    Solve DPC Least Squares Problem

    #parameters for Tikhonov regurlarization [absorption, phase] ((need to tune this based on SNR)
    dpc_solver_obj.setTikhonovRegularization(reg_u = 1e-1, reg_p = 5e-3)
    dpc_result = dpc_solver_obj.solve()
    _, axes  = plt.subplots(1, 2, figsize=(10, 6), sharex=True, sharey=True)
    divider = make_axes_locatable(axes[0])
    cax_1 = divider.append_axes("right", size="5%", pad=0.05)
    plot = axes[0].imshow(dpc_result[0].real, clim=[-0.15, 0.02], cmap="gray", extent=[0, dpc_result[0].shape[-1], 0, dpc_result[0].shape[-2]])
    axes[0].axis("off")
    plt.colorbar(plot, cax=cax_1, ticks=[-0.15, 0.02])
    axes[0].set_title("Absorption")
    divider = make_axes_locatable(axes[1])
    cax_2 = divider.append_axes("right", size="5%", pad=0.05)
    plot = axes[1].imshow(dpc_result[0].imag, clim=[-1.0, 3.0], cmap="gray", extent=[0, dpc_result[0].shape[-1], 0, dpc_result[0].shape[-2]])
    axes[1].axis("off")
    plt.colorbar(plot, cax=cax_2, ticks=[-1.0, 3.0])
    axes[1].set_title("Phase")

    Output (example):

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryPhaseMicroscopy/index.html b/docs/Toolboxes/DiscoveryPhaseMicroscopy/index.html index 48ba2c05b..626de6e3d 100644 --- a/docs/Toolboxes/DiscoveryPhaseMicroscopy/index.html +++ b/docs/Toolboxes/DiscoveryPhaseMicroscopy/index.html @@ -10,13 +10,13 @@ - + - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryPolarization/APP_POL_Brewster_Angle_Experiment/index.html b/docs/Toolboxes/DiscoveryPolarization/APP_POL_Brewster_Angle_Experiment/index.html index f75d63d97..5ff044a94 100644 --- a/docs/Toolboxes/DiscoveryPolarization/APP_POL_Brewster_Angle_Experiment/index.html +++ b/docs/Toolboxes/DiscoveryPolarization/APP_POL_Brewster_Angle_Experiment/index.html @@ -10,7 +10,7 @@ - + @@ -20,7 +20,7 @@ The amount of reflected light is specified by the optical properties of the reflecting surface, such as plastic sheets, glass, or highways.
    The incident angle of the incoming electromagnetic lightwave and refractive indices of media in which light travels through them have an essential role in the polarization degree of the reflected and refracted polarized light beams.

    You can see the reflection and transmission of unpolarized light with most of the incident angle (𝜃) values below.

    What is the Brewster angle?

    When the incident ray travels from a less dense medium (n1) to a higher dense medium (n2) with a critical angle (𝜃_B), the reflected ray is perfectly s-polarized in which the orientation of the electric field vectors are perpendicular to the plane of incidence. Otherwise, the refracted beam has a 90-degree polarization angle, partially p-polarized. This critical angle is called a Brewster angle or polarization angle and is represented by 𝜃_B in the scheme below.

    Brewster angle can be easily calculated using refractive indices of traveling media of light. In our experiment, we used air (n1 = 1) as the first medium in which light comes first and reflects in this part and microscope slide glass (n2 = 1.5) as the second medium, and the light transmits through. When we calculate the Brewster angle for our experiment, it equals approximately 57 degrees, and we can find the equation below.

    Parts

    Modules for this setup

    NamePropertiesPriceLink#
    4×4 BaseplateSkeleton of the System21.79 €Base-plate1
    MODULE: Polarizer CubeIt holds the linearly polarizing filter4.31 €Linear Polarizer1
    MODULE: Kinematic Microscope Slide HolderIt is used to insert the microscope slide with Brewster angle (53 degrees)3.7 €Microscope Slide Holder1
    MODULE: Laser CubeLASER source holder17.68 €Light Source 1
    EXTRA MODULE: Screen Holder CubeIt holds the Display Screen (Not Used in Practice)1 €Screen1

    Parts to print

    Additional components

    • Check out the RESOURCES for more information!
    • 1 × Linear Polarizing Sheet 🢂
    • 67 × 5 mm Ball magnets 🢂
    • 28 x Screws DIN912 ISO 4762 - M3×12 mm 🢂
    • 3 x Screws DIN912 ISO 4762 M2×16 mm 🢂
    • Microscope Rectangular Coverslips 🢂
    • 1 × 5 mW Blue UV Laser Pointer 🢂

    Assembly

    All necessary parts to assemble a Microscope Slide Glass Holder Module be gathered in the image below:

    Results

    Brewster's angle experiment setup can be prepared easily. After printing and assembling the module parts, we try to find a critical angle or Brewster's angle as much as we can.

    In this setup, we use LASER as a light source because it is easier to observe the polarization degree changes by reflection. As a first step, LASER light beams reflect from microscope slide glass and pass through a linear polarizer. Then a piece of paper is inserted on the sample holder comb. Finally, we can observe the totally polarized reflected light.

    We should make a good alignment to find the Brewster angle as the incidence angle of the incoming light. In practice, it is hard because of using screws, we could not find the exact incidence angle of a microscope slide. Nevertheless, I could take results that are almost perfectly polarized light after reflection in almost critical angle.
    You can see the reflected laser light beam without alignment at a random incident angle above.

    In the image below, the incoming beam is reflected with almost Brewster angle, 57 degrees for microscope slide glass:

    Let's look at our almost perfectly polarized light by reflection experiment video records. The orientation direction of the linear polarizer only changes in 1st and 2nd videos, and we see that reflected light is totally polarized almost. The light is blocked, and we can see almost no light after the polarizer when the orientation of the linear polarizer is perpendicular to the polarization orientation of the reflected beam.

    New Ideas

    We are open to new ideas. Please contribute to the project freely, this place is a free country which is built by codes and machines :robot:

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryPolarization/APP_POL_Circular_Polarizer/index.html b/docs/Toolboxes/DiscoveryPolarization/APP_POL_Circular_Polarizer/index.html index c653f332c..6711dfa0c 100644 --- a/docs/Toolboxes/DiscoveryPolarization/APP_POL_Circular_Polarizer/index.html +++ b/docs/Toolboxes/DiscoveryPolarization/APP_POL_Circular_Polarizer/index.html @@ -10,7 +10,7 @@ - + @@ -21,7 +21,7 @@ The incoming light passes through a linear polarizer (grey UC2 cube). In the next step, new demonstrated linearly polarized light travels to the circular polarizer module (black UC2 cube). When an observer looks from the circular polarizer side, she/he can see the circularly polarized light.

    The circular polarizer filter was taken out of 3D cinema glasses, and it was inserted into a sample holder insert. This new circular polarizer filter insert was assembled with a UC2 unit block. Ta-da! The circular polarizer cube is ready for flight.

    The effect of the propagation direction of the linear polarizer can be seen in the video below. The polarization direction of light before the circular polarizer changes with turning the wheel of the linear polarizer and changing its orientation.

    New Ideas

    Dear Visitor,
    you have an opportunity to view our experiments. If you have a new idea, just open a new issue and shine our eyes with your light.
    Greetings from UC2 Team

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryPolarization/APP_POL_Crossed_Polarizers/index.html b/docs/Toolboxes/DiscoveryPolarization/APP_POL_Crossed_Polarizers/index.html index e4330908f..262e1103c 100644 --- a/docs/Toolboxes/DiscoveryPolarization/APP_POL_Crossed_Polarizers/index.html +++ b/docs/Toolboxes/DiscoveryPolarization/APP_POL_Crossed_Polarizers/index.html @@ -10,7 +10,7 @@ - + @@ -18,7 +18,7 @@

    Crossed Polarizers

    Crossed Polarizers are used to analyze the polarization of light. We use two linear polarizers, which are located perpendicular to each other. [1]

    In the experiment, the polarizing direction of the first polarizer is oriented vertically to the incoming beam, and it will allow passing only vertical electric field vectors. After the first polarizer, we have an s-polarized light wave. [2]

    The second polarizer is located horizontally to the electric field vector. It blocks the wave which passes through the first polarizer. These two polarizers should be oriented at the right angle with respect to each other. You can see the orientation of the linear filters and light polarization change during the experiment in the figure below.

    Time to build a Crossed Polarizers setup!

    Parts

    Modules for this setup

    NamePropertiesPriceLink#
    4×1 BaseplateSkeleton of the System5.47 €Base-plate1
    MODULE: Polarizer CubeIt holds the linearly polarizing filter8.62 €Linear Polarizer2
    EXTRA MODULE: Sample Holder CubeIt holds the Sample (Not Used in Practice)1.3 €Sample Holder1
    EXTRA MODULE: Screen Holder CubeIt holds the Display Screen (Not Used in Practice)1 €Screen1
    EXTRA MODULE: Flashlight Lamp CubeLight Source7.2 €Flashlight1

    Parts to print

    Additional components

    • Check out the RESOURCES for more information!
    • 1 × Linear Polarizing Sheet 🢂
    • 16 × 5 mm Ball magnets 🢂
    • 16 x Screws DIN912 ISO 4762 - M3×12 mm 🢂
    • 6 x Screws DIN912 ISO 4762 M2×16 mm 🢂
    • NOT USED 1 × flashlight 🢂

    Assembly

    If all written modules are used in the experiment, the setup will look like:

    Results

    We printed and assembled two Linear Polarizer module parts. Then, we bought the necessary components and inserted them into cubes.
    You will find the basic version of Crossed Polarization experiment without a specific sample and additional light source below. We demonstrated the experiment with a room light.

    We can observe the direct effect of the angle between two linear polarizers in the video below. The intensity of passing light through crossed polarizers changes when the direction angle of the polarization filter changes 360 degrees.

    New Ideas

    We are open to new ideas. Please contribute to the project freely, this place is a free country which is built by codes and machines :robot:

    References

    [1] Introduction to Polarized Light. (n.d.). Nikon’s MicroscopyU. Retrieved February 15, 2021, from https://www.microscopyu.com/techniques/polarized-light/introduction-to-polarized-light
    [2] Logiurato, F. (2018). Teaching Light Polarization by Putting Art and Physics Together. The Physics Teachers, 1–5. https://arxiv.org/ftp/arxiv/papers/1803/1803.09645.pdf

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryPolarization/APP_POL_Many_Microscope_Slides_Experiment/index.html b/docs/Toolboxes/DiscoveryPolarization/APP_POL_Many_Microscope_Slides_Experiment/index.html index 8db6bc7ef..2c0e3d816 100644 --- a/docs/Toolboxes/DiscoveryPolarization/APP_POL_Many_Microscope_Slides_Experiment/index.html +++ b/docs/Toolboxes/DiscoveryPolarization/APP_POL_Many_Microscope_Slides_Experiment/index.html @@ -10,7 +10,7 @@ - + @@ -19,7 +19,7 @@ The printed and assembled Sample Holder Comb module with nine microscope glasses:

    You will find the basic version of the experiment without a Screen adn Linear Polarizer module below.

    Images of the resulting experimental setup;
    side view (top) , top view (bottom)

    We can observe the direct effect of the rotational angle of the linear polarizer in the video below. Laser light travels to microscope slides and air gap media several times and gets close to fully polarized light. We can see this effect eith adding Linear Polarizer cube.
    The intensity of passing light through linear polarizer changes when the direction angle of the polarization filter changes 360 degrees.

    We can see the change with two videos below. They demonstrates the experiment from two different views.

    New Ideas

    Rat-Tat! We are here to hear new ideas. Please don't shy and have a heart-to-heart talk with us. 💝

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryPolarization/APP_POL_Newtons_Rings_Experiment/index.html b/docs/Toolboxes/DiscoveryPolarization/APP_POL_Newtons_Rings_Experiment/index.html index 5e97b4226..252d4f71b 100644 --- a/docs/Toolboxes/DiscoveryPolarization/APP_POL_Newtons_Rings_Experiment/index.html +++ b/docs/Toolboxes/DiscoveryPolarization/APP_POL_Newtons_Rings_Experiment/index.html @@ -10,13 +10,13 @@ - +

    Newton's Rings Experiment

    Soap bubbles, oil slicks, or oxidized metal surfaces can create interference patterns under the white light illumination. In Newton's fringes, light reflects as a constructively or destructively interfered when the light waves travel through two surfaces. These combinations can be created using glass-air or air-glass contacts. These two interferences generate a concentric ring pattern of rainbow colours in white light illumination. In the same way, monochromatic light creates dark-light rings.

    The simplest example can be made using two well-cleaned microscope slides as interfaces. Air film is enclosed between two slides inconsistently, and irregular-coloured fringes are generated under the daily light. When the pressure on the microscope slides changes, fringes move and change.

    In the Newton's Rings Experiment, we used a convex lens whose surface is placed on an optical plane glass, a microscope glass, from its long focal length side. These two pieces are held together with non-uniform thin air film. After light illumination through these surfaces,the air gap and random pressures on the microscope slide and plano-convex lens cause the generation of irregular coloured or single-colour fringes; Newton's Rings.

    The details of Experiment Modules

    Linear Polarizer is used in this experiment to visualize the polarization change of reflected lights from two media on the interference pattern.

    Additional module design was made for combining the microscope glass slide and plano-convex lens inside one cube insert. You can see rendered image of the Newton's Rings Lens-Slide Holder Module from Inventor.

    s

    We used laser as a light souce in the setup. During the experiment, we extended beam size of the pen laser from 2 mm to 6 mm using a regular Beam Expander Module.

    Parts

    Modules for this setup

    NamePropertiesPriceLink#
    4×4 BaseplateSkeleton of the System21.79 €Base-plate1
    MODULE: Beam Expander CubeIt expands the laser beam size13.55 €Beam Expander1
    MODULE: Beam Splitter CubeIt splits the incoming beam and recombine them29.17 €Beam Splitter Holder1
    MODULE: Newton's Rings Slide-Lens Holder CubeIt creates Newton's Rings7.54 €Lens - Slide Holder1
    MODULE: Polarizer CubeIt holds the linearly polarizing filter4.31 €Linear Polarizer1
    MODULE: Laser CubeLASER source holder17.68 €Light Source1
    EXTRA MODULE: Screen Holder CubeIt holds the Display Screen (Not Used in Practice)1 €Screen1

    Parts to print

    Additional components

    • Check out the RESOURCES for more information!
    • 1 × Linear Polarizing Sheet 🢂
    • 64 × 5 mm Ball magnets 🢂
    • 44 x Screws DIN912 ISO 4762 - M3×12 mm 🢂
    • 3 x Screws DIN912 ISO 4762 M2×16 mm 🢂
    • 1 x Beamsplitter Cube (Art. 2137) 🢂
    • 1 x Microscope Rectangular Coverslips 🢂
    • 1 x Plano-Convex Lens 🢂
    • 1 × 5 mW Blue UV Laser Pointer 🢂
    • 1 x iPhone 5 Lens f'=3mm (separated from an iPhone camera spare part) 🢂
    • 1 x Achromat Lens f' = 26,5 mm 🢂

    Assembly

    Results

    We started with building of UC2 Modules: design, print, assemble and be ready for testing. You can see our Beam Expander Cube on the 4x1 Baseplate below.

    Lens - Slide Holder Module is the key element for the generation of Newton's Rings. Necessary Module parts are shown in the image below.

    Assembled and Ready-To-Use module should look like ...

    The experimental procedure begins with

    • installation the Laser and Beam Expander Modules on the 4x4 Baseplate.

    • After checking the expansion of the laser beam width, Beam Splitter Cube is added to the setup.

    • One of the divided incoming beams is directed to the Newton's Rings Lens & Microscope Holder cube, and light reflects from the convex lens-plate glass combination through the beam splitter cube, then on observation screen.

    Demonstrating the experiment is much easier with a laser light source and results in visible fringes. The Newton's Fringes will vary in colour from inner to outer circles if a white light source is replaced with a laser source.

    Let's zoom in Newton's Fringes with more experiment images!

    The effect of the polarization angle change of the Linear Polarizer Filter can be seen in the video.

    New Ideas

    We are open to new ideas. Please contribute to the project freely, this place is a free country which is built by codes and machines :robot:

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryPolarization/APP_POL_Polarization_using_optically_active_solution/index.html b/docs/Toolboxes/DiscoveryPolarization/APP_POL_Polarization_using_optically_active_solution/index.html index 258780e9f..596a02518 100644 --- a/docs/Toolboxes/DiscoveryPolarization/APP_POL_Polarization_using_optically_active_solution/index.html +++ b/docs/Toolboxes/DiscoveryPolarization/APP_POL_Polarization_using_optically_active_solution/index.html @@ -10,14 +10,14 @@ - +

    Polarization Experiment using Optically Active Solution

    The optical activity was discovered by Arago in the quartz in 1811. In 1847, molecular chirality was observed by scientist Louis Pasteur. He found that natural tartaric acid is optically active, and its external crystals have isomerism and chiral morphology [1].

    Two molecules with the same chemical formula, the mirror image of the other, describe molecular chirality. These come in two varieties: dextrorotatory (rotate plane-polarized light clockwise) and levorotatory (counterclockwise).

    Sucrose is a disaccharide made of glucose and fructose and dextrorotatory, which rotates the plane-polarized light to the right. A well-known example of sucrose is table sugar produced naturally in plants. Fructose is a simple ketonic sugar and levorotatory which rotates the plane-polarized light to the left. Glucose is a simple sugar that belongs to the carbohydrate family and is dextrorotatory. The molecules of fructose and glucose are mirror images of each other. Corn syrup is one of the most commonly used sugar solutions [2].

    Two simple sugar-water solutions were prepared and used in the experiment. The first solution was produced with one cup of table sugar and one cup of water. Table sugar is sucrose and dextrorotatory, turning clockwise to the right plane-polarized light. Grape sugar is dextrorotatory and glucose, and the second solution mixes grape sugar (Traubenzucker) and water components in the same amount. It rotates the incoming light polarization state to the right, clockwise direction. However, two solutions have different polarization states at the same time because of their molecular structure and demonstrate different colors inside the crossed polarizers.

    s

    In the image, Table sugar-water solution is shown in left-side, Grape sugar-water solution is in the right glass.

    Parts

    Modules for this setup

    NamePropertiesPriceLink#
    4×1 BaseplateSkeleton of the System5.47 €Base-plate1
    MODULE: Polarizer CubeIt holds the linearly polarizing filter8.62 €Linear Polarizer2
    MODULE: Active Solution ChamberIt contains sugar-water solutions.7.32 €Active Solution Chambers1
    EXTRA MODULE: Flashlight Lamp CubeLight Source7.2 €Flashlight1

    Parts to print

    Additional components

    • Check out the RESOURCES for more information!
    • 1 × Linear Polarizing Sheet 🢂
    • 24 × 5 mm Ball magnets 🢂
    • 20 x Screws DIN912 ISO 4762 - M3×12 mm 🢂
    • 6 x Screws DIN912 ISO 4762 M2×16 mm 🢂
    • 2 x metal plates
    • Microscope Rectangular Coverslips 🢂
    • NOT USED 1 × flashlight 🢂

    Assembly

    Results

    We printed and assembled two Linear Polarizer and Active Solution Chamber module parts. Then, we bought the necessary components and inserted them into cubes.
    You can see the datils of the Active Solution Chamber designs.

    Two different chamber design is shown in the image below. Left-side chamber has a container only for 1 active solution. In the other one, two different mixtures can be observed in the same time.

    You can find the basic version of Polarization Using Optically Active Solution experiment with an additional flashlight source below. Depends on the experiment place conditions, you can add an extra light source.

    The chamber module was inserted between two linear polarizers, the Crossed Polarizers. We can observe the direct effect of the angle between two linear polarizers in the video below. The intensity of passing light through crossed polarizers changes when the direction angle of the polarization filter changes 360 degrees.

    Experimental result of two optically active solutions is shown in the video:

    • Left Is Grape Sugar-water Solution (Glucose) Table,
    • Right Is Sugar-water Solution (Sucrose

    References

    [1] Gal, J. (2017). Pasteur and the art of chirality. Nature Chemistry, 9(7), 604–605. https://doi.org/10.1038/nchem.2790

    [2] Logiurato, F. (2018). Teaching Light Polarization by Putting Art and Physics Together. The Physics Teachers, 1–5. https://arxiv.org/ftp/arxiv/papers/1803/1803.09645.pdf

    New Ideas

    We are open to new ideas. Please contribute the project freely, this place is a free country which is built by codes and machines :robot:

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryPolarization/APP_POL_Stress_Birefringence/index.html b/docs/Toolboxes/DiscoveryPolarization/APP_POL_Stress_Birefringence/index.html index 5e6e7a30e..967353759 100644 --- a/docs/Toolboxes/DiscoveryPolarization/APP_POL_Stress_Birefringence/index.html +++ b/docs/Toolboxes/DiscoveryPolarization/APP_POL_Stress_Birefringence/index.html @@ -10,7 +10,7 @@ - + @@ -19,7 +19,7 @@ Birefringence is the optical property of a material that has a dependent refractive index to polarization and propagation direction of light. These optically anisotropic materials are said to be birefringent.

    In general, birefringence is the double refraction of light. Each incoming light through the birefringent material such as calcite crystal is split by polarization into two rays; an ordinary and an extraordinary ray. These rays have different paths and polarizations.

    Common birefringent materials are;

    * best characterized birefringent materials are crystals
    * many plastics under mechanical stress such as cellophane or plastic boxes
    * many biological materials such as collagen, found in cartilage, tendon, bone, corneas, and several other areas in the body or some proteins.
    Polarized light microscopy is commonly used in biological tissue.

    Birefringence is used in many optical and medical devices. In medical applications, it can be used for the measurement of the optical nerve thickness or the diagnosis of glaucoma.

    Well then, what is the connection with polarization?

    Let's think. You ordered a new T-shirt from Amazon. You tried it and liked it. How beautiful! But wait. You can use a plastic cargo package for a polarization experiment and demonstrate the stress birefringence of a plastic sheet easily. Yesss, you can make science using 'garbage' too.
    Let's look at that more closely!

    Polarizers are frequently used to detect stress in plastics; birefringence. In this experiment, we use basic materials from our daily life as samples and see birefringence with our naked eyes. Let's collect simple objects such as plastic boxes, plastic cutlery (Image 1) or plastic packages. Even we can prepare our own birefringent object (Image 2) using a plastic punched pocket and sticky tape.

    Image 1 :

    Image 2:

    Stress Birefringence

    Stress birefringence results with stressed or deformation of isotropic materials and applying stressed causes a loss of physical isotropy and generates birefringence.

    How can stress be applied? Externally or as another method can be used. A birefringent plastic object is manufactured using injection molding and is cooled.

    Parts

    Modules for this setup

    NamePropertiesPriceLink#
    4×1 BaseplateSkeleton of the System5.47 €Base-plate1
    MODULE: Polarizer CubeIt holds the linearly polarizing filter8.62 €Linear Polarizer2
    MODULE: Sample Holder CubeIt holds the Birefringent Samples3.47 €Sample Holder1
    EXTRA MODULE: Screen Holder CubeIt holds the Display Screen (Not Used in Practice)1 €Screen1
    EXTRA MODULE: Flashlight Lamp CubeLight Source7.2 €Flashlight1

    Parts to print

    Additional components

    • Check out the RESOURCES for more information!
    • 1 × Linear Polarizing Sheet 🢂
    • 16 × 5 mm Ball magnets 🢂
    • 24 x Screws DIN912 ISO 4762 - M3×12 mm 🢂
    • 6 x Screws DIN912 ISO 4762 M2×16 mm 🢂
    • Birefringent Materials or Samples
    • NOT USED 1 × flashlight 🢂

    Assembly

    If all written modules are used in the experiment, the setup will look like:

    Results

    You will find the basic version of the Stress Birefringence experiment without an extra light source and sample holder below.
    A sample is placed into the Crossed Polarizers in the setup, and color patterns can be observed clearly. The polarization of a light ray is rotated after passing through a birefringent material and the amount of rotation is dependent on wavelength.

    The printed cube parts were assembled and the result images of experiences were taken for 3 different birefringent materials.

    In the 1st Experiment, we prepared our sample using a plastic punched pocket and randomly applied sticky tape on it.

    In the 2nd Experiment, we used a plastic piece as a sample for the setup.

    In the 3rd Experiment, plastic cutlery was used.

    New Ideas

    Rat-Tat! We are here to hear new ideas. Please don't shy and have a heart-to-heart talk with us. 💝

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryPolarization/APP_POL_Three_Polarizers/index.html b/docs/Toolboxes/DiscoveryPolarization/APP_POL_Three_Polarizers/index.html index 3368e582c..1b0376811 100644 --- a/docs/Toolboxes/DiscoveryPolarization/APP_POL_Three_Polarizers/index.html +++ b/docs/Toolboxes/DiscoveryPolarization/APP_POL_Three_Polarizers/index.html @@ -10,7 +10,7 @@ - + @@ -20,7 +20,7 @@ Some light will pass through three polarizers if we add a third polarizer between these two crossed polarizers.

    In the Three Linear Polarizers setup, the amount of light passing through the polarizers can be calculated by the Law of Malus, cosine-squared law.

    I : the intensity of passing light through polarizers (total amount of passing light into three polarizers setup)
    I(0) : the intensity of incoming light
    θ : the angle between the transmission axes of two polarizers

    The polarization direction of the first polarizer is oriented vertically to the incoming beam at 0 degrees. Incoming unpolarized light passes through the first polarizer (linear s-polarized). After the first polarizer, the vertically polarized light travels to the second linear polarizer, which is rotated by 45 degrees to the first polarizer. Then the traveling light passes through the third polarizer (linear p-polarized), oriented at 90 degrees tilted for the first polarizer. Due to the orientation angle of each linear polarizer, transmitted light intensity changes based on the Law of Malus.

    Three linear polarizers are used in the experiment, and each of them has different angles concerning the transmission axis.

    Parts

    Modules for this setup

    NamePropertiesPriceLink#
    4×1 BaseplateSkeleton of the System5.47 €Base-plate1
    MODULE: Polarizer CubeIt holds the linearly polarizing filter13.43 €Linear Polarizer3
    EXTRA MODULE: Sample Holder CubeIt holds the Sample (Not Used in Practice)1.3 €Sample Holder1
    EXTRA MODULE: Screen Holder CubeIt holds the Display Screen (Not Used in Practice)1 €Screen1
    EXTRA MODULE: Flashlight Lamp CubeLight Source7.2 €Flashlight1

    Parts to print

    Additional components

    • Check out the RESOURCES for more information!
    • 1 × Linear Polarizing Sheet 🢂
    • 16 × 5 mm Ball magnets 🢂
    • 24 x Screws DIN912 ISO 4762 - M3×12 mm 🢂
    • 9 x Screws DIN912 ISO 4762 M2×16 mm 🢂
    • NOT USED 1 × flashlight 🢂

    If all written modules are used in the experiment, the setup will look like:

    Assembly

    Results

    The basic version of the Three Polarizers experiment without a specific sample and extra light source below is demonstrated. You can see the experiment images below.

    The effect of the angle between two linear polarizers can be seen in the video below. The intensity of passing light on the eye of the observer through the polarizers changes when the wheel insert of polarization filter wheeled 45 angles.

    New Ideas

    We are open to new idea source (dad joke about the open-source project 😐 ). Just open a new issue and spread your idea!

    - + \ No newline at end of file diff --git a/docs/Toolboxes/DiscoveryPolarization/index.html b/docs/Toolboxes/DiscoveryPolarization/index.html index 6ee3d079e..d5ed70ac6 100644 --- a/docs/Toolboxes/DiscoveryPolarization/index.html +++ b/docs/Toolboxes/DiscoveryPolarization/index.html @@ -10,13 +10,13 @@ - + - + \ No newline at end of file diff --git a/docs/Toolboxes/index.html b/docs/Toolboxes/index.html index c641d7955..5b23083ab 100644 --- a/docs/Toolboxes/index.html +++ b/docs/Toolboxes/index.html @@ -10,13 +10,13 @@ - +

    Educational Kits

    CoreBox: Entry-Level Education Box

     - Features and Specifications
    - Assembling the CoreBox
    - Core Lens, Telescope, and Microscope

    Discovery Kit: Extension of CoreBox

     - Adding Modules to the Discovery Kit
    - Enhanced Functionality

    Interferometer Kit

     - You can build a Michelson Interferometer
    - Try enhancing it to become a MAch Zhender Microscope
    - Ultimatively test the microscope extension and reconstruct images using holography
    -
    - + \ No newline at end of file diff --git a/docs/WORKSHOPS/Workshop Nigeria/index.html b/docs/WORKSHOPS/Workshop Nigeria/index.html index ef672f501..7aeb22204 100644 --- a/docs/WORKSHOPS/Workshop Nigeria/index.html +++ b/docs/WORKSHOPS/Workshop Nigeria/index.html @@ -10,13 +10,13 @@ - +

    UC2 Microscopy Building Workshop at BioRTC Yobe University, Nigeria

    Welcome to the UC2 Microscopy Workshop! 📷🔬

    If you've ever been curious about the fascinating world of microscopy, you're in the right place! In this workshop, we will take you on a journey through the core concepts of microscopy, starting with lenses and interferometry, where you'll learn how different waves superpose to create powerful imaging techniques.

    Our approach centers around the open-source modular toolbox, UC2. This revolutionary system is built on the idea that every optical, mechanical, or electrical component can be mounted inside a compact 50mm cube. With a wide variety of components already available in our extensive library, you'll have the flexibility to design and build your own optical setups, limited only by your creativity.

    We'll kick off the workshop with the fully lensless microscope, utilizing just an LED, spatial filter, sample, and camera sensor. As we progress, you'll upgrade to a finite corrected objective lens, improving the resolution and focusing capabilities on the camera chip. We'll explore different microscopy techniques, including directional microscopy and light sheet microscopy, where the alignment of light enhances optical resolution along the axis.

    The heart of our workshop is the UC2-produced microscope, aptly named "sub." Although basic, it is the perfect tool to grasp the fundamental concepts of microscopy. From there, the possibilities are limitless as you delve into designing and printing specific inserts to adapt the system for your experiments.

    The UC2 system was born out of a quest for a small, affordable microscope for lifestyle microscopy imaging inside an incubator. As it evolved, we expanded its modularity, adding different contrast mechanisms and extensions like fluorescence and more. The success of this open-source initiative has been demonstrated through various publications, showcasing its applications in structured illumination microscopy, focal microscopene, and beyond.

    Our mission is to bridge the gap between education and real-world applications, providing a platform where anyone, regardless of experience, can get creative with optics. We strive to make microscopy accessible and affordable for all, and we are excited to announce the birth of our company, now headquartered in Gina, as we embark on a journey to revolutionize microscopy.

    So, if you're ready to dive into the world of microscopy, join us in this workshop as we build and enhance simple microscopes, bring them to life with software and image processing, and unlock the incredible potential of UC2 and open-source hardware.

    Let's embark on this adventure together! Happy exploring! 🚀✨

    Inline Holographic Microscope:

    Simple SEEED ESP32S3 Xiao Sense-based microscope:

    Michelson Interferometer:

    Light-sheet microscope:

    - + \ No newline at end of file diff --git a/docs/WORKSHOPS/index.html b/docs/WORKSHOPS/index.html index bf236c299..fbf46661b 100644 --- a/docs/WORKSHOPS/index.html +++ b/docs/WORKSHOPS/index.html @@ -10,13 +10,13 @@ - +

    openUC2 Workshops

    From time to time we try to share our knowledge in various formats. If you want to learn more how you can have an openUC2 workshop near you, please contact us! We would be happy to introduce you into the world of open optics.

    - + \ No newline at end of file diff --git a/docs/intro/index.html b/docs/intro/index.html index 0ab91fc36..e7fbb8f1e 100644 --- a/docs/intro/index.html +++ b/docs/intro/index.html @@ -10,13 +10,13 @@ - +

    openUC2 Documentation

    Here you can find all information to enhance, repair, improve, use, communicate,.... our optical toolbox openUC2. Did not find what you were looking for? No problem. Send us a mail or write an issue in our github repository https://github.com/openUC2/UC2-GIT/issues.

    TopicDescription
    Geometrical Optics [EN, DE]
    Wave Optics [EN]
    Microsocpy [EN, DE]
    Telescope [EN, DE]
    Electronics (BOX) [EN]
    Electronics (PCB) [EN]
    ImSwitch [EN]
    Light-Sheet Microscopy [EN]
    STORM Microscopy [EN]
    openUC2 FiveD [EN]
    Workshops [EN]]
    Production [EN]
    - + \ No newline at end of file diff --git a/index.html b/index.html index a0d660c2d..164e91891 100644 --- a/index.html +++ b/index.html @@ -10,13 +10,13 @@ - +

    openUC2 Documentation

    Seeing is believing. But better with the docs!

    Learning Kits (Explorer/Discovery)

    Learning Kits (Explorer/Discovery)

    Step by step guides to learn everything about optics.

    Cutting the Edge! (Investigator)

    Cutting the Edge! (Investigator)

    Get the most of your ready-to-use microscopes.

    Anything else.

    Anything else.

    Anything that is yet missing.

    - + \ No newline at end of file diff --git a/markdown-page/index.html b/markdown-page/index.html index a889e43f8..9de0b5abe 100644 --- a/markdown-page/index.html +++ b/markdown-page/index.html @@ -10,13 +10,13 @@ - +

    Markdown page example

    You don't need React to write simple standalone pages.

    - + \ No newline at end of file diff --git a/search/index.html b/search/index.html index 6e492603e..eabafd1ed 100644 --- a/search/index.html +++ b/search/index.html @@ -10,13 +10,13 @@ - +

    Search the documentation

    - + \ No newline at end of file

    Zv^(%Y?OQErR? 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%0D5fj)e^UnauN7qucmf!KO@CGt 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 j4M1r-!`{D%(mIbW{j+~axaJKh{+oB@sNPx~K$ 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℘-3KL2PE||xw|Ir*?$d_G2Iw<(AQ7q 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