April 21, 2019

Devil’s Punchbowl Bioblitz

Due to a Sunday flight into Toronto and a busy work schedule that week I will have little involvement in the City Nature Challenge this year. I will be attending the Devil’s Punchbowl Bioblitz though.

Posted on April 21, 2019 16:01 by glmory glmory | 0 comments | Leave a comment

April 08, 2019

Misadventures Near the Mule Mountains

I am always trying to get to places where the species have not been recorded on iNaturalist. As the number of users in Southern California have increased that has become progressively more difficult. There are still a few patches though. One such patch is the Mule Mountains, about thirty miles southwest of Blythe. While there are a couple observations near the edges of the mountains the site has yet to have extensive documentation. Even related sites such as Calflora do not show much about the site.

With this in mind, I headed to Coon Hollow Campground dragging along my 4 and 6 year old boys. Being ten or more miles down a dirt road and in an area with very few observations, this campground seemed a good starting point for some adventures. So I set up my tent, ate a bit then headed for the Mule Mountains.

Before heading on this trip I had scouted the site as well as I could on Google. There was a little road called Bradshaw Trail which looked like it was in good shape up until the edge of the Mule Mountains. It was pretty clear my Prius wasn't up for a crossing of the mountains, but the road looked good on Google up until the edge of the mountains.

When I reached this road, it was clear there was a problem with my plan. About fifty feet down the road there was a warning that it was only 4 wheel drive accessible. This should have stopped me cold, but the road was in such good condition! I reasoned that with how good the road looked at the four wheel drive sign I should be able to go slowly until I was obviously out of my league then turn back.

So I drove about a half mile. Then I hit the sand. I continued through the sand and was on solid road again. That knocked my senses into me. I decided to turn around. The road was pretty small though and I wasn't sure I could do a u-turn without getting stuck. Also, I was only one patch of sand away from good road. I elected to back through the sand and turn around when I got to the cross street. This probably would have worked. However I was of the opinion that I needed to go quickly or I would get stuck in the sand. So I went faster than I should have. I ended up getting too close to the edge of the road and got solidly stuck in the much deeper sand there.

After a half hour of trying to dig myself out with some friendly motorcyclists which stopped to help (people are so much nicer when you are with kids), I realized I remarkably had cell phone service. So I just paid the exorbitant fees tow truck companies charge to pull someone out of the situation like that.

So I spent the next two hours waiting for the tow truck photographing plants and insects as I was really quite in the middle of nowhere. The kids played in the sand.

Luckily once towed out, the car still worked. So I returned to camp vowing not to start the car up again until it was time to go home. The area around the campground was pretty much undocumented, and it seemed like I could easily walk to the Mule Mountains a mile or so east of the campground.

The next morning I woke up to a small mantis near my head in the tent! Great! I had seen one of those the night before at an improvised bug attracting light but my kids stepped on it before I could get a picture. So I took a few photos.

Then I smelled smoke! Smoke? I realized it was coming from either my flash or my camera. I am pretty sure one of the capacitors had previously failed on the flash so I figured it was finally dying for real.

After breakfast we started east toward the Mule Mountains. The kids seemed excited enough and in the morning cool it was the perfect time to walk a couple miles.

Perhaps half way to the edge of the mountains the older one starts complaining about his feet. He says his shoes are hurting his feet. I look at his feet. It seemed like something got through the holes in his crocks and made his feet itch. Ugh, why did I let him bring crocs? I gave up on the Mule Mountains and started to carry him back to camp. Luckily about half way back he stopped complaining and started walking, but at that point I wasn't going to be able to motivate him to turn back towards the mountains.

So we spent the rest of the day playing games and searching the dry stream bed. Luckily my flash was still working apparently normally. The camera had been starting to act a little funny though. At about 6 PM while I was taking a photo of a beetle the camera said "Camera Error Turn power off then on." Turning it off did nothing at all. So I pulled the battery. Same problem. Pulled off the lens to find that the shutter was stuck closed. The Sony a6300 camera had survived three years and 267,331 shutter actuations but it was finally good and dead. This is the last photo that camera is likely to take:

Luckily the camera had survived three quarters of the trip. However the last night and the drive back I was stuck with my cell phone. The camera seems like it could be repaired but to do so would not be cheap. I ended up purchasing a new A7III as a replacement.

Could have done without the towing bill and dead camera, but other than that was a pretty good trip. Managed to get 359 observations in a really obscure and lightly documented part of the desert. Kids seemed to hold up well to camping in primitive conditions so I may have to try a similar place next spring.

Posted on April 08, 2019 05:13 by glmory glmory | 20 observations | 1 comment | Leave a comment

February 11, 2019

Updated Python Upload Script

After a few rainy days I managed to come up with a python script using pyinaturalist which is at least as efficient as the existing upload method. For people uploading a large number of photos of the same species it is much more efficient.

The basic workflow is to put all the photos in a folder with the common name or scientific name and/or taxon number as the name of the folder.

You can put dozens of photos in any of these folders, so uploading fifty observations of the same species only requires running the script once. All the photos in every folder in the master folder will be uploaded as an individual observation.

What about uploading multiple photos to the same observation? This isn't much harder, add the photos to a sub-folder in the species folder. The script doesn't care what name, so I usually just leave these as "new folder." All the photos in this subfolder will be uploaded to an individual observation.

When you run the script, it gives you a few inputs to fill out:

The more annoying of these are "APP ID" and "APP Secret." You have to create an app for iNaturalist to upload through scripts. Fortunately this just takes a few seconds. The folder it wants is the main folder which contains all the species folders to be uploaded. Even if you are uploading just one species the folder with the photos will need to be in a master folder containing nothing but species folders to be uploaded.

