Pylinac Versions Save

An image analysis library for medical physics

v2.4.0.4

3 years ago

v1.5.0.1

8 years ago

v1.4.0

8 years ago

See changelog for details.

v1.3.0

8 years ago

Version 1.3 brings a new planar phantom image analysis class and some other changes. Read the changelog for more info.

v1.2.2

8 years ago

See the changelog for details.

v1.1.0

8 years ago

V 1.1.0 - 11/9/2015

This release debuts the new Winston-Lutz module, which easily loads any number of EPID images, finds the field CAX and the BB, and can plot various metrics. See the full docs for more info: http://pylinac.readthedocs.org/en/latest/winston_lutz.html

Log Analyzer

-Logs can now be anonymized using the .anonymize() method for both MachineLog and MachineLogs. -The .to_csv() methods for MachineLog and MachineLogs returns a list of the newly created files. -MachineLogs can now load from a zip archive using .from_zip().

v1.0.0

8 years ago
Overview

-This release debuts the new interactive plotting for certain figures. Quickly, matplotlib line/bar plots (althouth not yet images/arrays) can be plotted and saved in HTML using the MPLD3 library. This is less of interest to users doing interactive work, but this adds the ability to embed HTML plots in web pages. -Several numpy array indexing calls were converted to ints from floats to avoid the new 1.9 numpy type-casting warnings. This also speeds up indexing calls slightly.

Picket Fence

-The analyzed image now has the option of showing a leaf error subplot beside the image. The image is aligned to the image such that the leaves align with the image.

Starshot

-Plotting the analyzed starshot image now shows both the zoomed-out image and a second, zoomed-in view of the wobble. -Each subplot can be plotted and saved individually.

VMAT

-Plotting the analyzed image now shows the open and dmlc images and the segment outlines as well as a profile comparison between the two images. Each subplot can also be plotted and saved individually. -MLCS is no longer a test option; DRMLC should be used instead.

v0.8.0

8 years ago

V 0.8.0 - 7/28/2015

Overview

There are 2 significant highlights for the v0.8.0 package: -An upgrade for the robustness of the package. A LOT of test images were added for the Starshot, CBCT, PicketFence, and VMAT modules and numerous bugs were caught and fixed in the process. -The debut of the "directory watcher". Run this script to tell pylinac to watch a directory; if a file with certain keywords is placed in the directory, pylinac will analyze the image and output the analyzed image and text file of results in the same directory.

General

-A generic troubleshooting section has been added to the documentation, and several modules have specific troubleshooting sections to help identify common errors and how to fix them.

VMAT

-Added a from_zip() and load_zip() method to load a set of images that are in a zip file. -Added an x_offset parameter to analyze() to make shifting segments easier.

PicketFence

-Fixed #30, which wasn't catching errors on one side of the pickets, due to a signed error that should've been absolute. -Two new parameters have been added to analyze(): num_pickets and sag_adjustment, which are somewhat self-explanatory. Consult the docs for more info.

Starshot

-Fixed #29, which was causing analysis to fail for images with a pin prick.

CBCT

-Fixed #28, which was applying the phantom roll adjustment the wrong direction.

v0.6.0.6

8 years ago

V 0.6.0 6/17/15

General
  • Pylinac now has a wheel variation. Installation should thus be quicker for users with Python 3.4.

  • Most main module classes now have a save method to save the image that is plotted by the plot method.

    Class-based Constructors

  • This release presents a normalized and new way of loading and initializing classes for the PicketFence, Starshot, VMAT and CBCT classes. Those classes all now accept the image path (folder path for CBCT) in the initialization method. Loading other types of data should be delegated to class-based constructors (e.g. to load a zip file into the CBCT class, one would use cbct = CBCT.from_zip_file('zfiles.zip')). This allows the user to both initialize and load the images/data in one step. Also prevents user from using methods before initialization (i.e. safer). See ReadTheDocs page for more info.

    Dependencies

  • Because the VMAT module was reworked and is now based on Varian specs, the pandas package will no longer be required. FutureWarnings have been removed.

    CBCT

  • Bug #18 is fixed. This bug did not account for slice thickness when determining the slice positions of the relevant slices.

  • Bug #19 is fixed. This bug allowed the loading of images that did not belong to the same study. An error is now raised if such behavior is observed.

  • Demo files are now read from the zipfile, rather than being extracted and then potentially cleaning up afterward. Behavior is now quicker and cleaner.

  • Individual plots of certain module/slices can now be done. Additionally, the MTF can be plotted.

  • The user can now adjust the relative position of the slice locations in the event the phantom is not set up to calibration conditions.

    Log Analyzer

  • Keys in the txt attr dict weren't stripped and could have trailing spaces. Keys are now stripped.

    VMAT

  • Ability to offset the segments has been added. Complete overhaul to conform to new Varian RapidArc QA specs. This includes the following:

  • Rather than individual samples, 4 or 7 segments are created, 5x100mm each.

  • Deviation is now calculated for each segment, based on the average segment value.

  • The DRMLC test has changed name to MLCS. E.g. passing a test should be: myvmat.analyze('mlcs'), not myvmat.analyze('drmlc'); the latter will still work but raises a future warning.

    Starshot

  • Fixed a bug where an image that did not have pixels/mm information would error out.

  • Added a tolerance parameter to the analyze method.