Package org.jpedal.jbig2.segment.pattern

Examples of org.jpedal.jbig2.segment.pattern.PatternDictionarySegment


    return null;
  }

  public Segment findSegment(int segmentNumber) {
    for (Iterator it = segments.iterator(); it.hasNext();) {
      Segment segment = (Segment) it.next();
      if (segment.getSegmentHeader().getSegmentNumber() == segmentNumber) {
        return segment;
      }
    }

    return null;
View Full Code Here


    int[] referedToSegments = segmentHeader.getReferredToSegments();
    if (referedToSegments.length != 1) {
      System.out.println("Error in halftone Segment. refSegs should == 1");
    }

    Segment segment = decoder.findSegment(referedToSegments[0]);
    if (segment.getSegmentHeader().getSegmentType() != Segment.PATTERN_DICTIONARY) {
      if(JBIG2StreamDecoder.debug)
        System.out.println("Error in halftone Segment. bad symbol dictionary reference");
    }
   
    PatternDictionarySegment patternDictionarySegment = (PatternDictionarySegment) segment;
View Full Code Here

    int noOfPages = 0;

    List segments = getAllSegments();
    for (Iterator it = segments.iterator(); it.hasNext();) {
      Segment segment = (Segment) it.next();
      if (segment.getSegmentHeader().getSegmentType() == Segment.PAGE_INFORMATION)
        noOfPages++;
    }

    return noOfPages;
  }
