Calculation Variable Prinhead Resolution

Possible Resolutions

$ if(pixel_{offset} * \frac{dpi_{img}}{dpi_{ph}} = integer)$


In [94]:
import math
def calc_possible_dpi(interline_gaps, dpi_ph, ph_type):
  possible_dpi = []  # dpi
  for dpi_img in range(1,3000): # dpi
    dpi_possible   = True
    for interlinegap in interlinegaps:
      mult_int    = int(interlinegap*(dpi_img/dpi_ph))
      mult_double = interlinegap*(dpi_img/dpi_ph)
      if (mult_double - mult_int) > 0:
        dpi_possible = False
    if dpi_possible:
      possible_dpi.append(dpi_img)

  print("Possible Resolutions of {}".format(ph_type))
  print("dpi_img | dpi_img/dpi_ph")
  for dpi_img in possible_dpi:
    check_mod_2 = fmod((dpi_img/dpi_ph),(9.765625e-4))
    if check_mod_2 == 0:
      print("{:7} | {:14}   <--- Possible in FPGA".format(dpi_img,dpi_img/dpi_ph))
    else:
      print("{:7} | {:14}".format(dpi_img,dpi_img/dpi_ph))

KM1024i


In [95]:
interlinegaps = [12,28,40] # px
dpi_ph = 360.0             # dpi
calc_possible_dpi(interlinegaps, dpi_ph, "Konica Minolta KM1024i")


Possible Resolutions of Konica Minolta KM1024i
dpi_img | dpi_img/dpi_ph
     90 |           0.25   <--- Possible in FPGA
    180 |            0.5   <--- Possible in FPGA
    270 |           0.75   <--- Possible in FPGA
    360 |            1.0   <--- Possible in FPGA
    450 |           1.25   <--- Possible in FPGA
    540 |            1.5   <--- Possible in FPGA
    630 |           1.75   <--- Possible in FPGA
    720 |            2.0   <--- Possible in FPGA
    810 |           2.25   <--- Possible in FPGA
    900 |            2.5   <--- Possible in FPGA
    990 |           2.75   <--- Possible in FPGA
   1080 |            3.0   <--- Possible in FPGA
   1170 |           3.25   <--- Possible in FPGA
   1260 |            3.5   <--- Possible in FPGA
   1350 |           3.75   <--- Possible in FPGA
   1440 |            4.0   <--- Possible in FPGA
   1530 |           4.25   <--- Possible in FPGA
   1620 |            4.5   <--- Possible in FPGA
   1710 |           4.75   <--- Possible in FPGA
   1800 |            5.0   <--- Possible in FPGA
   1890 |           5.25   <--- Possible in FPGA
   1980 |            5.5   <--- Possible in FPGA
   2070 |           5.75   <--- Possible in FPGA
   2160 |            6.0   <--- Possible in FPGA
   2250 |           6.25   <--- Possible in FPGA
   2340 |            6.5   <--- Possible in FPGA
   2430 |           6.75   <--- Possible in FPGA
   2520 |            7.0   <--- Possible in FPGA
   2610 |           7.25   <--- Possible in FPGA
   2700 |            7.5   <--- Possible in FPGA
   2790 |           7.75   <--- Possible in FPGA
   2880 |            8.0   <--- Possible in FPGA
   2970 |           8.25   <--- Possible in FPGA

KM1024


In [96]:
interlinegaps = [20] # px
dpi_ph = 360.0       # dpi
calc_possible_dpi(interlinegaps, dpi_ph, "Konica Minolta KM1024")


