As engineers, we enjoy a challenge, especially when it’s something new! In general, we don’t like to turn customers away, and it’s rare for us to outright decline a project. Our business model has enough flexibility to allow both small and large projects. We do look for long-term partnerships with customers, and expect some level of follow-on business. Here are a few examples of custom solutions and a brief description of the business cases around them.
1. Image Optimization Algorithm
A common customization request we see is to alter an existing algorithm for our Genie camera. One of our customers developed a security application that acquired images outdoors. They explained that the images contained both very bright and very dark regions, but it was the middle-range of pixels that contained the most important information for their application. The scenes would be subject to a lot of movement and constant changes in brightness. They were concerned that those mid-range pixels would not have enough brightness and contrast because they would be affected by the two extremes.
In effect, our customer was looking for heightened functionality from what was a standard feature so we modified our auto-brightness function. And then? Instead of charging the customer who made the request, we realized all of our customers would benefit from the enhancement. It may have cost us a little time, but the benefit certainly outweighed the effort in this case.
2. RLE Algorithm for Data Reduction
Run-length encoding (RLE) is useful in situations where multiple pixels in a specific region of the image have the same value or, are above a given threshold. Instead of passing the value of each pixel to the host, RLE informs the software that from position ‘x’, the next 50 pixels, for example, have the same value. Instead of 50 pixel values, RLE encodes the information in a few bytes, reducing the amount of data transferred.
The technique has been used in a material inspection application, where a vision system guided a cutting head around imperfections in the material. In this application, the RLE was used to isolate specific regions in the image, reduce the amount of data required to represent those regions and pass only that information along to the host for further processing and mapping of the cut zones. We were able to use that same approach for a bio-medical application. The customer placed markers on a test subject in order to analyze the movement of the markers through the image data. The problem was, they wanted to use as many as ten GigE cameras on the same network. The challenge was to fit all that image data on a network with a 100MB/s bandwidth. Data reduction was the only way to do it. By modifying the camera’s firmware to use RLE, only data representing the position and shapes of the markers were sent to the host computer. It was very easy to implement because we had done it before – though for a very different market segment.
3. Image Compression Algorithm
On-camera image compression is another example of semi-custom functionality implemented for a specific customer. In this case the client wanted to use five cameras to inspect trains without having to slow them down. To accomplish this we needed to run all five cameras at 100 frames per second. The problem was, all that data represented too much bandwidth for a single GigE network. In order to get all of the image data through the same network connection, we added JPEG compression to the camera’s firmware. A feature now common to our latest Genie TS cameras.
4. Hardware Form Factor
Hardware customization is also possible. We’ve done mechanical and form factor changes, as well as sensor modifications like specialized coatings and filters. Like firmware customizations, these hardware solutions come about after discussions with customers. In one case, the customer had a system for calibrating color quality for print inspection. It started out as a custom processing project, but as it progressed, we learned that a change in form factor would help them out significantly. In the end, we gave them a flat camera by unfolding the PCBs and replacing a flexible interconnect with a rigid section of PCB. They never mentioned it before because they assumed we wouldn’t change the form factor. In this case, they were glad to be wrong. 🙂
5. Hardware Interface
Some customers run into obsolescence issues with third party vendors. When their supplier discontinues certain features in their next generation products like frame grabbers, they come to us. When this customer came to us, we had a frame grabber that was capable of doing the job—except the client’s existing product used cabling and connectors for another brand of frame grabber. Instead of turning them away, we modified the connectors and pin-outs on one of our standard frame grabbers, allowing seamless integration into the client’s existing product. Needless to say, the customer was very happy.
Your Wish List. The common thread that binds all semi-custom work is the communication between customer and vendor. We can’t stress the importance of open dialog. We are constantly developing our standard products, upgrading and optimizing our firmware—we often plan a year in advance, prioritizing our task list. We’ve had clients ask for something that’s already in the planning but perhaps a year off. If we know a client needs a change that’s already on our to-do list, and there is justification to do it sooner than planned, we will.
My advice to any customer seeking something beyond our published specifications is, ASK! Put your wish list together, compile a list of your dream features; you might be surprised by what is possible. And the old adage is especially true – if you don’t ask, you’ll never know – and in the case of a semi-custom solution? Neither will we.