View Full Code Here

      System.out.println("==== Segments ====");

    boolean finished = false;
    while (!reader.isFinished() && !finished) {

      SegmentHeader segmentHeader = new SegmentHeader();

      if (JBIG2StreamDecoder.debug)
        System.out.println("==== Segment Header ====");

      readSegmentHeader(segmentHeader);

      // read the Segment data
      Segment segment = null;

      int segmentType = segmentHeader.getSegmentType();
      int[] referredToSegments = segmentHeader.getReferredToSegments();
      int noOfReferredToSegments = segmentHeader.getReferredToSegmentCount();

      switch (segmentType) {
      case Segment.SYMBOL_DICTIONARY:
        if (JBIG2StreamDecoder.debug)
          System.out.println("==== Segment Symbol Dictionary ====");
View Full Code Here

  }

  public PageInformationSegment findPageSegement(int page) {
    for (Iterator it = segments.iterator(); it.hasNext();) {
      Segment segment = (Segment) it.next();
      SegmentHeader segmentHeader = segment.getSegmentHeader();
      if (segmentHeader.getSegmentType() == segment.PAGE_INFORMATION && segmentHeader.getPageAssociation() == page) {
        return (PageInformationSegment) segment;
      }
    }

    return null;
View Full Code Here

      case Segment.EXTENSION:
        if (JBIG2StreamDecoder.debug)
          System.out.println("==== Extensions ====");

        segment = new ExtensionSegment(this);

        segment.setSegmentHeader(segmentHeader);

        break;
View Full Code Here

    JBIG2Bitmap bitmap = new JBIG2Bitmap(regionBitmapWidth, regionBitmapHeight, arithmeticDecoder, huffmanDecoder, mmrDecoder);

    bitmap.readTextRegion(sbHuffman, symbolRefine, noOfSymbolInstances, logStrips, noOfSymbols, symbolCodeTable, symbolCodeLength, symbols, defaultPixel, combinationOperator, transposed, referenceCorner, sOffset, huffmanFSTable, huffmanDSTable, huffmanDTTable, huffmanRDWTable, huffmanRDHTable, huffmanRDXTable, huffmanRDYTable, huffmanRSizeTable, template, symbolRegionAdaptiveTemplateX, symbolRegionAdaptiveTemplateY, decoder);

    if (inlineImage) {
      PageInformationSegment pageSegment = decoder.findPageSegement(segmentHeader.getPageAssociation());
      JBIG2Bitmap pageBitmap = pageSegment.getPageBitmap();

      if (JBIG2StreamDecoder.debug)
        System.out.println(pageBitmap + " " + bitmap);

      int externalCombinationOperator = regionFlags.getFlagValue(RegionFlags.EXTERNAL_COMBINATION_OPERATOR);
View Full Code Here

      genericRegionAdaptiveTemplateX[1] = readATValue();
      genericRegionAdaptiveTemplateY[1] = readATValue();
    }

    if (noOfReferedToSegments == 0 || inlineImage) {
      PageInformationSegment pageSegment = decoder.findPageSegement(segmentHeader.getPageAssociation());
      JBIG2Bitmap pageBitmap = pageSegment.getPageBitmap();

      if (pageSegment.getPageBitmapHeight() == -1 && regionBitmapYLocation + regionBitmapHeight > pageBitmap.getHeight()) {
        pageBitmap.expand(regionBitmapYLocation + regionBitmapHeight, pageSegment.getPageInformationFlags().getFlagValue(PageInformationFlags.DEFAULT_PIXEL_VALUE));
      }
    }

    if (noOfReferedToSegments > 1) {
      if(JBIG2StreamDecoder.debug)
        System.out.println("Bad reference in JBIG2 generic refinement Segment");
     
      return;
    }

    JBIG2Bitmap referedToBitmap;
    if (noOfReferedToSegments == 1) {
      referedToBitmap = decoder.findBitmap(referedToSegments[0]);
    } else {
      PageInformationSegment pageSegment = decoder.findPageSegement(segmentHeader.getPageAssociation());
      JBIG2Bitmap pageBitmap = pageSegment.getPageBitmap();

      referedToBitmap = pageBitmap.getSlice(regionBitmapXLocation, regionBitmapYLocation, regionBitmapWidth, regionBitmapHeight);
    }

    arithmeticDecoder.resetRefinementStats(template, null);
    arithmeticDecoder.start();

    boolean typicalPredictionGenericRefinementOn = refinementRegionFlags.getFlagValue(RefinementRegionFlags.TPGDON) != 0;

    JBIG2Bitmap bitmap = new JBIG2Bitmap(regionBitmapWidth, regionBitmapHeight, arithmeticDecoder, huffmanDecoder, mmrDecoder);

    bitmap.readGenericRefinementRegion(template, typicalPredictionGenericRefinementOn, referedToBitmap, 0, 0, genericRegionAdaptiveTemplateX, genericRegionAdaptiveTemplateY);

    if (inlineImage) {
      PageInformationSegment pageSegment = decoder.findPageSegement(segmentHeader.getPageAssociation());
      JBIG2Bitmap pageBitmap = pageSegment.getPageBitmap();

      int extCombOp = regionFlags.getFlagValue(RegionFlags.EXTERNAL_COMBINATION_OPERATOR);

      pageBitmap.combine(bitmap, regionBitmapXLocation, regionBitmapYLocation, extCombOp);
    } else {
View Full Code Here

        bitmap.readBitmap(useMMR, template, typicalPredictionGenericDecodingOn, false, null, genericBAdaptiveTemplateX, genericBAdaptiveTemplateY, useMMR ? 0 : length - 18);
       
       
       
        if (inlineImage) {
            PageInformationSegment pageSegment = decoder.findPageSegement(segmentHeader.getPageAssociation());
            JBIG2Bitmap pageBitmap = pageSegment.getPageBitmap();

            int extCombOp = regionFlags.getFlagValue(RegionFlags.EXTERNAL_COMBINATION_OPERATOR);
           
            if(pageSegment.getPageBitmapHeight() == -1 && regionBitmapYLocation + regionBitmapHeight > pageBitmap.getHeight()) {
              pageBitmap.expand(regionBitmapYLocation + regionBitmapHeight,
                  pageSegment.getPageInformationFlags().getFlagValue(PageInformationFlags.DEFAULT_PIXEL_VALUE));
            }
           
            pageBitmap.combine(bitmap, regionBitmapXLocation, regionBitmapYLocation, extCombOp);
        } else {
      bitmap.setBitmapNumber(getSegmentHeader().getSegmentNumber());
View Full Code Here

      case Segment.PAGE_INFORMATION:
        if (JBIG2StreamDecoder.debug)
          System.out.println("==== Page Information Dictionary ====");

        segment = new PageInformationSegment(this);

        segment.setSegmentHeader(segmentHeader);

        break;
View Full Code Here

TOP

Related Classes of org.jpedal.jbig2.segment.pattern.PatternDictionarySegment

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.