Atalasoft
Welcome to Atalasoft Community Sign in | Join | Help
in

Atalasoft Staff Blog

This is where Atalasoft Staff members will post on topics such as new KB articles, Demos, sample code, or just Atalasoft Information.

  • More TechEd 2007 - We Made It Onto the Virtual TechEd Site

    The Virtual TechEd camera crew was walking around and documenting the giveaways and other schwag available on the show room floor. The video crew ended up featuring schwag from only about 10 exhibitors out of the hundreds who were at the show and Atalasoft was one of them.

    Here's link to the video [Atalasoft appears at 2:10 into the video]

    Microsoft also had this terrifying crew of marauding Office, Webcast, MSDN, and other characters on the show floor:



    Here I am attempting to pay off one of the characters to leave us alone:


     

  • TechEd 2007 - Pics and Vids of our Zune Giveaways - Antics in Orlando

    TechEd 2007 in Orlando was a great success for Atalasoft. We had a great time showing off our new demos; meeting with customers/the media/other vendors; initiating our new Marketing & Business Development Associate, Eric, into the endurance sport known as trade shows; handing out our cool schwag which inluded our trademark squeeze balls and the newest edition of our Atalasoft shirt (.NET Imaging with Muscle); and handing out a Zune a day to someone found wearing our t-shirt on the showroom floor.

    At an undetermined and totally random time each day I would hop on to our tricked out Atalasoft Razor scooter and head out onto the showroom floor to look for our t-shirt. Here's the first handout video from Day 2 of TechEd 2007

    Here's a pic of our 1st Zune winner, Nate:


    Oh, and here are some ducks at the Hotel Peabody

    On Wednesday, Day 3 of the show, we did manage to find Jerritt hanging around our booth, seeing if we had given the Zune away. Here's the video.

    Here he is, our 2nd Zune winner, Jerritt:



    By day 4, it was getting tougher to find folks with our t-shirts on. We had given away 500 but there were over 12,000 people at TechEd so the few of our shirts that were worn on the 4th day of the show were a drop in the bucket. But I did, eventually find someone. Here is the 2nd part of my search for our 3rd Zune winner.

    James walked away with a Zune on the last day of the expo at TechEd:

     
    We want to thank everyone who did visit us and those of you who wore your t-shirts, thank you - please visit us again at the next show.

  • Lunchtime Office Bike Loop Makes it on Outdoor Life Network (OLN) Website

    Most of our office is fairly active and everyone here definitely enjoys our location in the Pioneer Valley of Massachusetts. I particularly love where I work and try to explore our environs as often as possible. While watching the Tour de France this year I noticed a promo spot urging people to submit their favorite "tours" so I submitted my favorite lunchtime loop that involved a quick climb over the ridge of rock, called Mt. Tom, that picturesquely looms to the south of our offices here in Easthampton. I was pleased to receive notice today that the broadcaster of the Tour de France, OLN, had included my ride on their website on the last day of the Tour de France.

    Feel free to click the link and scroll down to the bottom of the page to see my description of the ride as well as some photos featuring the view from our office, a shot of Eastworks (our office location), as well as several shots of the ride as one would see it from the road. Here it is: Tour de Mt. Tom

  • Printing a Page Range

    I have written a new KB article that explains (with sample code) the steps needed to print a range of pages.  This is a common task, which is fairly easy to accomplish with DotImage or DotAnnotate.

    http://www.atalasoft.com/kb/article.aspx?id=10140

  • KB article on Large Tiff Images

    A question came up in the forums today about how to view a Tiff image that is too large to be opened by DotImage.  It is possible to do this because we have a ReadRegion method that will decode only a portion of the image data.  I wrote some sample code that shows how to do this.

    Basically we can decode the image one section at a time, resample that section, then move on to the next section.  When we finish with the image, the final size is easily handled by DotImage.

    The issue of large image support is always being talked about, and we can only hope that it actually gets added one day ...

    Here's the link:  http://www.atalasoft.com/kb/article.aspx?id=10139

  • Extensibility with DotImage

    In this entry I will describe some recent changes that were made to our PDF Demo.  The new code is available in the latest version of DotImage.

    I recently came across the question of how to save a PDF image using Jpeg2000 or Jbig2 compression.  This is a simple task to accomplish with our PDF encoder, but perhaps not all that obvious.  Instead of just quickly answering the question and moving on, I decided to add this ability to the PDF demo program thats installed with DotImage.  This demo doesn't contain a whole lot of features so this would be a nice addition. 

    Here is a little information about how our PDF encoder works.  To save a single image, you can simply pass the encoder one of our AtalaImage objects, but for multiple pages we have two options.  The first option is to pass it an ImageCollection object, which is *surprise* a collection of AtalaImage objects.  Using this method doesn't allow for any control over pdf specific options, such as compression type, this is what the second method is for.  This method is to pass a PdfImageCollection object (a collection of PdfImage objects) to the encoder.  The great thing about this is that each PdfImage has a property called Compression, which can be set to a different compression type for each page in the pdf.  The downside to this method is that it requires some extra knowledge about the PDF encoder to select different compressions, which I didn't want because I would like to keep the demo simple.

    So now the question comes up, how to add the feature.  I didn't want to alter the existing demo code too much, and I wanted to make this feature easy to understand and use.  Intuitively, the process of compressing the image data is in the encoder class, but our encoder (class 'PdfEncoder') doesn't have the ability to set the type of compression.  The compression type is a property of each page (class 'PdfImage') individually.  I had this idea in my head that I did not  want the demo code to change the way it uses the PdfEncoder, but I wanted to be able to save Pdf files using Jpeg2000 or Jbig2 compression.

    One great thing about the demo is that we have a property window that allows the user to select options for the encoder.  So, the solution I thought of was to use the existing properties window to choose the compression type.  The way I went about this is quite simple, just extend the existing PdfEncoder class.  I created two new properties to select Jpeg2000 or Jbig2 compression type, and added the appropriate code to do so.  Since our property window uses reflection to load all the properties, my additions are automatically added.  This is a great solution because all I did was add a new class to the project, and change the one line of code where the encoder is created.  I am really happy with this result because I don't have to change the demo code at all, and the UI remains in the exact same format.

  • Cleaning Up a Barcode Image

    Whenever a page is scanned into a digital format, there is inevitably some noise that will accompany the image data.  DotImage provides many ways to 'clean up' and image, especially a document (or 1-bit) image, but these methods are often overlooked.
     
    I came across an image of a barcode the other day, which needed to be cleaned up.  The barcode contained a good amount of noise and would not recognize correctly.  The background of the image was white and the barcode was black, a standard 1-bit image.  There was noise in the background in the form of little black specks, but the noise on the barcode was little white specks, since the barcode is black. 
     
    Naturally I thought to use our DocumentDespeckleCommand which got rid of the black specks very nicely.  Somewhat to my surprise this did not remove any of the white specks in the barcode.  After a moment I thought to myself, of course, the despeckle command is looking for BLACK specks, not white.  So then how do I get rid of the white specks?  Well this calls for a different method all together, possibly a lesser known command.
     
    The MorphoDocumentCommand can be used to apply a few different mathematical morphological operations to a binary image.  Morphological operations are used to change the form and structure of an object.  For a document image, we can think of the 'object' as the text contained in the image.  To clean up a barcode image, I used the 'Close' method.  This will have the effect of 'filling in' the white specks in the barcode.  Now I can recognize the barcode without a problem.
     
    Any document cleanup command will work best on an image that was scanned at a high resolution, and this is no exception.  So remember as a general rule, the more image data (number of pixels) you have, the better chance you have for cleaning up the image.







    Original Barcode

    Barcode after Morphological Close filter applied

  • Change or Remove the TIFF Software Tag

    DotImage will store the text "Atalasoft dotImage x.x.xxxx.xxxx" in the Software tag when saving TIFF files using the TiffEncoder.  A customer asked us the other day how to prevent DotImage from saving this tag.  While there is a way to prevent it (see below) the best solution is to save your own TIFF Tag.  To "prevent" the tag from saving you'll actually need to save a temporary file, then use TiffFile to remove the tag from the existing TIFF.  More information is located in the new knowledgebase article that was recently written.

    Future versions will hopefully allow you to modify this tag while encoding the image.

    For viewing TIFF Tags, you can use our metadata demo, or for a nice free program, try ASTiffTagViewer.