Chances are you will want to go in the code and fill out default values for most of the entries so you will not have to fill them out every time you run the script. It is commented where to add them to the import_gui.py file.

Once the script is done, it moves all the files out of this folder, and puts them next to the main folder in a folder called "Uploaded." This should keep you from re-uploading everything if you lose connection mid-upload. Just run the script again, all the uploaded photos will now be gone. 

Since it got rather long, I uploaded it to Github as iNaturalist-Uploads. There are three files which all must be in the same folder. upload_folders.py is the file which is run as a python script. The other two (import_gui.py and import_functions.py) have functions which I preferred to put in a different folder to keep it less messy. All three files need to be saved to the same folder to run.

This probably doesn't make sense for most users as it is way less intuitive than the site submission tool, but if you are experienced with python or have a ton of photos of a limited number of species to upload this starts to make sense.

Posted on February 11, 2019 05:19 by glmory glmory | 6 comments | Leave a comment

February 04, 2019

Python upload script

Since pyinaturalist recently came out I thought it would be a good time to try and write a script to automatically upload files to iNaturalist. Few if any example scripts are out there and this should make it easier for other people to write one which matches their workflow.

This script assumes a large number of photos of the same species. This might happen for example if you were trying to map every tree on a property. The workflow would consist of taking a single geotagged photo of each individual then separating out the photos so each one is in a folder which starts with its taxon ID. For example aphids would go in a folder named '52381' or '52381 Aphids' or '52381-Aphididae'

If you don't have python, I suggest installing Anaconda then pyinaturalist. You will then need to get an app ID.

Copy this script, paste it to a text file renamed to end in .py, add your user name, password, app id, secret, and the time zone of the photos. Then run the script. It should upload everything jpg file in the folder as the file you select.

# Input your user name here:

user = ''

# Input your password here:

passw = ''

# Input your app ID and secret here:

app = ''

secret = ''

# Input the time zone for the photos here, options can be found at the

# website below

# https://gist.github.com/mjrulesamrat/0c1f7de951d3c508fb3a20b4b0b33a98

time_zone = 'America/Los_Angeles'

# tkinter used to choose a file

from tkinter import filedialog

from tkinter import Tk

# os used to get a folder name

import os

# pillow used to get exif data from the photos

import PIL

from PIL import ExifTags

# This is used to upload the photos.

import pyinaturalist

from pyinaturalist.rest_api import create_observations

from pyinaturalist.rest_api import get_access_token


# This code lets you choose a photo, can delete and replace with folder_name=''

root = Tk()

filename =  filedialog.askopenfilename(initialdir = "/",

                                    title = "Select one of the .jpg files in "

                                    "the folder to be uploaded. All files in "

                                    "the folder will be uploaded. The folder "

                                    "name should start with the taxon number",

                                    filetypes = (("jpeg files","*.jpg"),

                                    ("all files","*.*")))


folder_name = os.path.dirname(filename) +'/'

print('Uploading all photos in ' + folder_name + ' as a unique observation')

# Makes a list of all files in the folder inside element 2 of a tuple

for file in os.walk(folder_name):

    if file[0] == folder_name:

        files = file

# Creates list of all the file paths for every file in the folder.

file_paths = []

for file in files[2]:   # All files are in files[2]

    file_path = files[0] + file  # files[0] has the path to the folder

    file_paths.append(file_path) # Makes a big list of paths

# This function returns the latitude and longitude of a .jpg image

