Skip to content

lithosim.sim(image) returns near-zero values instead of expected aerial/printed intensities #8

@thomashirtz

Description

@thomashirtz

Description

I cloned the lithobench repository, created a fresh virtual environment, installed all requirements, and ran the example script without modifying any code. While calling the module via lithosim(image) output low uniform values, calling lithosim.sim(image) produces what seems to be the right image, but with extremely low values (max aerial ≈2.5e-14, max printed ≈1.3e-5), which seems incorrect.

Image


Inside \lithobench\pylitho\exact.py :

 if __name__ == "__main__":
     import pycommon.glp as glp

     lithosim = LithoSim("./config/lithosimple.txt")
     image = glp.Design("./benchmark/ICCAD2013/M1_test1.glp").image()
     image = torch.tensor(image > 0.0, dtype=REALTYPE, device=DEVICE)
     printed = lithosim.sim(image)

     aerialNom, aerialMax, aerialMin, printedNom, printedMax, printedMin = lithosim.sim(image)
     print(aerialNom.min(), aerialNom.max(), printedNom.max(), printedNom.min())
     # tensor(1.0319e-19) tensor(2.4753e-14) tensor(1.3007e-05) tensor(1.3007e-05)

     import matplotlib.pyplot as plt

     plt.subplot(1, 2, 1)
     plt.imshow(image.detach().cpu().numpy())
     plt.subplot(1, 2, 2)
     plt.imshow(printed[0].detach().cpu().numpy())
     plt.show()

Expected Behavior

  • Both lithosim(image) and lithosim.sim(image) should return aerial and printed intensity maps with realistic dynamic range (e.g. values on the order of 0–1 after sigmoid for printed output, and non-zero aerial values). The aerial values do not seem to be high enough to trigger the sigmoid.

Actual Behavior

  • lithosim(image) return uniform image of value ≈1.3e-5.
  • lithosim.sim(image) returns the right shape but with values that are effectively zero.

Thank you for your help!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions