Below is a short video introducing the Triggerscope Mini, as well as demonstrating how to set it up in micromanager.
If you’re in a hurry, I’ve also outlined the basic steps below with screen shots.
Connect the triggerscope mini to a USB-2 compliant port, via it’s USB C connection cable (included).
Open micromanager, select the device configuration wizard, and browse to the add device page.
Scroll the device list until you see “Triggerscope-MM” expand that and select the -Hub device.
A window will appear, set the COM port to the port used by the triggerscope mini, and set the baud to 115,200, then click OK.
After a few seconds, a list of components will appear. Note this is for the full triggerscope, so we will only choose the TTL 1-8 Bank, and DAC 1 + DAC 2. Below is a basic chart showing what devices are supported on the mini vs the standard triggerscope.
When prompted for the DAC voltages, only select 0-5V (default), and click OK.
That’s it! Follow the manager to complete the install. Once done, you’ll have the common TTL output control, DAC control, blanking, sequencing and other features of a standard triggerscope!
I wrote this for a client, but figured others could make use of it. This code simply captures a number of images as defined by the user, and saves them to the specified folder without displaying them. This is useful if you don’t want all of the images open in memory during a timelapse.
Here’s a simple method to deal with varying intensities in a large run of images, assuming you have a known number of cells in a field. If I assume I should see, say, more than X cells per area, I can adjust my threshold to slowly increase it’s aggressiveness until that minimum counted value is met. The code can be downloaded as an imageJ macro here. but here’s a walk through of this simple script. My comments are preceded by a *.:
rnum = 0; *this creates a new variable, or container, for our # of regions
tval = 2000; *this is the starting object threshold value.
while (rnum<500) *this is a "while" loop. The loop runs until the argument is satisfied.
{
setAutoThreshold("Default");
setThreshold(tval, 4095); *note that tval = the minimum threshold value
run("Analyze Particles...", "size=0-Infinity circularity=0.00-1.00 show=Nothing display clear add");
rnum = roiManager("count");
tval = tval - 100; *tval continues to become more aggressive in counting objects until the argument is met.
}
Simple routines like these can reduce your headache factor by a large margin if you learn how to harness the power of macros!
Andor’s Neo camera has been out for about a year now. I first wrote about using it back in February. The camera immediately showed the major difference in field of view between sCmos sensors and traditional interlines quite well, but the speed, binning, sub-array and bias clamp controls weren’t available. Over the past few firmware/SDK updates, Andor has steadily addressed these limitations. I had a chance to field test the latest combo of firmware and driver SDK. Basically I found a camera that runs at 100fps with roughly four times the field of view of a typical Sony285 type sensor. In my last post I noted that people would wait until end user software platforms could take advantage of the sCmos architecture. I think the wait might be over.
httpv://www.youtube.com/watch?v=RjBv9ChZknk
I’ll continue to report on this as I have an opportunity to put it through it’s paces. I’m curious to see how people respond to it’s performance…
Over the course of my career, I’ve flown across the US to attend a variety of imaging related instructional courses, all on the eastern seaboard. We are all familiar with the Woods Hole courses, the AQLM course, and so forth. What has boggled my mind is that here I am in the SF Bay area, surrounded by arguably the most densely populated and diverse centers of biological science innovation on earth, and there’s no major course?
I started pestering the owners of Technical Instruments about this one night, and they admitted the same question had long been on their minds. A few months later, we asked the NIC team at UCSF about it, and found to our surprise that they were already cooking something up. We offered to help as needed, and have been doing what we can to help support the course ever since.
If you are a regular reader of my blog, I’ll assume you’re involved enough in imaging that you would stand to gain much from attending the course. This won’t be a “sit in classes all day” kind of deal. The course has been designed around a kinesthetic approach, with lectures taking roughly 50% of the time, and the other 50% being hands-on bench work.
A few years after your shiny new system is installed, you’ll inevitably look at it just like you look at a car. What was once running flawlessly now has a few bugs, some dust, is slower and generally worn in. So, at some point you’ll decide it’s time for an upgrade. This may consist of new or updated hardware, probably a PC and software, but for now let’s assume all we are going to do is patch the software.
Most software packages depend on a licensing scheme in order to run an update. If you have uManager, this won’t be a problem, but most commonly I work with MetaMorph and Elements, so I’ll be covering those exclusively.
What version do I have?
If you have Meta and you want to check your version and it’s capabilities, you can either call the office, or check the software update site here.
If you have Nikon Elements, you can view your info by selecting the Elements program folder from the start menu, then clicking “Hasp Info”. Here’s what my hasp info looked like:
If this was a consumer key, it would show an update expiration date (the date at which, once passed, new versions need to be purchased) and list the modules you own.
Once you’ve decided on upgrade options etc, it’s time to look at what devices are installed on your system. I like to categorize devices based on how they communicate with the computer, as this is the primary factor in determining compatibility problems.
Serial, or USB to Serial devices and triggered devices – Serial devices will be connected via a 9-Pin cable, and will use a COM port on the computer. You can check COM ports using windows device manager. USB falls into two general categories – Serial Emulators or direct drivers. USB to Serial Emulated devices simply create a fake serial port at the device side, so when you plug the device in and power it, you’ll see a new COM port appear in your ports list under windows device manager. Some systems, like the Sutter 10-3, use a driver which allows you to select either VCP (Virtual Com Port) or driver-only. Triggered devices use TTL signaling to communicate, and typically are connected via BNC cables to either another device or a custom board on the PC, so this could mean life is easy or hard, depending on what you have.
USB Driver Devices – Any device which, once loaded, appears in the windows device manager under it’s own category, uses a direct driver. A good example would be a Ti-E microscope. You’ll find the scope appear under “Imaging Devices”. While generally speaking, USB connected devices are straightforward to work with, it would be prudent to confirm that the firmware of the device, and the driver version for the device, are both compatible with the new version of software you’ll be installing.
PCI/PCIe Card Devices – Cameras usually fall into this category more than anything else, but there are devices such as an Andor Revolution Laser Combiner, or a Mosaic Illumination system, that also require the use of a card installed in the computer. For these devices it’s important to check firmware and driver support for your software upgrade, and it’s extremely important to consider the card type, it’s height requirements, and it’s connector (like PCI vs. PCie x16 etc) when purchasing a new computer.
Note the "Virtual Com Port" vs. the standard "communications port". The former is a USB to Serial Adapter.
Once you’ve collected the above info for each device which is run through your imaging software, you can go through a straightforward checklist of the required communication items for that device. Keep in mind that for most software companies, they build a driver for a given instrument at a single point in time, and don’t update that driver until there is a good reason to do so. Version changes between the software, firmware, and drivers may cause problems, so we’ll investigate this entire chain for our devices:
What is the version number of the software you’ll be upgrading to?
For that version of software, what are the driver versions required for your devices? In Meta, you can view the Supported Hardware page, to check the minimum version for your device. Nikon has a support document, which can be found on the download site (enter any username, and your Hasp ID for the password), under “Device/Camera/Firmware Documents, or just click this link after logging in.
If your device driver needs to be upgraded, does the firmware in your device need an upgrade as well? This can be investigated by contacting the device manufacturer.
Is either the device manufacturer, or the software developer, aware of known major bugs or issues with the versions you’ll be upgrading to? Normally there are always a few bugs, the question is whether or not they’ll be a problem for your work.
If you are considering moving from an x32 to an x64 system, make sure to check for 100% support in x64, I’ll be writing more on this on a separate post, as it’s a constant problem for me right now.
Example of a Supported device on Meta's hardware page. Note this device says it is not supported in Windows x64!
Armed with the answers to the above questions, you’ll be well prepared to perform an upgrade on your instrument! As always, you may wish to do this yourself, or pay your local sales rep to take on this headache. As a general rule software upgrades are a lot of work, and provide a chance to break an otherwise functional system, so service and sales reps are understandably wary of upgrades. You can help your rep a lot by bring this info to them at the beginning of the upgrade process (or at least providing the version #’s and device types on your system).
This process will obviously take some time to complete, but it’s a very small investment to reduce the chance of the system going down due to a half-update, or performing the update only to find some major bug which will render the system unusable! You’ll never guess how I learned to be wary of this…:-) Ultimately, software updates can provide new capability, fix bugs on the device or software side, and are an important aspect to the overall maintenance of an instrument. With proper planning, the operation can go from chaos to an enjoyable experience.
Windows 7 has a new power management interface, and the design of modern motherboards, along with win7 Automatic Power Management (APM), can cause some insidious device-based software crashes if power options aren’t set correctly. Here’s how to make sure your system is running in the best mode.
Open the Windows Control panel
Search for and open “Power Options”
You’ll see a “power plan” like the one below. Click the “Show Additional Plans” button, and check the radio button for the “High Performance” plan.
Click on the “Change Plan Settings” link, then click “change advanced power settings”. This window is where the real control over the power plan exists.
Browse through each item provided, and set power management to either disabled, maximum performance, or off, depending on the item. Things like turning off the hard drives are a bad idea on an acquisition system, as this can cause problems with long term timelapse.
One key item is the PCI link state power management. This should be set to “Off”. This item selectively disables power to the PCI bus. Some of the cameras and devices used in acquisition systems rely on PCI / PciE based cards to operate, and cutting power to these cards can cause all sorts of havoc.
Another common problem, probably the biggest I’ve seen, is the USB suspend entry. Again this function turns off the USB bus when not in use. This has caused crashes in software when operating USB devices, so it should be set to “Disabled”.
Once you’ve investigated each item and made any desired changes, click OK, and then close out of the power option windows.
Making the changes noted above should make a big impact on the stability of your imaging system. Hopefully this guide helps you to avoid acquisition crashes on your system!
I posted briefly about this a while back, in my explanation of the demise of the parallel port. I finally got my hands on a National Instruments USB-6008 box, and have found the unit to be 100% compatible with any NI-DAQ controlling application. What follows is an example of how to set this up using NIS Elements.
First – what types of devices could be controlled with this?
AOTF Controllers (Spectral, Neos, Etc.)
Single Shutters (Uniblitz Etc)
Piezo Z Controllers (ASI, MCL)
Directly driven 0-5v lasers
Monochromaters
LED Light Engines (Lumencor/89 North)
So – this thing is great when compared to the PCI cards normally used for numerous reasons:
Cost – This is ~$160 USD, vs. the PCI/PCIe cards running $1,500+
Size – This box is quite small, doesn’t require a huge cable or breakout box, and doesn’t occupy a slot on the PC
Portable – this will work on a mini form factor PC, or a laptop (which is what I used for this post), instead of requiring a full size tower
Installation:
Install is a snap. The only hard thing to do is place the pin indication stickers in the correct orientation on the box. If you mess this up you can always refer to the manual, but the little sticker strips included with the box make field-modification much easier. After this run the NI installer and reboot. Finally, connect the USB cable. The box will appear, and if you like, you can launch one of the NI test apps to run the device.
In Elements, we’ll re-run the installer and check the “National instruments” hardware group, then select “NI DAQ”.
Next, open Elements, open the devices window, and add the NI Device.
Once we add the device, and click configure, we can define what each of the inputs and outputs do. Here I’ve selected a 2 line AOTF.
After you’ve dialed in the settings you want, close the window(s) and if you don’t see the new device control panel, right click and select “acquisition controls” to find it. In my case the AOTF Settings window popped up after closing the device window.
I also made a short guide to using this box in elements via the Youtube video below. ***In the video I mention this thing costs $130, which is incorrect. It’s listed on the NI site as $168 as of today. Also I have yet to test more than 1 unit, but will be doing so shortly…
httpv://www.youtube.com/watch?v=poKZjRgWdhQ
One point of discussion is devices that require a 0-10v range. I’m looking into using a small powered op-amp chip and maybe packaging it into a small box for sale, or at least I’ll write up a how-to on using one, for people that need this voltage range. Luckily most of the devices out there can accept 5v or 10v input. Overall I’m happy to see NI is moving beyond PCI and PCIe bus cards. USB based boxes like these lower the acquisition cost for the customer, provide everything we need in the life science world concerning speed, and open up access to a wide array of devices. I’m looking forward to using this box on future systems!
For microscopy engineers and suppliers like me, the background produced in an image is of importance, if that background is created by the imaging system itself. What so many of us on this side of the scope (vs the user side) forget to train on and talk about is the specimen side of the background. So, how can you figure out where the background is coming from in your image?
Example of two noise sources, one distributed and the other localized.
Background Sources
Usually background sources mentioned are those produced by the imaging system. I’d like to cover instead those produced by the specimen and the imaging system. These can be:
Objective and other optical limitations (aberration/convolution etc.)
Camera measurement noise (A/D Read Noise)
Camera-produced background noise (heat that the camera sees as signal)
Specimen Background Sources
Auto-fluorescence produced by cells and/or media
Refraction/reflection of excitation light by specimen container (think plastic multi-well plate)
Ambient light in the room where the microscope is located
Byproduct remaining from sample preparation protocol (stain that remains after a rinse, etc.)
Identification and Removal
Instead of reviewing each noise source type and it’s cause, let’s instead perform a gross identification scheme to determine where the greatest noise source exists.
Method 1: System vs. Specimen Measurement
Configure your microscope and imaging system, and place your specimen on the scope.
Focus on your specimen.
Acquire 2-3 images of various locations of the specimen.
Remove the specimen from the microscope entirely, not changing the scope at all (don’t drop the focus or change filters).
Acquire 2-3 images with the scope in this state.
Using either the ROI tools, or other tools available in your software of choice, measure the average intensity value, for the non-exciting area of your 2-3 specimen-present images, that we acquired in step 3.
Measure the entire image field of the 2-3 images we acquired in step 5.
We now have an intensity measurement of the amount of background for the imaging system + specimen, and the imaging system only.
If the image intensities remain relatively unchanged between the two image groups, the source of noise is in the imaging system.
If the intensities from the images in step 5 are significantly lower than those from step 3, noise is being produced by the specimen, or specimen container.
In my next post I’ll cover how to further pinpoint noise sources, and how to eliminate them.
After a few requests for a report on x64 capability using this tethering technique, I tried installing the NK Remote software on a rather fresh copy of Windows 7×64 – it did not communicate with the camera at all. On the other hand, the open source application “DigiCamControl“, worked perfectly. Now, as far as micro-manager goes, there isn’t a connection from DigiCamControl to micro-manager. So – short term solution is to run the proposed setup below on an x32 system – if anyone gets x64 working please post here!!! -Austin
So I had a customer interested in a macro application for scanning. In some cases, applications like these don’t require a telecentric optical system such as the AZ-100, nor do they fit into a typical stereo microscope application. So, what to do? Well, when your object for imaging is too large for a microscope, one option may be a macro lens on a digital camera. Something like this:
Copy stand for SLR
This type of system will allow for a stable focusing and zoom setup, but is limited in magnification power and light control. In some cases though, this is the way to go.
The next problem is that of focal and positional control. No microscopy device control software available, such as elements or metamorph, supports non-scientific grade cameras. So, how do we position a specimen under this camera in an automated fashion? Well, it turns out micro-manager has a plugin available for such work, and it’s available in the nightly builds here .
What you end up with is a camera that can be controlled from a laptop, along with a stage, z motor and other automated imaging hardware. Here’s an example of my setup running on a windows 7 x64 laptop and a D80.
D80 and Win7 x64
Requirements
This setup requires the following items:
1. Suitable camera and lens (see below)
2. Copystand for camera.
3. Computer for control.
4. External power supply for camera or a battery extension (more for ease of use but I consider it a requirement).
5. USB Cable to camera.
6. Control Software for interfacing to uManager. This is pay-for software, found here. The software currently ranges from $90-180.
So, follow the instructions found here for setup. My summary of setup, which took a whopping 5 minutes (this is amazingly quick for open source software!) went as follows:
1. Download Breeze Systems trial for NKRemote & Install.
2. Download nightly uManager build & Install.
3. Set camera to PTP mode.
4. Run NKRemote and snap image to confirm communication with camera.
5. Run uManager. Edit hardware seup using the “Setup hardware” tool and removed the demo camera, and added the NikonDSLR.
6. started snapping images! Here is an example of running in uManager (click on the picture for a higher res version):
Nikon D-80 acquiring images in uManager
What cameras are supported:
All of the basic DSLR models from Nikon are included with the NKRemote software. Tethercam is the driver used for the uManager side, and it states an “incomplete list” of cameras as follows:
Some lenses that work as portrait lenses like a Nikon 50mm will work adequately as macro lenses. On the other hand, it’s recommended to shell out the extra cash for a well-made macro lens, such as this one. The nice thing about working with commonly available photo gear is that in many cases you can even rent lenses to see what works best for the job at hand.
This was a fun and quick test and I am excited to see how this capability is used for macro work in the future!
I had this question asked at my recent Bio-X training, and wanted to provide a thorough answer to it, as this is a common need:
Assume we have multiple images, or multiple stacks, and we want to analyze something like the intensity through stack A vs. stack B. We don’t want to convert the stacks into an RGB image, as this loses flexibility and image resolution. Here is a step by step example of how to do this:
Create a Demo Image Set
We will be working in Fiji, which can be found here.
Select File -> Open Samples -> Fly Brain. This will give us a 2 channel stack image, that we will convert into an example image to import.
Select Image menu -> Color -> Split Channels. We now have Red, Green and Blue channels. Close the Blue channel as no blue data exists.
We are left with two z stacks of red and green, that are 8 bit. To prove our processing later on works in 16bit, let’s convert the two images into 16 bit and adjust their intensity values.
Step 4 – Two Channels Open
Select the Green image, then Image menu -> Type – 16 Bit. Next we will increase the numeric value of the image data, so that we can later confirm our measurement results are in 16 bit space.
Select Process -> Math -> Multiply – set the value to 255 and click OK. When prompted click OK to process all images in the stack.
Repeat this process for the Red image stack. Save both files as Green and Red.
We now have two stack files that are ready to be used as examples for color merging. Hopefully this also shows some use of the math and bit depth controls.
Merge Multiple Channels
Open both Red and Green stacks if you have closed them.
Click Image -> Color -> Merge Channels. You now have a multi-Z data set, with two 16 bit channels. The top slider controls the channel that you are working on or are measuring on.
Merged Two Channel Image
Note the intensity values reported in the main toolbar reflect the active channel selected.
Image 5-D
You may note that in the image stack we have created, the threshold tool doesn’t work. In order to threshold this image we will move it into the “Image 5-D” plugin. (included with Fiji)
With the Merged stack set open, select the Plugins Menu -> Image5D -> Stack to Image5D. Note the resulting image can be altered for each color and scaled for display.
Image 5-D Convert Window
There is now a active-channel selection radio button, available on the right side of the 5D stack. Click on the channel you’d like to threshold, then try adjusting the threshold for the image.
Note you can adjust the threshold for channel A and then adjust for channel B.
Try an analysis using Analyze Particles. Note that the measurements provided for the active channel are in 16 bit values!
Analyze particles on Image5D Stack
Multi-channel visualization tools available in Fiji do require a few more operations than commercially available software, however the method used in Fiji is very straightforward. One can imagine the ease of script development using these tools, which is the optimum means of analysis. I am planning to explore other tools available in Fiji as time allows, and I encourage anyone using this version of imagej to do some thorough exploring of the menus, as it is extremely comprehensive and well thought out!
Due to it’s utility and ease of providing common tools in a variety of operating system choices, I’ll be running this course using the FIJI build of ImageJ. You can find Fiji here.
Thanks to everyone who attended my first course on image processing (and acquisition as it turns out). As promised here are some links:
– MBF Tools for ImageJ. This is a suite of processing and analysis tools, provided by the McMaster Biophotonics Facility, which can be used for, among other things, splitting apart pigment based IHC specimen images.
***One of the course attendees asked how to merge multiple channels, without using primary color (RGB) values. For instance one may want to select “Red, Cyan and Green”. This function is available using the MBF Tools function found under Plug-Ins, then under the “Colour Functions” and finally using the “Colour Merge” command.
– This tool only merges two channels. It is possible to run this multiple times, so a merge can have a third channel added to it, and so-on.
– LOCI Formats Importer/Exporter is a tool which can be used to read and write many file types. It can also import metadata from many of the proprietary file types used today.
– I was not able to find a dynamic and interactive particle counting plugin for ImageJ, however when you have produced a count by selecting “Analyze particles” you can select the “Distribution” command from the Analyze menu to produce histogram distributions for every measurement type selected.
Please contact me if you have any other items you’d like me to cover. Thanks again!