Possible Resolutions of Konica Minolta KM1024
dpi_img | dpi_img/dpi_ph
     18 |           0.05
     36 |            0.1
     54 |           0.15
     72 |            0.2
     90 |           0.25   <--- Possible in FPGA
    108 |            0.3
    126 |           0.35
    144 |            0.4
    162 |           0.45
    180 |            0.5   <--- Possible in FPGA
    198 |           0.55
    216 |            0.6
    234 |           0.65
    252 |            0.7
    270 |           0.75   <--- Possible in FPGA
    288 |            0.8
    306 |           0.85
    324 |            0.9
    342 |           0.95
    360 |            1.0   <--- Possible in FPGA
    378 |           1.05
    396 |            1.1
    414 |           1.15
    432 |            1.2
    450 |           1.25   <--- Possible in FPGA
    468 |            1.3
    486 |           1.35
    504 |            1.4
    522 |           1.45
    540 |            1.5   <--- Possible in FPGA
    558 |           1.55
    576 |            1.6
    594 |           1.65
    612 |            1.7
    630 |           1.75   <--- Possible in FPGA
    648 |            1.8
    666 |           1.85
    684 |            1.9
    702 |           1.95
    720 |            2.0   <--- Possible in FPGA
    738 |           2.05
    756 |            2.1
    774 |           2.15
    792 |            2.2
    810 |           2.25   <--- Possible in FPGA
    828 |            2.3
    846 |           2.35
    864 |            2.4
    882 |           2.45
    900 |            2.5   <--- Possible in FPGA
    918 |           2.55
    936 |            2.6
    954 |           2.65
    972 |            2.7
    990 |           2.75   <--- Possible in FPGA
   1008 |            2.8
   1026 |           2.85
   1044 |            2.9
   1062 |           2.95
   1080 |            3.0   <--- Possible in FPGA
   1098 |           3.05
   1116 |            3.1
   1134 |           3.15
   1152 |            3.2
   1170 |           3.25   <--- Possible in FPGA
   1188 |            3.3
   1206 |           3.35
   1224 |            3.4
   1242 |           3.45
   1260 |            3.5   <--- Possible in FPGA
   1278 |           3.55
   1296 |            3.6
   1314 |           3.65
   1332 |            3.7
   1350 |           3.75   <--- Possible in FPGA
   1368 |            3.8
   1386 |           3.85
   1404 |            3.9
   1422 |           3.95
   1440 |            4.0   <--- Possible in FPGA
   1458 |           4.05
   1476 |            4.1
   1494 |           4.15
   1512 |            4.2
   1530 |           4.25   <--- Possible in FPGA
   1548 |            4.3
   1566 |           4.35
   1584 |            4.4
   1602 |           4.45
   1620 |            4.5   <--- Possible in FPGA
   1638 |           4.55
   1656 |            4.6
   1674 |           4.65
   1692 |            4.7
   1710 |           4.75   <--- Possible in FPGA
   1728 |            4.8
   1746 |           4.85
   1764 |            4.9
   1782 |           4.95
   1800 |            5.0   <--- Possible in FPGA
   1818 |           5.05
   1836 |            5.1
   1854 |           5.15
   1872 |            5.2
   1890 |           5.25   <--- Possible in FPGA
   1908 |            5.3
   1926 |           5.35
   1944 |            5.4
   1962 |           5.45
   1980 |            5.5   <--- Possible in FPGA
   1998 |           5.55
   2016 |            5.6
   2034 |           5.65
   2052 |            5.7
   2070 |           5.75   <--- Possible in FPGA
   2088 |            5.8
   2106 |           5.85
   2124 |            5.9
   2142 |           5.95
   2160 |            6.0   <--- Possible in FPGA
   2178 |           6.05
   2196 |            6.1
   2214 |           6.15
   2232 |            6.2
   2250 |           6.25   <--- Possible in FPGA
   2268 |            6.3
   2286 |           6.35
   2304 |            6.4
   2322 |           6.45
   2340 |            6.5   <--- Possible in FPGA
   2358 |           6.55
   2376 |            6.6
   2394 |           6.65
   2412 |            6.7
   2430 |           6.75   <--- Possible in FPGA
   2448 |            6.8
   2466 |           6.85
   2484 |            6.9
   2502 |           6.95
   2520 |            7.0   <--- Possible in FPGA
   2538 |           7.05
   2556 |            7.1
   2574 |           7.15
   2592 |            7.2
   2610 |           7.25   <--- Possible in FPGA
   2628 |            7.3
   2646 |           7.35
   2664 |            7.4
   2682 |           7.45
   2700 |            7.5   <--- Possible in FPGA
   2718 |           7.55
   2736 |            7.6
   2754 |           7.65
   2772 |            7.7
   2790 |           7.75   <--- Possible in FPGA
   2808 |            7.8
   2826 |           7.85
   2844 |            7.9
   2862 |           7.95
   2880 |            8.0   <--- Possible in FPGA
   2898 |           8.05
   2916 |            8.1
   2934 |           8.15
   2952 |            8.2
   2970 |           8.25   <--- Possible in FPGA
   2988 |            8.3

Ricoh Gen5


In [97]:
interlinegaps = [13,279,292] # px
dpi_ph = 600.0               # dpi
calc_possible_dpi(interlinegaps, dpi_ph, "Ricoh GEN5")


Possible Resolutions of Ricoh GEN5
dpi_img | dpi_img/dpi_ph
    600 |            1.0   <--- Possible in FPGA
   1200 |            2.0   <--- Possible in FPGA
   1800 |            3.0   <--- Possible in FPGA
   2400 |            4.0   <--- Possible in FPGA

Kyocera KJ4B


In [98]:
interlinegaps = [0,20,70,80,90,100,150,160,170,180,220,230,240,250,260,300,310,320,330,380,390,400,410,460,480] # px
dpi_ph = 600.0               # dpi
calc_possible_dpi(interlinegaps, dpi_ph, "Kyocera KJ4B")


Possible Resolutions of Kyocera KJ4B
dpi_img | dpi_img/dpi_ph
     60 |            0.1
    120 |            0.2
    180 |            0.3
    240 |            0.4
    300 |            0.5   <--- Possible in FPGA
    360 |            0.6
    480 |            0.8
    540 |            0.9
    600 |            1.0   <--- Possible in FPGA
    720 |            1.2
    780 |            1.3
    900 |            1.5   <--- Possible in FPGA
    960 |            1.6
   1020 |            1.7
   1080 |            1.8
   1140 |            1.9
   1200 |            2.0   <--- Possible in FPGA
   1260 |            2.1
   1440 |            2.4
   1500 |            2.5   <--- Possible in FPGA
   1560 |            2.6
   1740 |            2.9
   1800 |            3.0   <--- Possible in FPGA
   1860 |            3.1
   1920 |            3.2
   1980 |            3.3
   2040 |            3.4
   2100 |            3.5   <--- Possible in FPGA
   2160 |            3.6
   2220 |            3.7
   2280 |            3.8
   2340 |            3.9
   2400 |            4.0   <--- Possible in FPGA
   2520 |            4.2
   2580 |            4.3
   2700 |            4.5   <--- Possible in FPGA
   2820 |            4.7
   2880 |            4.8