You error, "Trying to get property of non-object", is probably coming from your call to $query->row(), because no result was returned. What you always need to do is test that a row was returned, like so:
PHP Code:
if( $query->num_rows() == 1 )
{
return $query->row();
}
return NULL;
As for the join, if images.image_name is the same as image_locator.img_loc1, then you're doing it right. It doesn't seem like you are though, as usually you will have an integer for a relationship between two tables, one being the index, and the other being the foreign key. This is just speculation though, as we have no idea about your table schemas.
Bhavesh could be right too though. PHP will always give you an error that has good debugging info, so use that to your advantage. If the line number in the error matches your call to the model, then Bhavesh is right. If the line number in the error message matches the line with $query->row(), then just do what I mentioned above.