def get_lat_long(image):

    # Gets all the exif data from the photo

    exif = {

        PIL.ExifTags.TAGS[k]: v

        for k, v in image._getexif().items()

        if k in PIL.ExifTags.TAGS


    # From all the exif data, pulls the GPS data

    gps_info = exif.get('GPSInfo')

    # The GPS data is in a odd format, so have to dig for it a bit. This was

    # only tested on files lightroom tagged.

    latitude_direction = str(gps_info.get(1)[0])

    latitude_degrees = float(gps_info.get(2)[0][0])

    minutes = float(gps_info.get(2)[1][0])

    multiplier = float(gps_info.get(2)[1][1])

    latitude_minutes = minutes/multiplier

    seconds = float(gps_info.get(2)[2][0])

    multiplier = float(gps_info.get(2)[2][1])

    latitude_seconds = seconds/multiplier



    # The sign is changed depending on if this is N or S

    if latitude_direction == 'N' or latitude_direction == 'n':

        latitude = latitude_degrees+latitude_minutes/60 + latitude_seconds/3600

    elif latitude_direction == 'S' or latitude_direction == 's':

        latitude = -(latitude_degrees+latitude_minutes/60 + latitude_seconds/3600)


    longitude_direction = gps_info.get(3)[0]

    longitude_degrees = gps_info.get(4)[0][0]

    minutes = float(gps_info.get(4)[1][0])

    multiplier = float(gps_info.get(4)[1][1])

    longitude_minutes = minutes/multiplier

    seconds = float(gps_info.get(4)[2][0])

    multiplier = float(gps_info.get(4)[2][1])

    longitude_seconds = seconds/multiplier

    # The sign is changed depending on if this is E or W

    if longitude_direction == 'E' or longitude_direction == 'e':

        longitude = longitude_degrees+longitude_minutes/60 +longitude_seconds/3600

    elif longitude_direction == 'W' or longitude_direction == 'w':

        longitude = -(longitude_degrees+longitude_minutes/60 +longitude_seconds/3600)


    latitude_longitude = [latitude, longitude]


    # Returns a list with both latitude and longiude in decimal format.

    return latitude_longitude


# Pulls the date information from

def get_date(image):

    # Gets all the exif data from the photo

    exif = {

        PIL.ExifTags.TAGS[k]: v

        for k, v in img._getexif().items()

        if k in PIL.ExifTags.TAGS


    # Pulls the date and time from the exif format

    date = exif.get('DateTime').split()[0]

    time = exif.get('DateTime').split()[1]

    # Reformats the date to use - instead of :

    for character in date:

        if character == ':':

            date = date.replace(character, '-')

    # Combines the date and time to match the format pyinaturalist wants,

    date_time = str(date) + 'T' + str(time)

    # returns a date and time formatted to submit to iNaturalist with

    # pyinaturalist

    return date_time

# This presumes the name of the folder starts with the taxon number.It finds

# the taxon number by looking at the folder name and taking all the digits it

# sees. This allows you to name the folder "##### species name" to quickly

# tell where photos go. For example anything in '52381-Aphididae' is uploaded

# as an aphid.

def get_taxon(folder):

    taxon = ''

    folder =os.path.split(os.path.dirname(folder_name))[-1]

    for character in folder:

        if character.isdigit():

            taxon = taxon + character

    return taxon

# This is getting a token to allow photos to be uploaded.

token = get_access_token(username=user, password=passw,



# This goes to every file, checks if it is a jpg, gets the gps coordinates,

# get the time, and uploads it to iNaturalist.

for file in file_paths:

   if file[-3:] == 'jpg' or file[-3:] == 'JPG' or file[-3:] == 'Jpg':

       print('Uploading ' + file)


           img = PIL.Image.open(file)

           coordinates = get_lat_long(img)


           coordinates = 'No Coordinates'


           img = PIL.Image.open(file)

           date_time = get_date(img)


           date_time = 'No Date or Time' 


       # This requires the folder name to start with the taxon number.

       taxon = get_taxon(folder_name)   

       params = {'observation':

                    {'taxon_id': taxon,  # Vespa Crabro

                     'observed_on_string': date_time,

                     'time_zone': time_zone,

                     'description': '',

                     'tag_list': '',

                     'latitude': coordinates[0],

                     'longitude': coordinates[1],

                     'positional_accuracy': 50, # meters,



                        [{'observation_field_id': '','value': ''}],


       r = create_observations(params=params, access_token=token)


       new_observation_id = r[0]['id']


       from pyinaturalist.rest_api import add_photo_to_observation

       r = add_photo_to_observation(observation_id=new_observation_id,

                        file_object=open(file, 'rb'),


print("Program complete")

Posted on February 04, 2019 02:14 by glmory glmory | 4 comments | Leave a comment

November 25, 2018

Underwater Drones

For years I have been considering getting an underwater case for my camera and starting to make more underwater iNaturalist observations. I made a few freediving with a GoPro but that camera wasn't really designed for macro shots. Getting a waterproof housing for my real camera terrifies me as I have heard too many stories of wrecked.

So hearing that someone I know bought an underwater drone definitely caught my attention.

The Power Vision PowerRay they bought can go a hundred feet down and stay down two hours. This certainly does seem a step up from freediving for a few seconds to take a few rapid photos. Compared to real scuba diving with a dive housing it isn't quite there, but it is certainly safer and less trouble and should be cheaper. Launching a ROV from a kayak seems much more practical than SCUBA diving from the same small vessels.

The Open ROV Trident however can go to 100 meters. Now we are starting to talk, that depth can certainly be done with SCUBA, but past 50 meters SCUBA starts getting pretty specialized. That means there must be some opportunity to find interesting creatures which haven't been all that well documented.

Then comes the Titan ROV which should start shipping any day. This drone reports a 150 meter maximum depth and 4 hour battery life. While it isn't exactly cheap, at around $3,000 this is certainly the lowest cost way to depths from 100-150 meters. It must be possible to track down creatures at that depth not only not posted to iNaturalist, but almost unstudied. Also, at the rate these drones seem to be improving within five years the cost of entry should be even more reasonable.

Too bad the last thing I need is another expensive hobby.

Posted on November 25, 2018 15:39 by glmory glmory | 2 comments | Leave a comment

October 28, 2018

Globe flash version 3

I have been using the globe flash macro diffuser I made for the past six months. For close in macro images it really proved amazing. However it had a couple annoyances which I finally decided to address:

  •  It had a paper towel on top of it and wouldn't work without it. That I stuck through six months of a camera that ugly is a good sign of how good of images it produced but it did feel silly. 
  • It was useless beyond about two feet. At these distances the images got really hazy. This is an issue it actually shared with the Sony Twin Flash, and Sigma Ring Flash. Light from the flash would interfere with the image since they don't work with a lens hood.
  • It was incompatible with Raynox macro filters. With these on a macro lens you can get about the best magnification which is usable in the field. 
  • Reflections look a bit funny on some reflective subjects because you can clearly see circular shape of the lens. 
  • It does not work with a lens cap.

Two tweaks fixed both issues. First, the size of the globe was increased to 12 inches. This means it is large enough to completely cover the flash from the perspective of the subject. Second was connecting the globe to a lens hood which blocked the light which was making images hazy.

The image quality for 1X macro is about the same as the previous version but without the previous issues. That makes it as good as any macro flash which is commercially available and probably better.


To build it, I used the following materials:

The steps were pretty simple, although with the tools I had rather time consuming. Simply cut a hole in the acrylic disc for the lens to look through (I used a Dremmel), epoxy the disc to the lens hood, then epoxy the disc to the globe. Then epoxy the globe to the acrylic disc and cut the globe to shape(I used a hack saw). Since polyethylene is notoriously difficult to bond, I briefly. put it in a flame before making the connection.

Thus far this setup has been quite effective. I am a bit worried about the epoxy bond, it seems less sturdy than it was to the previous acrylic globe, but the last one survived six months of abuse so I expect this one will do alright. 

Posted on October 28, 2018 02:03 by glmory glmory | 2 observations | 4 comments | Leave a comment

April 01, 2018

Globe Flash Version 2

Before getting into technical details, let me show three photos. All three are with the same camera and lens but were taken using different flashes:

The first uses a Sigma Ring Flash:

The second uses a Sony Twin Flash:


The third uses my latest DIY globe flash:

I chose ants because they move so fast they are really difficult to photograph without a flash you typically end up with a blurry mess. All three flashes do a reasonable job of stopping motion and at least making clear it is an ant. There is a real quality improvement from better diffusion though.

The Sigma flash always had a real problem with too little diffusion. Odd hot spots and dark spots really retract from the quality. It calls itself a ring flash, but due to lack of diffusion it is more of a twin flash with two fixed light sources.

The Sony flash was a solid flash, for $750 it better be! Still, even it ended up with some hot spots. I always wanted more diffusion when I worked with it.

The globe flash doesn't quite eliminate all specular reflections, some images still have hot spots when using it, but they are a much reduced level than the other two flashes. Typically they show up as a bright area rather than a totally over-exposed spot. Compared to any previous flash I have used this is great performance.

It isn't entirely a fair comparison since the photos are ordered chronologically and were taken a few months apart so I learned as I went. Also, the dedicated macro flashes give more control over shadows. Still, the DIY globe flash I am using is almost half the price of the Sigma flash, and and a quarter the price of the Sony flash.

The previous globe flash I used almost had this level of performance, but I found two somewhat annoying issues. Too little light got in meaning the flash took a long time to recharge and it had oddly shaped reflections on shiny surfaces. You can see the diffuser shaped reflections on the ants in the photo below:

So I upgraded from a 6" globe to an 8" globe. I chose 8" because that puts a subject at minimum focus distance right at the center of the light source. I obsessively keep subjects at minimum focus distance so I can add scale bars.

Going to an 8" globe created problems attaching the globe to the camera. The 8" globes do not come with smaller than 4" holes. That is larger than any cheap adapter I saw. So I had to purchase an acrylic disc to use to connect the step up ring to the globe.

The list of materials and tools for the project were:

First I used the dremel cut a hole in the acrylic disc matching the opening on the lens, then I cut off the flange attached to the globe and epoxied the step up ring, acrylic disc, and globe together. Once the epoxy dried I used the dremel to cut the globe into the shape I thought would work best:

As you can see the new flash diffuser is significantly larger than the old one. Just like last time, too little light makes it from the flash to the diffuser. This was easily solved by putting a paper towel above the two. In an attempt to ruggedize it, I covered the paper with packing tape.

If I used a 12" globe I could probably avoid the paper towel, and I will probably ultimately find a better way to trap the light than the paper towel. It does seem effective though.

This has been very successful. Unlike the old version I can fire off photos rapidly using this version. Also, while reflections aren't entirely gone, the smaller black area on the central hole and larger globe make the reflections less obviously the shape of my diffuser.

While the diffuser produces very good images, I have found some downsides:

  1. The shape makes it difficult to image insects in a tight space. 
  2. You look like a crazy person when you walk down the street carrying this camera. Honestly this is a problem with all macro flashes though.
  3. Diffusion could still be improved! This seems the best trade off of usefulness and image quality but I still often find myself wanting more diffusion. The only viable way I see to get more diffusion without making the system hopelessly bulky would be to use two small flashes, one on each side of the globe. 
  4. The paper towel is a pain to take on and off. Maybe a little aluminum foil hat for the flash? Maybe a white cloth with velcro?

This could be adapted to just about any macro lens. The only big change would be to use a different size step up ring to connect to whatever lens you want. I suspect it might even work on a superzoom camera with the on camera flash, but I have not tried.

Edit: If you are considering building a similar diffuser, move on to version 3 which fixed some minor annoyances of this version.

Posted on April 01, 2018 15:18 by glmory glmory | 2 comments | Leave a comment

March 22, 2018

Globe Flash

After my recent experiment with using a handheld flash for macro, I learned a few things. Most important of these things is that shadows are for artists. As someone who is mostly trying to take a whole bunch of high quality photos of insects in a hurry, shadows are not my friend. Ending up with a shadow covering an important part of an insect for identification is a real problem with that setup. Also it was bulky and a lot of work.

After some research on alternatives I ran into a clever flash which uses a globe shade off of a lamp as a diffuser. This made a whole lot of sense to me since the best diffusion comes from a sphere of light around the subject. I can't quite get there with a globe cut in pieces, but I can get a whole lot closer than with just about any alternative. The globe also reduces shadows since light is coming from a bunch of angles.

So I bought a six inch acrylic globe and went to work. 

There are a few challenging parts to making this setup work. First was cutting acrylic. This isn't necessary if you can find a hard plastic globe, but acrylic ones are much easier to find so I bought one of them. My first attempt  was with a hack saw. With sufficient patience this may work, I got tired of cutting though, rushed through, and cracked it. After that I tried cutting with a dremel tool. That seemed to work well.

The next problem is how do you attach the globe to the camera? My first thought was to order a 3D printed attachment to where the lens hood connects. This is probably the right answer, but I got lazy since this would require some real work. Eventually I realized a simpler solution is to buy an adapter ring from 62mm(the lens threads) to 77mm(the diameter of the globe). Then I epoxied the globe to the adapter:

 I am not quite sure how durable the epoxy/adapter connection will prove. If it does hold up though, this is a great solution for how to connect the globe.

After a bit of use, I realized  another problem. The shade blocks too much light! What ends up happening is that the background turns white because it is not shaded, and the area focused on is often too dark. Worse, the setup only works at minimum focus distance! Once the subject is further away, there is a big bright area which is not blocked by the globe, and a dark area which is.

A paper towel seemed to fix these problem, although using a 10 or 12 inch globe would probably be a better solution.

I have only used this setup two days, but so far results have been remarkable. To use an example everyone knows, here is a photo of a fruit fly. Extra diffusion from the wall, probably made it better than it otherwise would be but still it is impressive results from such a low cost flash:

This gets even more impressive when compared side by side with a photo using the same lens/camera and the Sony Twin Flash which was four times the price as this flash. The bright spots from reflection stand out much more with that setup:

Posted on March 22, 2018 04:52 by glmory glmory | 1 observation | 1 comment | Leave a comment

January 20, 2018

Handheld Flash for Macro

I am always tweaking my camera setup to try and squeeze the most out of it. My base setup of a Sony a6300 with a Sony FE 90mm Macro Lens is about as good as anything on the market. However flashes have always given me a lot more trouble.

First I got a Sigma Ring Flash. It did alright, but it unfortunately isn't really a ring flash. It is a twin flash which is built with no easy way to provide diffusion. That has lead to disappointing image quality compared to some other products on the market.

After six months of using the ring flash, I got a ridiculously good deal on to a Sony Twin Flash. This was a really solid macro flash. It suffered from a few problems though. It was pretty fussy, with lots of little pieces which always needed adjusting. It also it lacked high speed sync which made it almost useless for taking photos in full sun. Worst of all, it died in about six months. It was under warranty, but Sony refused to replace it and instead refunded it. Since I got such a good deal, buying another one with the money I got wasn't an option so I went back to the ring flash for another year.

After researching more, I decided that the way to go was a hand held flash. Something like what is done in this video. That is a far lower cost alternative than a dedicated macro flash. However it created some conundrums. How do you photograph at night when holding a flashlight? Also, I am usually dragging kids down trails so I often need two hands. So I decided to get a flash bracket which my flash usually goes to, but get a quick release to allow me to remove it and use it as a hand held flash.

The basic setup is:

Godox Ving V860IIS flash
X1T-S Wireless Flash Trigger
Straight Flash Bracket
Quick Release Plate

I bought a packaged deal which included the first three items, but with a diffuser which is perhaps too small. Then I bought the larger diffuser because I wasn't sure what I wanted. Here is what the setup looks like:

This setup really does produce much better images than the sigma ring flash. Here are two very tiny Big-Headed Ants, one with the ring flash and the other with the Godox:

The lack of diffusion with the ring flash (top) leads to a lot more white spots on reflective surfaces. Also, the shadows are always coming to the far side of the camera. In a way this is good, the side you are looking at is illuminated. However, a more artistic type would probably complain about the inability to control the location of the shadows.

I am also trying this with a much larger 13"x8" diffuser. This diffuser is probably too large, but it does seem to give fantastic results so I may keep using it.

Using the larger diffuser seems to give fantastic results, but it messes up the center of mass of the camera rig so bad that it is unwieldy. Whether the slightly higher image quality is worth the fuss, I have yet to decide. I may get a medium sized diffuser in a few weeks.

This whole system is really an amazing deal. For under $300 you get a flash which can do TTL, High Speed Sync, and is radio controlled. It also can shoot thousands of macro shots on a single battery due to the Lithium ion battery. Unlike the similarly priced Sigma Ring Flash this flash is also useful for more than just macro as it is a typical speedlight.

Someone who wanted to reduce the cost could go with the Godox TT685S, it is basically the same flash just with AA batteries.

Someone trying to save cost and weight could go with the Godox TT350S. That flash reduces cost but at the cost of lower recycle times and lower maximum power.

Someone trying to save money could also go with a TTL flash cord. I don't actually recommend it though. The radio flash works amazingly well and the TTL cords seem over priced. There is a trick though with the transmitter, you need to turn it onto macro mode. This is done by holding down the test button while turning the transmitter on. If you forget to do this, it sometimes fails to fire unless it is more than 1 foot from the transmitter.

Someone wanting a bit higher quality flashes could use the Sony HVL-F45RM flash with the Sony Radio Control Wireless Commander. Again, I don't really recommend it. The setup costs three times as much for a slightly less powerful flash.

After some playing with this setup, I determined it was too heavy and had too harsh of shadows. So I moved to a globe flash diffuser.

Posted on January 20, 2018 03:41 by glmory glmory | 2 comments | Leave a comment

December 09, 2017

Aphids of Southern California

Looking back on the past few months it seems that I have done one of the more detailed and best documented searches for aphids which has been done in Southern California. It is nothing compared to Aphid Trek's 9,000 slide collection, but the more than fifty species I have found included species apparently never photographed, previously unreported in California, and even some which are almost certainly undescribed species.

After getting through so many, I thought it was time to put together one location where I can quickly reference all the aphids I have found in Southern California. I will add on to as I continue to find more. This should be able to serve as a quick reference for anyone trying to identify an aphid they found or looking to find more species.

Given the complexity of aphids I probably have a few incorrect identifications. Most have been confirmed by someone who knows more about aphids than I, but a few I have stubbornly held on to an identification which is not as certain as it should be.


Acyrthosiphon kondoi:

A common aphid on legumes. It can be separated from pea aphids by inspecting the antenna. The blue alfalfa antenna gradually darken to brown.

Host: I found it on a deervetch (Acmispon sp)

Acyrthosiphon lactucae:

This is one of the most common aphids in California. However it is surprisingly difficult to find. When I first found it I had to stare at prickly lettuce plants for a good five minutes before I saw it. However once you start to watch for it among the flowers you will almost always find it.

Host: Prickly lettuce (Lactuca serriola) as well as cultivated lettuce


Aphis (asclepiadis?)

A difficult to identify aphid which I need to return to in an attempt to get a more certain ID.

Hosts: I found them on Red yucca (hesperaloe parviflora)

Aphis ceanothi
Due to the small number of species of aphids recorded on Ceanothus this seems to be an easily identified species for an Aphis.

Hosts: I found them on (Ceanothus)

Aphis coreopsidis

These aphids have distinctive antenna which are light at the base then dark, they also have a light head.

Hosts: A very common aphid on Bidens pilosa

Aphis craccivora:

A very common aphid on a wide variety of hosts. Unfortunately not very easily identified from photos due to the large number of black Aphis members.

Hosts: I have mostly found these on the climbing milkweed (Funastrum cyanchoides) in my yard and on bur clover plants

Aphis (fabae?):

Very difficult to identify. I have never found one which is a solid ID for this species. However I included it since I found some aphids which are probably this species.

Hosts: The aphids I believe are this species were on nightshade and dock (Rumex) plants.

Aphis farinosa:

A rather generic looking green Aphis. On willows there are apparently not many similar aphids though making it reasonably easy to identify.

Hosts: Willows

Aphis gossypii:

One of the most common aphids in Southern California but not particularly easy to identify due to the number of similar Aphis species.

Hosts: I have found it on a huge variety of plants including star jasmine, roses, hibiscus, Bidens pilosa, Triadica sebifera,

Aphis (cytisorum?):

Another challenging to identify black Aphis

Hosts: I found it on Spanish broom(Spartium junceum).

Aphis nasturtii:

Yet another generic green aphid. The siphinculi is significantly lighter than melon aphids or spirea aphids.

Hosts: Primroses, thus far I have only found on Oenothera elata.

Aphis nerii:

This is probably the most commonly found aphids in Southern California. Find a milkweed plant, it almost certainly has loads of this aphid.

Hosts: I have found this only on Asclepias and Funastrum species although it can be found on a great many other plants.

Aphis pentstemonicola:

Not particularly common but unusually easily identified from photos due to the large dark patches.

Hosts: I found it on Penstemon grinnellii, although it is likely present on other Penstemons 

Aphis sambuci:

Yet another dark Aphis. These seem to be distinctive due to how closely they pack on the stems of elderberries.

Hosts: I found these on blue elderberries, and docks (Rumex)

Aphis sedi:

These are so close to melon aphids that I am not certain I found them. However I have found aphids on a member of the stonecrop which look like melon aphids but have a dark cauda.

Hosts: I only identified the host plant to the stonecrop family.

Aphis spiraecola

One of the most common aphids in Southern California, particularly in hotter months. It is present on a great many plants. On some hosts it is very difficult to separate from A. pomi but on many plants this is the

Hosts: Seems like they are found on just about anything. Among other plants I have seen them on indian hawthorn. citrus, and Bidens pilosa.

Aphis Sp.
An aphid I found on docks and was never able to find a plausible species level ID for.

Hosts: Dock


Brachycaudus cardui:
One of the more recognizable and common aphids.

Hosts: Many species of thistle.

Brachycaudus helichrysi:
I suspect that I have encountered this species much more as they just look to me like nymphs. Since nymphs are not typically identifiable I likely passed these by. When I found them they were with two Aphis species so I simply did not realize that there was a third species there.

Hosts: I found them on sunflowers and Heterotheca sessiliflora, but they are likely to be present on many other plants.


Braggia deserticola

I only found this species because I noticed some ants among the flowers of a buckwheat plant. They hid well enough that I have probably walked past a great many. The really short siphunculi should separate them from other species in the genus.

Host: Buckwheat plants (Eriogonum)

Braggia eriogoni

Another Braggia species which is easy to tell from Braggia deserticola due to the longer siphunculi and white patches.

Host: Buckwheat plants (Eriogonum)


Brevicoryne brassicae:

Cabbage aphids are one of the more reported aphids on iNaturalist due to how common and conspicuous they are.

Host: Mustards including wild black mustard and cultivated mustards such as cabbage, kale, and broccoli.


Carolinaia (setariae?):
The first time I found it I threw away the photos because I thought it was a mummy. Further examination though showed them to be clearly living aphids. The species was previously only reported from Mexico and Brazil but the description seems to match C. setariae.

Host: Grasses,most commonly hiding among the flowers of Polypogon monspeliensis.


 Chaitophorus populicola:
One of the most common aphids on Poplar trees.  Easiest to identify from the winged alate form, but I never seem to find them.

Hosts: Poplar trees

 Chaitophorus Sp 1:

I found some aphids near Jenks Lake which don't seem to fit in any key. They must be an undescribed species

Hosts: Willows

 Chaitophorus sp 2:

A batch of aphids I found in the Angeles National Forest but have not managed to identify to species.

Hosts: Willows

 Chaitophorus sp 3:

Another batch of aphids I found in the Angeles National Forest but have not managed to identify to species.

Hosts: Willows

 Chaitophorus sp 4:
Some aphids I found in Diamond Bar but have not managed to identify to species.

Hosts: Willows


Diuraphis noxia:

Russian Wheat aphids are easily identified by what looks like a second tail.

Hosts: Many grasses, I found them on wall barley Hordeum murinum


Dysaphis apiifolia:

A small aphid resembling an Aphis.

Host: Fennel and other carrot family members.


Eulachnus (agilis?):

This is a complicated genus which I need to do some research on. I only have found records of two species in the Eulachnus genus in California. If these are the two species I am finding than this one is E. agilis. Unfortunately it sounds like this genus is a mess, so confirming that will take some work:

Host: Pine trees

Eulachnus (rileyi?):

There is a very common species on pines in Southern California which sure looks like E. rileyi to me. However I have yet to be able to complete a key to identify one of these so given the complexity of the genus it may well be something else.

Host: Pine trees


 Essigella: (californica?)
Like Eulachnus this is another genus of aphids on pines which I need to give some more thought to. The genus can be easily enough identified because of the 5 segment antennas rather than the 6 segmented antenna of Eulachnus

Hosts: Pine Trees


Eucarazzia elegans:
This is an oddball aphid which was relatively easily identified despite the fact I found it on a less than typical host.

Hosts: I found a group of them on a California Fuschia.


Greenidea (ficicola?):
The hairy siphinculi on this species makes it relatively easy tell from other aphids. I haven't done enough research to be certain there are not others in the genus, but as best I can tell this one is correct.

Hosts: Ficus trees

Greenidea psidii:
The hairy siphinculi on this species makes it relatively easy tell from other aphids. I haven't done enough research to be certain there are not others in the genus, but as best I can tell this one is correct.

Hosts: Melaleuca quinquenervia


Hyperomyzus lactucae:
This is one of the most easily found aphids in Southern California. They are very common on sow thistle (Sonchus) plants which are a very common weed. The problem is that despite being common they are pretty difficult to tell from other members of the genus. In particular Hyperomyzus carduellinus is difficult to rule out. At the moment all the aphids in this genus I have investigated have been either inconclusive or Hyperomyzus lactucae though. So maybe that is the only species we have here.

Hosts: Sow thistles (Sonchus)


Hysteroneura setariae
Resembling yet another black Aphis, this is one of the more common aphids on grass. The pale sections on the antenna, tibae and cauda make this surprisingly easy to identify

Hosts: A wide variety of grasses. I have found this most consistently on Bermuda Grass but it is not uncommon on other species such as Schismus


Illinoia liriodendri
Not a typical aphid of California but I found some on a Tulip Tree in a park.

Hosts Tulip tree (Liriodendron tulipifera)


Lipaphis pseudobrassicae
A common aphid on many mustard plants, often hiding among flowers. Somewhat resembles cabbage aphids but has less wax

Mustards, particularly shortpod mustard (Hirschfeldia incana)


 Macrosiphoniella ludovicianae
A difficult to identify inhabitant of Artemisia plants.

Hosts: I have found them on California mugwort(Artemisia douglasiana), they should be present on other members of the genus.

Macrosiphoniella glabra
Another difficult to identify inhabitant of Artemisia plants.

Hosts: I have found them on taragon (Artemisia dracunculus), they should be present on other members of the genus.


Macrosiphum californicum
Unusual for willow aphids that there do not appear to be a ton of look-alikes(or if there are they are currently undescribed)so it is relatively easily identified.

Hosts: Willows

 Macrosiphum euphorbiae
If you search for Aphids in Southern California you quickly get tired of seeing yet another potato aphid. They inhabit a great many plants in huge numbers.

Hosts: I have found them on roses, prickly lettuce (lactuca serriola) sow thistles (sonchus), fleabanes (erigeron), orange bush monkeyflowers (mimulus aurantiacus), and white sage (Salvia apiana). Which pretty much means they eat anything.

Macrosiphum gaurae
A large aphid on primroses. Can be separated from M. euphorbiae by the additional dark on the siphinculi.

Hosts: I found it on Oenothera elata, it should be present on other primroses.

Macrosiphum rosae
One of the more common aphids on roses, lots of look-alikes but I believe they can usually be picked out due to the long dark siphunculi.

Hosts: Roses

Macrosiphum salviae
As far as I can tell I am the only one to have reported this aphid in California. The large dark patch on the back may be distinctive.

Hosts: Salvia greggii


Melanaphis donacis
A common and easily identified aphid on giant reeds.

Hosts: Giant reed, (Arundo donax)


 Metopolophium dirhodum

I will have to learn to pay attention to potato aphids on roses to make sure I don't confuse this one. They appear to typically be lighter colored than potato aphids.

Hosts: I have seen rose grain aphids on grasses. Presumably they also can be found on roses.


Mindarus Sp.
Relatively found on white fir plants because of the curling of newly grown in leaves they cause. They proved to be very difficult to get to species.

Hosts: I always found on white fir (Abies concolor)


Myzocallis longirostris
As best I can tell, this species was apparently previously unreported in California. That means it is pretty likely I misidentified it. It did seem to key out to this species though.

Hosts: Coast Live Oak

Myzocallis punctata
One of the more brightly colored aphids. Supposedly there are some look-alikes but I haven't really researched the genus.

Hosts: Oaks

Myzocallis sp.
A drab aphid which proved incredibly difficult to get to species. I may try again once I finish some microscope upgrades.

Hosts: Oaks


Myzus persicae
Green peach aphids, another weedy aphid present on a wide variety of hosts
Hosts: I most often find these on the leaves of mustard plants. I have also found on Vinca major.


Neophyllaphis (varicolor?)
Before doing this I failed entirely to grasp the transient nature of aphids. When I found this species in August they were ridiculously common. Then they disappeared within a few weeks of my seeing them and I have not seen them again.

Hosts: Afrocarpus falcatus. Although they must go somewhere when it isn't August...


Neosymydobius (paucisetosus?)
I came to the conclusion this is N. paucisetosus, or it seemed to key out correctly but any time a species is previously unphotographed it is hard.

Hosts: Oaks


Neotoxoptera formosana 
Late the last few winters a plague of these descended on my onions. They seem to disappear by late spring.

Hosts: Onions and chives


Pterocomma Sp.
Now that I know a bit more about aphids I will have to track down this genus and try again to identify to species. Thus far I have failed to identify one though.

Hosts: Willows


Pleotrichophorus gnaphalodes
A hairy white aphid which I suspect is rather common and easily identified on California mugwort.

Hosts: California mugwort(Artemisia douglasiana)

Pleotrichophorus oestlundii
A well camouflaged species which can be found on Goldenbush plants.

Hosts: Ericameria

Pleotrichophorus stroudi
Another species of green Pleotrichophorus which are somewhat difficult to identify.

Hosts: Ericameria


Pterocallis alni
A small aphid resembling a chaitophorous species. Sometimes it is present in large numbers on alders in canyons. I found it on an alder in a park. The dark spots on the legs make it straight forward to identify.

Hosts: Alders


Rhopalosiphum (maidis?)
I found some grass aphids and completely failed to key them out. Looking at pictures of R. maidis it seems like they must be R. maidis though.

Hosts: I found it on a grass in the genus Phalaris, but it should be on many other types of grass.

(Rhopalosiphum nymphaeae?)
Often I find aphids after I get home. This aphid hiding on duckweed was one of them. A shame I didn't see it in the field or I would have got better photos.

Hosts: Duckweed

Rhopalosiphum padi
As far as I can tell this is one of the more common and easily identified of aphids on grass. The rust color around the siphunculi stands out a lot.

Hosts: Grasses and similar monocots. Hordeum murinum and Iris are two examples.


Sarucallis kahawaluokalani 
In the running for the hardest aphid name to say. Luckily it is about the easiest aphid to find and identify. Find a crape-myrtle tree. This isn't hard, you probably see a hundred trees a day as they are such commonly planted street trees. Look under a couple of leaves. There, you found it.

Hosts: Crape myrtle (Lagerstroemia indica)


Schizolachnus sp.
Did I mention pine aphids were hard?

Hosts: Pines


Sipha flava 
Much less common than Sipha maydis, but also occassionally found on grasses.

Hosts: Grasses.

Sipha maydis 
A recent introduction to Southern California which is now one of the most common aphids on grasses. As it is so common on many of the most invasive grasses this one may actually be having a real ecological impact.

Hosts: Grasses. I have found it on many common grasses such as Hordeum murinum Avena barbata and Bromus diandrus


Sitobion avenae
There are two common dark green aphids on grasses. This one can be separated from S. fragariae because of the long cauda.

Hosts: I have found on Avena fatua should be present on other grasses.

Sitobion fragariae 
Another generic green aphid. Commonly found hiding among grass seeds. Can be separated from S. avenae because of the short cauda compared to the siphunculi.

Hosts: I have found on Hordeum murinum should be on other grasses.


Stegophylla (essigi?)
This aphid can be commonly found on live oak trees by looking for either white fluff on the leaves or folded up leaves. I haven't been able to solidly confirm species, but it is probably S. essigi.

Hosts: Oaks


Tamalia Sp. 
These are what make the red galls on Manzanita plants. Almost all the Tamalia on iNaturalist are marked as Tamalia coweni. In parts of the state this might be accurate, but I suspect many are other members of the genus in many of those galls. If you find these, try to get a picture of the actual aphid, not just the gall.

Hosts: Manzanita


Therioaphis trifolii 
These have been present in my back yard for some time. They hide under clover leaves. Despite a lot of looking I have yet to see any on clover plants not in my yard.

Hosts: Clover


Tinocallis saltans

Surprise! Another aphid!

Hosts: Siberian elm, Ulmus pumila.

Tinocallis (ulmiparvifoliae?)
This is a common aphid in urban areas. It only has a winged form. I believe the bumps and markings on its head and thorax make it T. ulmiparvifoliae but I don't know the genus well.

Hosts: Elms. The type you usually find in parks in Southern California.


Uroleucon ambrosiae
One of the red aphids that can be found on top of mule fat plants. Apparently there is some controversy as to whether this species actually inhabits plants other than ragweed, but it sure seemed to key out to this.

Hosts: Mule Fat

Uroleucon erigeronense

Looking suspiciously like potato aphids, these are supposed to be common on plants of the sunflower family.

Hosts: Telegraphweed (Heterotheca grandiflora)

Uroleucon picridis
Apparently both U. picridis and U. sonchi live on bristly ox tongue. Every time I find them though they seem to key out to U. picridis.

Hosts: Bristly ox tongue (Helminthotheca echioides)

Uroleucon sonchi 
There are supposed to be a great many Uroleucon species present on sow thistle. I often think I found a new one of them. Thus far every single one has been U. sonchi on closer examination.

Hosts: Sow thistles.

Uroleucon Sp. 
This species was very common northwest of Palm Springs on Brittlebush plants. At the time I was not up to the task of identifying it beyond genus but I will have to try again next spring. 

Hosts: Encelia farinosa


Wahlgreniella nervata

These have been on the tree in my front yard for a couple years now. They seem to come in waves where sometimes I can hardly find them and other times they are everywhere. Somewhat unusual in having two color forms.

Apparently species are poorly understood in this genus so the identification is somewhat tenuous.

Very common on Arbutus trees and can occasionally be found on roses.

Posted on December 09, 2017 06:58 by glmory glmory | 16 comments | Leave a comment