Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUG: Update ITK Image Writer to Use Atomic File API #918

Merged

Conversation

nyoungbq
Copy link
Contributor

@nyoungbq nyoungbq commented Apr 19, 2024

This PR standardizes the temporary file handling in ITK Image Writer to utilize the Atomic File API in order to work around systems with non-standard filesystem configurations.

The bug in question occurred when the user's system had their temporary directory mounted on a separate file system than the directory SIMPL Application was located at.

The bug was first discovered and reported by @maliesha95 in the following discussion:
BlueQuartzSoftware/DREAM3DNX-Issues#12
 

Naming Conventions

Naming of variables should descriptive where needed. Loop Control Variables can use i if warranted. Most of these conventions are enforced through the clang-tidy and clang-format configuration files. See the file simplnx/docs/Code_Style_Guide.md for a more in depth explanation.

Filter Checklist

The help file simplnx/docs/Porting_Filters.md has documentation to help you port or write new filters. At the top is a nice checklist of items that should be noted when porting a filter.

Unit Testing

The idea of unit testing is to test the filter for proper execution and error handling. How many variations on a unit test each filter needs is entirely dependent on what the filter is doing. Generally, the variations can fall into a few categories:

  • 1 Unit test to test output from the filter against known exemplar set of data
  • 1 Unit test to test invalid input code paths that are specific to a filter. Don't test that a DataPath does not exist since that test is already performed as part of the SelectDataArrayAction.

Code Cleanup

  • No commented out code (rare exceptions to this is allowed..)
  • No API changes were made (or the changes have been approved)
  • No major design changes were made (or the changes have been approved)
  • Added test (or behavior not changed)
  • Updated API documentation (or API not changed)
  • Added license to new files (if any)
  • Added example pipelines that use the filter
  • Classes and methods are properly documented

@nyoungbq nyoungbq requested a review from imikejackson April 19, 2024 13:45
@nyoungbq nyoungbq force-pushed the bug/itk_image_writer branch 2 times, most recently from 1870664 to ec10f0c Compare April 19, 2024 19:53
@imikejackson imikejackson force-pushed the bug/itk_image_writer branch from ec10f0c to baf8afd Compare April 22, 2024 13:20
@imikejackson imikejackson merged commit ec16b6b into BlueQuartzSoftware:develop Apr 22, 2024
8 checks passed
@imikejackson imikejackson deleted the bug/itk_image_writer branch April 22, 2024 13:22
imikejackson pushed a commit to imikejackson/simplnx that referenced this pull request Oct 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants